From 135725e8fef115d6a013314abde58816bb20aeb3 Mon Sep 17 00:00:00 2001 From: Oliver Klee Date: Wed, 5 Mar 2025 10:12:37 +0100 Subject: [PATCH] [TASK] Extract value parsing functional tests (part 1) In the tests, we should test parsing and rendering separately as this makes debugging test failures a lot easier. Part of #1057 --- tests/Functional/Value/ValueTest.php | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tests/Functional/Value/ValueTest.php diff --git a/tests/Functional/Value/ValueTest.php b/tests/Functional/Value/ValueTest.php new file mode 100644 index 00000000..4d65ee2a --- /dev/null +++ b/tests/Functional/Value/ValueTest.php @@ -0,0 +1,45 @@ + + */ + private const DEFAULT_DELIMITERS = [',', ' ', '/']; + + /** + * @test + */ + public function parsesFirstArgumentInMaxFunction(): void + { + $parsedValue = Value::parseValue( + new ParserState('max(300px, 400px);', Settings::create()), + self::DEFAULT_DELIMITERS + ); + + self::assertInstanceOf(CSSFunction::class, $parsedValue); + $size = $parsedValue->getArguments()[0]; + self::assertInstanceOf(Size::class, $size); + self::assertSame(300.0, $size->getSize()); + self::assertSame('px', $size->getUnit()); + self::assertFalse($size->isColorComponent()); + } +}