<!DOCTYPE html>
<title>CSS keywords for SVG properties</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../../css-parser/resources/property-parsing-test.js"></script>
<script>
function assert_valid_keywords(property, keywords) {
    for (var keyword of keywords)
        assert_valid_value(property, keyword);
}

// alignment-baseline: auto | baseline | before-edge | text-before-edge | middle |
//                     central | after-edge | text-after-edge | ideographic | alphabetic |
//                     hanging | mathematical
assert_valid_keywords('alignmentBaseline', [
    'auto', 'baseline', 'before-edge', 'text-before-edge', 'middle',
    'central', 'after-edge', 'text-after-edge', 'ideographic', 'alphabetic',
    'hanging', 'mathematical'
]);

// dominant-baseline: auto | use-script | no-change | reset-size | ideographic |
//                    alphabetic | hanging | mathematical | central | middle |
//                    text-after-edge | text-before-edge
assert_valid_keywords('dominantBaseline', [
    'auto', 'use-script', 'no-change', 'reset-size', 'ideographic',
    'alphabetic', 'hanging', 'mathematical', 'central', 'middle',
    'text-after-edge', 'text-before-edge'
]);
</script>
