From 5db2e8e08b08436014b0d26fd4a523be59136052 Mon Sep 17 00:00:00 2001 From: Anna Damm Date: Thu, 13 Jun 2024 18:49:12 +0200 Subject: [PATCH] add test case for test parser --- .../test/TestParser/ParsesTestsTest.php | 52 +++++++++++++++++++ .../integration/test/TestParser/TestClass.php | 31 +++++++++++ 2 files changed, 83 insertions(+) create mode 100644 tests/integration/test/TestParser/ParsesTestsTest.php create mode 100644 tests/integration/test/TestParser/TestClass.php diff --git a/tests/integration/test/TestParser/ParsesTestsTest.php b/tests/integration/test/TestParser/ParsesTestsTest.php new file mode 100644 index 00000000..ea8018f6 --- /dev/null +++ b/tests/integration/test/TestParser/ParsesTestsTest.php @@ -0,0 +1,52 @@ +classes(Selector::classname('1'))(); + $rule1->ruleName = TestClass::class . ':test_rules_from_iterator' . ':one'; + + $rule2 = PHPat::rule()->classes(Selector::classname('2'))(); + $rule2->ruleName = TestClass::class . ':test_rules_from_iterator' . ':two'; + + $rule3 = PHPat::rule()->classes(Selector::classname('3'))(); + $rule3->ruleName = TestClass::class . ':test_rule'; + + $rule4 = PHPat::rule()->classes(Selector::classname('4'))(); + $rule4->ruleName = TestClass::class . ':test_rule_from_attribute'; + + self::assertEquals([ + $rule1, + $rule2, + $rule3, + $rule4, + ], ($testParser)()); + } +} \ No newline at end of file diff --git a/tests/integration/test/TestParser/TestClass.php b/tests/integration/test/TestParser/TestClass.php new file mode 100644 index 00000000..14bfe799 --- /dev/null +++ b/tests/integration/test/TestParser/TestClass.php @@ -0,0 +1,31 @@ + */ + public function test_rules_from_iterator(): iterable + { + yield 'one' => PHPat::rule()->classes(Selector::classname('1')); + yield 'two' => PHPat::rule()->classes(Selector::classname('2')); + } + + public function test_rule(): Rule + { + return PHPat::rule()->classes(Selector::classname('3')); + } + + #[TestRule] + public function test_rule_from_attribute(): Rule + { + return PHPat::rule()->classes(Selector::classname('4')); + } +} \ No newline at end of file