forked from mirrors/gecko-dev
		
	 354f74e6d9
			
		
	
	
		354f74e6d9
		
	
	
	
	
		
			
			Automatic update from web-platform-tests Input Preprocessing Tests <https://github.com/w3c/csswg-drafts/issues/3307> -- Rename css/input-preprocessing.html to css/css-syntax/input-preprocessing.html -- Merge pull request #15086 from web-platform-tests/tabatkins-patch-4 Input Preprocessing -- wpt-commits: b3d3189634e45949991f61a64524f9dc783ffc05, ab2ef95d3a7c512a6e7321688c80e428086af426, 14817522416a92b78ccbbc67baad8d1e001c0151 wpt-pr: 15086
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!doctype html>
 | |
| <title>Input Preprocessing</title>
 | |
| <script src="/resources/testharness.js"></script>
 | |
| <script src="/resources/testharnessreport.js"></script>
 | |
| <style>
 | |
| 
 | |
| foo { color: blue; }
 | |
| 
 | |
| </style>
 | |
| 
 | |
| <meta name="author" title="Tab Atkins-Bittner">
 | |
| <link rel=help href="https://drafts.csswg.org/css-syntax/#input-preprocessing">
 | |
| 
 | |
| <script>
 | |
| 
 | |
| function roundtripIdent(str) {
 | |
|     const rule = document.styleSheets[0].cssRules[0];
 | |
|     rule.selectorText = "original-ident";
 | |
|     rule.selectorText = str;
 | |
|     // Check for parse error.
 | |
|     if(rule.selectorText == "original-ident") return "parse error";
 | |
|     return rule.selectorText;
 | |
| }
 | |
| function testParsing(input, expected) {
 | |
|     test(()=>{
 | |
|         assert_equals(roundtripIdent(input), expected);
 | |
|     }, `"${input}" becomes "${expected}"`);
 | |
| }
 | |
| 
 | |
| /* Can't figure out how to test the newline normalization... */
 | |
| 
 | |
| /* NULL becomes FFFD */
 | |
| testParsing("foo\x00", "foo\ufffd");
 | |
| testParsing("f\x00oo", "f\ufffdoo");
 | |
| testParsing("\x00foo", "\ufffdfoo");
 | |
| testParsing("\x00", "\ufffd");
 | |
| testParsing("\x00\x00\x00", "\ufffd\ufffd\ufffd");
 | |
| 
 | |
| /* surrogates become FFFD */
 | |
| testParsing("foo\ud800", "foo\ufffd");
 | |
| testParsing("f\ud800oo", "f\ufffdoo");
 | |
| testParsing("\ud800foo", "\ufffdfoo");
 | |
| testParsing("\ud800", "\ufffd");
 | |
| testParsing("\ud800\ud800\ud800", "\ufffd\ufffd\ufffd");
 | |
| 
 | |
| </script>
 |