diff options
Diffstat (limited to 'layout/style/test/descriptor_database.js')
-rw-r--r-- | layout/style/test/descriptor_database.js | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/layout/style/test/descriptor_database.js b/layout/style/test/descriptor_database.js new file mode 100644 index 0000000000..8e336994c9 --- /dev/null +++ b/layout/style/test/descriptor_database.js @@ -0,0 +1,142 @@ +/* -*- tab-width: 4; indent-tabs-mode: nil; js-indent-level: 4 -*- */ +/* vim: set shiftwidth=4 tabstop=4 autoindent cindent noexpandtab: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// Each property has the following fields: +// domProp: The name of the relevant member of nsIDOM[NS]CSS2Properties +// values: Strings that are values for the descriptor and should be accepted. +// invalid_values: Things that are not values for the descriptor and +// should be rejected. + +var gCSSFontFaceDescriptors = { + "font-family": { + domProp: "fontFamily", + values: [ + '"serif"', + '"cursive"', + "seriff", + "Times New Roman", + "TimesRoman", + '"Times New Roman"', + ], + /* not clear that the generics are really invalid */ + invalid_values: [ + "sans-serif", + "Times New Roman, serif", + "'Times New Roman', serif", + "cursive", + "fantasy", + "Times )", + "Times !", + "Times ! foo", + "Times ! important", + ], + }, + "font-stretch": { + domProp: "fontStretch", + values: [ + "normal", + "ultra-condensed", + "extra-condensed", + "condensed", + "semi-condensed", + "semi-expanded", + "expanded", + "extra-expanded", + "ultra-expanded", + ], + invalid_values: ["wider", "narrower", "normal ! important", "normal )"], + }, + "font-style": { + domProp: "fontStyle", + values: ["normal", "italic", "oblique"], + invalid_values: [], + }, + "font-weight": { + domProp: "fontWeight", + values: [ + "normal", + "400", + "bold", + "100", + "200", + "300", + "500", + "600", + "700", + "800", + "900", + "107", + "399", + "401", + "699", + "710", + "calc(1001)", + "calc(100 + 1)", + "calc(1)", + "100.6", + "99", + "700 900", + "300.4 500.4", + "calc(200.4) calc(400.4)", + ], + invalid_values: ["bolder", "lighter", "1001", "0", "0 100", "100 1001"], + }, + src: { + domProp: null, + values: [ + "url(404.ttf)", + 'url("404.eot")', + "url('404.otf')", + 'url(404.ttf) format("truetype")', + 'url(404.ttf) format("truetype", "opentype")', + 'url(404.ttf) format("truetype", "opentype"), url(\'404.eot\')', + "local(Times New Roman)", + "local('Times New Roman')", + 'local("Times New Roman")', + 'local("serif")', + 'url(404.ttf) format("truetype", "unknown"), local(Times New Roman), url(\'404.eot\')', + ], + invalid_values: [ + "url(404.ttf) format(truetype)", + 'url(404.ttf) format("truetype" "opentype")', + 'url(404.ttf) format("truetype",)', + 'local("Times New" Roman)', + "local(serif)" /* is this valid? */, + "url(404.ttf) )", + "url(404.ttf) ) foo", + "url(404.ttf) ! important", + "url(404.ttf) ! hello", + ], + }, + "unicode-range": { + domProp: null, + values: [ + "U+0-10FFFF", + "U+3-7B3", + "U+3??", + "U+6A", + "U+3????", + "U+???", + "U+302-302", + "U+0-7,U+A-C", + "U+3??, U+500-513 ,U+612 , U+4????", + "U+1FFF,U+200-27F", + ], + invalid_values: [ + "U+1????-2????", + "U+0-7,A-C", + "U+100-17F,U+200-17F", + "U+100-17F,200-27F", + "U+6A!important", + "U+6A)", + ], + }, + "font-display": { + domProp: null, + values: ["auto", "block", "swap", "fallback", "optional"], + invalid_values: ["normal", "initial"], + }, +}; |