| <!doctype html> |
| <title>Unclosed Constructs Are Valid</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <meta name="author" title="Tab Atkins-Bittner"> |
| <link rel=help href="https://drafts.csswg.org/css-syntax/#rule-defs"> |
| |
| <!-- |
| Tests that unclosed constructs are valid and match grammars, |
| because grammar-matching only sees the "block", |
| not the opening/closing characters themselves. |
| --> |
| |
| <script> |
| |
| function validSelector(str) { |
| try { |
| document.querySelector(str); |
| return true; |
| } catch(e) { |
| return false; |
| } |
| } |
| function shouldBeValid(str) { |
| test(()=>{ |
| assert_true(validSelector(str)); |
| }, `"${str}" is a valid selector`) |
| } |
| |
| shouldBeValid("[foo]"); |
| shouldBeValid("[foo"); |
| shouldBeValid(":nth-child(1)"); |
| shouldBeValid(":nth-child(1"); |
| |
| </script> |