<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-counter-styles-3/#counter-style-prefix">
<link rel="help" href="https://drafts.csswg.org/css-counter-styles-3/#counter-style-suffix">
<link rel="author" href="mailto:xiaochengh@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/counter-style-testcommon.js"></script>
<script>
function test_valid_prefix_suffix(value, expected) {
  test_valid_counter_style_descriptor('prefix', value, expected);
  test_valid_counter_style_descriptor('suffix', value, expected);
}

function test_invalid_prefix_suffix(value) {
  test_invalid_counter_style_descriptor('prefix', value);
  test_invalid_counter_style_descriptor('suffix', value);
}

// <symbol>
// <symbol> = <string> | <image> | <custom-ident>

// string values
test_valid_prefix_suffix('"string"');
test_valid_prefix_suffix('"initial"');
test_valid_prefix_suffix('"inherit"');
test_valid_prefix_suffix('"unset"');

// custom-ident values
test_valid_prefix_suffix('custom-ident')
test_invalid_prefix_suffix('initial');
test_invalid_prefix_suffix('inherit');
test_invalid_prefix_suffix('unset');

// image values
test_valid_prefix_suffix('url("https://example.com/foo.png")');
test_valid_prefix_suffix('url(https://example.com/foo.png)', 'url("https://example.com/foo.png")');
test_valid_prefix_suffix('linear-gradient(yellow, blue)');

// Must be exactly one symbol
test_invalid_prefix_suffix('');
test_invalid_prefix_suffix('foo bar');

</script>
