<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="ProcessRuleShouldProcessElementTest" xsi:noNamespaceSchemaLocation="https://schema.phpcodesniffer.com/phpcs.xsd">

    <!--
    ################
    # Neither set. #
    ################
    -->
    <rule ref="Internal.NoCodeFound">
        <severity>0</severity>
        <message>We don't to be notified if files don't contain code</message>
    </rule>

    <rule ref="PSR1.Files.SideEffects">
        <severity>3</severity>
        <type>warning</type>
        <message>A different warning message</message>
    </rule>

    <rule ref="PSR1.Methods.CamelCapsMethodName">
        <include-pattern>./vendor/</include-pattern>
    </rule>

    <rule ref="PSR1.Classes.ClassDeclaration">
        <exclude-pattern>./tests/</exclude-pattern>
    </rule>

    <!-- Properties with neither set are tested in the SetSniffPropertyTest. -->

    <!--
    ###################
    # phpcs-only set. #
    ###################
    -->
    <rule ref="Generic.Metrics.CyclomaticComplexity">
        <severity phpcs-only="true">2</severity>
        <type phpcs-only="true">warning</type>
        <message phpcs-only="true">A different warning but only for phpcs</message>
    </rule>

    <rule ref="Generic.Files.LineLength">
        <include-pattern phpcs-only="true">./vendor/</include-pattern>
    </rule>

    <rule ref="Generic.Formatting.SpaceAfterCast">
        <exclude-pattern phpcs-only="true">./tests/</exclude-pattern>
    </rule>

    <rule ref="Generic.Arrays.ArrayIndent">
        <properties phpcs-only="true">
            <property name="indent" value="2"/>
        </properties>
    </rule>

    <!--
    ####################
    # phpcbf-only set. #
    ####################
    -->
    <rule ref="PSR2.Namespaces.NamespaceDeclaration">
        <severity phpcbf-only="true">4</severity>
        <type phpcbf-only="true">error</type>
        <message phpcbf-only="true">A different warning but only for phpcbf</message>
    </rule>

    <rule ref="PSR2.Files.ClosingTag">
        <include-pattern phpcbf-only="true">./vendor/</include-pattern>
    </rule>

    <rule ref="PSR2.Methods.FunctionClosingBrace">
        <exclude-pattern phpcbf-only="true">./tests/</exclude-pattern>
    </rule>

    <rule ref="PSR2.Classes.ClassDeclaration">
        <properties phpcbf-only="true">
            <property name="indent" value="2"/>
        </properties>
    </rule>

    <!--
    ####################
    # Property details. #
    ####################
    -->
    <rule ref="Generic.WhiteSpace.ScopeIndent">
        <properties>
            <property name="exact" value="true"/>
            <property phpcs-only="true" name="indent" value="2"/>
            <property phpcbf-only="true" name="tabIndent" value="true"/>

            <property name="ignoreIndentationTokens" type="array">
                <element value="T_COMMENT"/>
                <element phpcs-only="true" value="T_CLASS"/>
                <element phpcbf-only="true" value="T_ENUM"/>
            </property>

            <property name="ignoreIndentationTokens" type="array" extend="true">
                <element value="T_BACKTICK"/>
                <element phpcs-only="true" value="T_INTERFACE"/>
                <element phpcbf-only="true" value="T_TRAIT"/>
            </property>
        </properties>
    </rule>

</ruleset>
