Skip to content

Commit 8cd4f40

Browse files
committed
Better lenient parsing tests
1 parent a3e2436 commit 8cd4f40

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

tests/Sabberworm/CSS/RuleSet/LenientParsingTest.php

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,30 @@ public function testFaultToleranceOn() {
2929
public function testEndToken() {
3030
$sFile = dirname(__FILE__) . '/../../../files' . DIRECTORY_SEPARATOR . "-end-token.css";
3131
$oParser = new Parser(file_get_contents($sFile), Settings::create()->beStrict());
32+
$oParser->parse();
33+
}
34+
35+
/**
36+
* @expectedException Sabberworm\CSS\Parsing\UnexpectedTokenException
37+
*/
38+
public function testEndToken2() {
39+
$sFile = dirname(__FILE__) . '/../../../files' . DIRECTORY_SEPARATOR . "-end-token-2.css";
40+
$oParser = new Parser(file_get_contents($sFile), Settings::create()->beStrict());
41+
$oParser->parse();
42+
}
43+
44+
public function testEndTokenPositive() {
45+
$sFile = dirname(__FILE__) . '/../../../files' . DIRECTORY_SEPARATOR . "-end-token.css";
46+
$oParser = new Parser(file_get_contents($sFile), Settings::create()->withLenientParsing(true));
47+
$oResult = $oParser->parse();
48+
$this->assertSame("", $oResult->__toString());
49+
}
50+
51+
public function testEndToken2Positive() {
52+
$sFile = dirname(__FILE__) . '/../../../files' . DIRECTORY_SEPARATOR . "-end-token-2.css";
53+
$oParser = new Parser(file_get_contents($sFile), Settings::create()->withLenientParsing(true));
3254
$oResult = $oParser->parse();
55+
$this->assertSame('#home .bg-layout {background-image: url("/bundles/main/img/bg1.png?5");}'."\n", $oResult->__toString());
3356
}
3457

3558
public function testLocaleTrap() {
@@ -44,7 +67,7 @@ public function testCaseInsensitivity() {
4467
$sFile = dirname(__FILE__) . '/../../../files' . DIRECTORY_SEPARATOR . "case-insensitivity.css";
4568
$oParser = new Parser(file_get_contents($sFile));
4669
$oResult = $oParser->parse();
47-
$this->assertSame('@charset "utf-8";@import url("test.css");@media screen {}#myid {case: insensitive !important;frequency: 30Hz;color: #ff0;color: hsl(40,40%,30%);font-family: Arial;}'."\n", $oResult->__toString());
70+
$this->assertSame('@charset "utf-8";@import url("test.css");@media screen {}#myid {case: insensitive !important;frequency: 30Hz;font-size: 1em;color: #ff0;color: hsl(40,40%,30%);font-family: Arial;}'."\n", $oResult->__toString());
4871
}
4972

5073
}

tests/files/-end-token-2.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#home .bg-layout { background-image: url(/bundles/main/img/bg1.png?5);};

tests/files/case-insensitivity.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#myid {
99
CaSe: insensitive !imPORTANT;
1010
frequency: 30hz;
11+
font-size: 1EM;
1112
color: RGB(255, 255, 0);
1213
color: hSL(40, 40%, 30%);
1314
font-Family: Arial; /* The value needs to remain capitalized */

0 commit comments

Comments
 (0)