blob: 82b1453ed9077158a4ec6220394166126a59191f [file] [edit]
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-values-5/#funcdef-random-item">
<link rel="author" title="Joanne Pan" href="https://github.com/J0pan">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
<script>
// random-item() is an arbitrary substitution function, so only its argument grammar is
// validated at parse time:
// <random-item-args> = random-item( <declaration-value>, [ <declaration-value>? ]# )
// See https://drafts.csswg.org/css-values-5/#funcdef-random-item
// The first argument (<random-key>) is required, and a comma-separated item list must follow.
test_invalid_value('font-family', 'random-item()');
test_invalid_value('font-family', 'random-item( )');
test_invalid_value('font-family', 'random-item(auto)');
test_invalid_value('font-family', 'random-item(, serif, sans-serif)');
// Forbidden tokens in <declaration-value>.
// https://drafts.csswg.org/css-syntax/#typedef-declaration-value
test_invalid_value('font-family', 'random-item(auto, !)');
test_invalid_value('font-family', 'random-item(auto, ;)');
test_invalid_value('font-family', 'random-item(auto, })');
test_invalid_value('font-family', 'random-item(auto, ])');
// Badly closed / unbalanced curly braces.
test_invalid_value('font-family', 'random-item(auto, {serif)');
test_invalid_value('font-family', 'random-item(auto, serif})');
test_invalid_value('font-family', 'random-item(auto, {Times, serif)');
test_invalid_value('font-family', 'random-item({auto, serif, sans-serif)');
// A non-{}-wrapped item may not be mixed with a {}-wrapped block.
test_invalid_value('font-family', 'random-item(auto, {Times, serif} extra)');
test_invalid_value('font-family', 'random-item(auto, extra {Times, serif})');
</script>