diff options
Diffstat (limited to 'testing/web-platform/tests/infrastructure/assumptions')
21 files changed, 1487 insertions, 0 deletions
diff --git a/testing/web-platform/tests/infrastructure/assumptions/README.md b/testing/web-platform/tests/infrastructure/assumptions/README.md new file mode 100644 index 0000000000..51902b8899 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/README.md @@ -0,0 +1 @@ +To update the generated tests, run `wpt update-built --include infrastructure`. diff --git a/testing/web-platform/tests/infrastructure/assumptions/ahem-notref.html b/testing/web-platform/tests/infrastructure/assumptions/ahem-notref.html new file mode 100644 index 0000000000..51767c26ea --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/ahem-notref.html @@ -0,0 +1,316 @@ +<!doctype html> +<title>Ahem checker</title> +<style> +* { + padding: 0; + margin: 0; + border: none; +} +td { + width: 34px; +} +table { + font-size: 15px; + line-height: 1; + border-collapse: separate; + border-spacing: 1px; + table-layout: fixed; +} +</style> +<table> + <tr> + <td> x <!-- U+0020: SPACE --> + <td>!x <!-- U+0021: EXCLAMATION MARK --> + <td>"x <!-- U+0022: QUOTATION MARK --> + <td>#x <!-- U+0023: NUMBER SIGN --> + <td>$x <!-- U+0024: DOLLAR SIGN --> + <td>%x <!-- U+0025: PERCENT SIGN --> + <td>&x <!-- U+0026: AMPERSAND --> + <td>(x <!-- U+0028: LEFT PARENTHESIS --> + <td>)x <!-- U+0029: RIGHT PARENTHESIS --> + <td>*x <!-- U+002A: ASTERISK --> + <td>+x <!-- U+002B: PLUS SIGN --> + <td>,x <!-- U+002C: COMMA --> + <td>-x <!-- U+002D: HYPHEN-MINUS --> + <td>.x <!-- U+002E: FULL STOP --> + <td>/x <!-- U+002F: SOLIDUS --> + <td>0x <!-- U+0030: DIGIT ZERO --> + <td>1x <!-- U+0031: DIGIT ONE --> + <tr> + <td>2x <!-- U+0032: DIGIT TWO --> + <td>3x <!-- U+0033: DIGIT THREE --> + <td>4x <!-- U+0034: DIGIT FOUR --> + <td>5x <!-- U+0035: DIGIT FIVE --> + <td>6x <!-- U+0036: DIGIT SIX --> + <td>7x <!-- U+0037: DIGIT SEVEN --> + <td>8x <!-- U+0038: DIGIT EIGHT --> + <td>9x <!-- U+0039: DIGIT NINE --> + <td>:x <!-- U+003A: COLON --> + <td>;x <!-- U+003B: SEMICOLON --> + <td><x <!-- U+003C: LESS-THAN SIGN --> + <td>=x <!-- U+003D: EQUALS SIGN --> + <td>>x <!-- U+003E: GREATER-THAN SIGN --> + <td>?x <!-- U+003F: QUESTION MARK --> + <td>@x <!-- U+0040: COMMERCIAL AT --> + <td>Ax <!-- U+0041: LATIN CAPITAL LETTER A --> + <td>Bx <!-- U+0042: LATIN CAPITAL LETTER B --> + <tr> + <td>Cx <!-- U+0043: LATIN CAPITAL LETTER C --> + <td>Dx <!-- U+0044: LATIN CAPITAL LETTER D --> + <td>Ex <!-- U+0045: LATIN CAPITAL LETTER E --> + <td>Fx <!-- U+0046: LATIN CAPITAL LETTER F --> + <td>Gx <!-- U+0047: LATIN CAPITAL LETTER G --> + <td>Hx <!-- U+0048: LATIN CAPITAL LETTER H --> + <td>Ix <!-- U+0049: LATIN CAPITAL LETTER I --> + <td>Jx <!-- U+004A: LATIN CAPITAL LETTER J --> + <td>Kx <!-- U+004B: LATIN CAPITAL LETTER K --> + <td>Lx <!-- U+004C: LATIN CAPITAL LETTER L --> + <td>Mx <!-- U+004D: LATIN CAPITAL LETTER M --> + <td>Nx <!-- U+004E: LATIN CAPITAL LETTER N --> + <td>Ox <!-- U+004F: LATIN CAPITAL LETTER O --> + <td>Px <!-- U+0050: LATIN CAPITAL LETTER P --> + <td>Qx <!-- U+0051: LATIN CAPITAL LETTER Q --> + <td>Rx <!-- U+0052: LATIN CAPITAL LETTER R --> + <td>Sx <!-- U+0053: LATIN CAPITAL LETTER S --> + <tr> + <td>Tx <!-- U+0054: LATIN CAPITAL LETTER T --> + <td>Ux <!-- U+0055: LATIN CAPITAL LETTER U --> + <td>Vx <!-- U+0056: LATIN CAPITAL LETTER V --> + <td>Wx <!-- U+0057: LATIN CAPITAL LETTER W --> + <td>Xx <!-- U+0058: LATIN CAPITAL LETTER X --> + <td>Yx <!-- U+0059: LATIN CAPITAL LETTER Y --> + <td>Zx <!-- U+005A: LATIN CAPITAL LETTER Z --> + <td>[x <!-- U+005B: LEFT SQUARE BRACKET --> + <td>\x <!-- U+005C: REVERSE SOLIDUS --> + <td>]x <!-- U+005D: RIGHT SQUARE BRACKET --> + <td>^x <!-- U+005E: CIRCUMFLEX ACCENT --> + <td>_x <!-- U+005F: LOW LINE --> + <td>`x <!-- U+0060: GRAVE ACCENT --> + <td>ax <!-- U+0061: LATIN SMALL LETTER A --> + <td>bx <!-- U+0062: LATIN SMALL LETTER B --> + <td>cx <!-- U+0063: LATIN SMALL LETTER C --> + <td>dx <!-- U+0064: LATIN SMALL LETTER D --> + <tr> + <td>ex <!-- U+0065: LATIN SMALL LETTER E --> + <td>fx <!-- U+0066: LATIN SMALL LETTER F --> + <td>gx <!-- U+0067: LATIN SMALL LETTER G --> + <td>hx <!-- U+0068: LATIN SMALL LETTER H --> + <td>ix <!-- U+0069: LATIN SMALL LETTER I --> + <td>jx <!-- U+006A: LATIN SMALL LETTER J --> + <td>kx <!-- U+006B: LATIN SMALL LETTER K --> + <td>lx <!-- U+006C: LATIN SMALL LETTER L --> + <td>mx <!-- U+006D: LATIN SMALL LETTER M --> + <td>nx <!-- U+006E: LATIN SMALL LETTER N --> + <td>ox <!-- U+006F: LATIN SMALL LETTER O --> + <td>px <!-- U+0070: LATIN SMALL LETTER P --> + <td>qx <!-- U+0071: LATIN SMALL LETTER Q --> + <td>rx <!-- U+0072: LATIN SMALL LETTER R --> + <td>sx <!-- U+0073: LATIN SMALL LETTER S --> + <td>tx <!-- U+0074: LATIN SMALL LETTER T --> + <td>ux <!-- U+0075: LATIN SMALL LETTER U --> + <tr> + <td>vx <!-- U+0076: LATIN SMALL LETTER V --> + <td>wx <!-- U+0077: LATIN SMALL LETTER W --> + <td>xx <!-- U+0078: LATIN SMALL LETTER X --> + <td>yx <!-- U+0079: LATIN SMALL LETTER Y --> + <td>zx <!-- U+007A: LATIN SMALL LETTER Z --> + <td>{x <!-- U+007B: LEFT CURLY BRACKET --> + <td>|x <!-- U+007C: VERTICAL LINE --> + <td>}x <!-- U+007D: RIGHT CURLY BRACKET --> + <td>~x <!-- U+007E: TILDE --> + <td> x <!-- U+00A0: NO-BREAK SPACE --> + <td>¡x <!-- U+00A1: INVERTED EXCLAMATION MARK --> + <td>¢x <!-- U+00A2: CENT SIGN --> + <td>£x <!-- U+00A3: POUND SIGN --> + <td>¤x <!-- U+00A4: CURRENCY SIGN --> + <td>¥x <!-- U+00A5: YEN SIGN --> + <td>¦x <!-- U+00A6: BROKEN BAR --> + <td>§x <!-- U+00A7: SECTION SIGN --> + <tr> + <td>¨x <!-- U+00A8: DIAERESIS --> + <td>©x <!-- U+00A9: COPYRIGHT SIGN --> + <td>ªx <!-- U+00AA: FEMININE ORDINAL INDICATOR --> + <td>«x <!-- U+00AB: LEFT-POINTING DOUBLE ANGLE QUOTATION MARK --> + <td>¬x <!-- U+00AC: NOT SIGN --> + <td>­x <!-- U+00AD: SOFT HYPHEN --> + <td>®x <!-- U+00AE: REGISTERED SIGN --> + <td>¯x <!-- U+00AF: MACRON --> + <td>°x <!-- U+00B0: DEGREE SIGN --> + <td>±x <!-- U+00B1: PLUS-MINUS SIGN --> + <td>²x <!-- U+00B2: SUPERSCRIPT TWO --> + <td>³x <!-- U+00B3: SUPERSCRIPT THREE --> + <td>´x <!-- U+00B4: ACUTE ACCENT --> + <td>µx <!-- U+00B5: MICRO SIGN --> + <td>¶x <!-- U+00B6: PILCROW SIGN --> + <td>·x <!-- U+00B7: MIDDLE DOT --> + <td>¸x <!-- U+00B8: CEDILLA --> + <tr> + <td>¹x <!-- U+00B9: SUPERSCRIPT ONE --> + <td>ºx <!-- U+00BA: MASCULINE ORDINAL INDICATOR --> + <td>»x <!-- U+00BB: RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK --> + <td>¼x <!-- U+00BC: VULGAR FRACTION ONE QUARTER --> + <td>½x <!-- U+00BD: VULGAR FRACTION ONE HALF --> + <td>¾x <!-- U+00BE: VULGAR FRACTION THREE QUARTERS --> + <td>¿x <!-- U+00BF: INVERTED QUESTION MARK --> + <td>Àx <!-- U+00C0: LATIN CAPITAL LETTER A WITH GRAVE --> + <td>Áx <!-- U+00C1: LATIN CAPITAL LETTER A WITH ACUTE --> + <td>Âx <!-- U+00C2: LATIN CAPITAL LETTER A WITH CIRCUMFLEX --> + <td>Ãx <!-- U+00C3: LATIN CAPITAL LETTER A WITH TILDE --> + <td>Äx <!-- U+00C4: LATIN CAPITAL LETTER A WITH DIAERESIS --> + <td>Åx <!-- U+00C5: LATIN CAPITAL LETTER A WITH RING ABOVE --> + <td>Æx <!-- U+00C6: LATIN CAPITAL LETTER AE --> + <td>Çx <!-- U+00C7: LATIN CAPITAL LETTER C WITH CEDILLA --> + <td>Èx <!-- U+00C8: LATIN CAPITAL LETTER E WITH GRAVE --> + <td>Éx <!-- U+00C9: LATIN CAPITAL LETTER E WITH ACUTE --> + <tr> + <td>Êx <!-- U+00CA: LATIN CAPITAL LETTER E WITH CIRCUMFLEX --> + <td>Ëx <!-- U+00CB: LATIN CAPITAL LETTER E WITH DIAERESIS --> + <td>Ìx <!-- U+00CC: LATIN CAPITAL LETTER I WITH GRAVE --> + <td>Íx <!-- U+00CD: LATIN CAPITAL LETTER I WITH ACUTE --> + <td>Îx <!-- U+00CE: LATIN CAPITAL LETTER I WITH CIRCUMFLEX --> + <td>Ïx <!-- U+00CF: LATIN CAPITAL LETTER I WITH DIAERESIS --> + <td>Ðx <!-- U+00D0: LATIN CAPITAL LETTER ETH --> + <td>Ñx <!-- U+00D1: LATIN CAPITAL LETTER N WITH TILDE --> + <td>Òx <!-- U+00D2: LATIN CAPITAL LETTER O WITH GRAVE --> + <td>Óx <!-- U+00D3: LATIN CAPITAL LETTER O WITH ACUTE --> + <td>Ôx <!-- U+00D4: LATIN CAPITAL LETTER O WITH CIRCUMFLEX --> + <td>Õx <!-- U+00D5: LATIN CAPITAL LETTER O WITH TILDE --> + <td>Öx <!-- U+00D6: LATIN CAPITAL LETTER O WITH DIAERESIS --> + <td>×x <!-- U+00D7: MULTIPLICATION SIGN --> + <td>Øx <!-- U+00D8: LATIN CAPITAL LETTER O WITH STROKE --> + <td>Ùx <!-- U+00D9: LATIN CAPITAL LETTER U WITH GRAVE --> + <td>Úx <!-- U+00DA: LATIN CAPITAL LETTER U WITH ACUTE --> + <tr> + <td>Ûx <!-- U+00DB: LATIN CAPITAL LETTER U WITH CIRCUMFLEX --> + <td>Üx <!-- U+00DC: LATIN CAPITAL LETTER U WITH DIAERESIS --> + <td>Ýx <!-- U+00DD: LATIN CAPITAL LETTER Y WITH ACUTE --> + <td>Þx <!-- U+00DE: LATIN CAPITAL LETTER THORN --> + <td>ßx <!-- U+00DF: LATIN SMALL LETTER SHARP S --> + <td>àx <!-- U+00E0: LATIN SMALL LETTER A WITH GRAVE --> + <td>áx <!-- U+00E1: LATIN SMALL LETTER A WITH ACUTE --> + <td>âx <!-- U+00E2: LATIN SMALL LETTER A WITH CIRCUMFLEX --> + <td>ãx <!-- U+00E3: LATIN SMALL LETTER A WITH TILDE --> + <td>äx <!-- U+00E4: LATIN SMALL LETTER A WITH DIAERESIS --> + <td>åx <!-- U+00E5: LATIN SMALL LETTER A WITH RING ABOVE --> + <td>æx <!-- U+00E6: LATIN SMALL LETTER AE --> + <td>çx <!-- U+00E7: LATIN SMALL LETTER C WITH CEDILLA --> + <td>èx <!-- U+00E8: LATIN SMALL LETTER E WITH GRAVE --> + <td>éx <!-- U+00E9: LATIN SMALL LETTER E WITH ACUTE --> + <td>êx <!-- U+00EA: LATIN SMALL LETTER E WITH CIRCUMFLEX --> + <td>ëx <!-- U+00EB: LATIN SMALL LETTER E WITH DIAERESIS --> + <tr> + <td>ìx <!-- U+00EC: LATIN SMALL LETTER I WITH GRAVE --> + <td>íx <!-- U+00ED: LATIN SMALL LETTER I WITH ACUTE --> + <td>îx <!-- U+00EE: LATIN SMALL LETTER I WITH CIRCUMFLEX --> + <td>ïx <!-- U+00EF: LATIN SMALL LETTER I WITH DIAERESIS --> + <td>ðx <!-- U+00F0: LATIN SMALL LETTER ETH --> + <td>ñx <!-- U+00F1: LATIN SMALL LETTER N WITH TILDE --> + <td>òx <!-- U+00F2: LATIN SMALL LETTER O WITH GRAVE --> + <td>óx <!-- U+00F3: LATIN SMALL LETTER O WITH ACUTE --> + <td>ôx <!-- U+00F4: LATIN SMALL LETTER O WITH CIRCUMFLEX --> + <td>õx <!-- U+00F5: LATIN SMALL LETTER O WITH TILDE --> + <td>öx <!-- U+00F6: LATIN SMALL LETTER O WITH DIAERESIS --> + <td>÷x <!-- U+00F7: DIVISION SIGN --> + <td>øx <!-- U+00F8: LATIN SMALL LETTER O WITH STROKE --> + <td>ùx <!-- U+00F9: LATIN SMALL LETTER U WITH GRAVE --> + <td>úx <!-- U+00FA: LATIN SMALL LETTER U WITH ACUTE --> + <td>ûx <!-- U+00FB: LATIN SMALL LETTER U WITH CIRCUMFLEX --> + <td>üx <!-- U+00FC: LATIN SMALL LETTER U WITH DIAERESIS --> + <tr> + <td>ýx <!-- U+00FD: LATIN SMALL LETTER Y WITH ACUTE --> + <td>þx <!-- U+00FE: LATIN SMALL LETTER THORN --> + <td>ÿx <!-- U+00FF: LATIN SMALL LETTER Y WITH DIAERESIS --> + <td>ıx <!-- U+0131: LATIN SMALL LETTER DOTLESS I --> + <td>Œx <!-- U+0152: LATIN CAPITAL LIGATURE OE --> + <td>œx <!-- U+0153: LATIN SMALL LIGATURE OE --> + <td>Ÿx <!-- U+0178: LATIN CAPITAL LETTER Y WITH DIAERESIS --> + <td>ƒx <!-- U+0192: LATIN SMALL LETTER F WITH HOOK --> + <td>ˆx <!-- U+02C6: MODIFIER LETTER CIRCUMFLEX ACCENT --> + <td>ˇx <!-- U+02C7: CARON --> + <td>ˉx <!-- U+02C9: MODIFIER LETTER MACRON --> + <td>˘x <!-- U+02D8: BREVE --> + <td>˙x <!-- U+02D9: DOT ABOVE --> + <td>˚x <!-- U+02DA: RING ABOVE --> + <td>˛x <!-- U+02DB: OGONEK --> + <td>˜x <!-- U+02DC: SMALL TILDE --> + <td>˝x <!-- U+02DD: DOUBLE ACUTE ACCENT --> + <tr> + <td>Δx <!-- U+0394: GREEK CAPITAL LETTER DELTA --> + <td>Υx <!-- U+03A5: GREEK CAPITAL LETTER UPSILON --> + <td>Χx <!-- U+03A7: GREEK CAPITAL LETTER CHI --> + <td>Ωx <!-- U+03A9: GREEK CAPITAL LETTER OMEGA --> + <td>μx <!-- U+03BC: GREEK SMALL LETTER MU --> + <td>πx <!-- U+03C0: GREEK SMALL LETTER PI --> + <td> x <!-- U+2002: EN SPACE --> + <td> x <!-- U+2003: EM SPACE --> + <td> x <!-- U+2004: THREE-PER-EM SPACE --> + <td> x <!-- U+2005: FOUR-PER-EM SPACE --> + <td> x <!-- U+2006: SIX-PER-EM SPACE --> + <td> x <!-- U+2009: THIN SPACE --> + <td> x <!-- U+200A: HAIR SPACE --> + <td>​x <!-- U+200B: ZERO WIDTH SPACE --> + <td>‌x <!-- U+200C: ZERO WIDTH NON-JOINER --> + <td>‍x <!-- U+200D: ZERO WIDTH JOINER --> + <td>‐x <!-- U+2010: HYPHEN --> + <tr> + <td>–x <!-- U+2013: EN DASH --> + <td>—x <!-- U+2014: EM DASH --> + <td>‘x <!-- U+2018: LEFT SINGLE QUOTATION MARK --> + <td>’x <!-- U+2019: RIGHT SINGLE QUOTATION MARK --> + <td>‚x <!-- U+201A: SINGLE LOW-9 QUOTATION MARK --> + <td>“x <!-- U+201C: LEFT DOUBLE QUOTATION MARK --> + <td>”x <!-- U+201D: RIGHT DOUBLE QUOTATION MARK --> + <td>„x <!-- U+201E: DOUBLE LOW-9 QUOTATION MARK --> + <td>†x <!-- U+2020: DAGGER --> + <td>‡x <!-- U+2021: DOUBLE DAGGER --> + <td>•x <!-- U+2022: BULLET --> + <td>…x <!-- U+2026: HORIZONTAL ELLIPSIS --> + <td>‰x <!-- U+2030: PER MILLE SIGN --> + <td>‹x <!-- U+2039: SINGLE LEFT-POINTING ANGLE QUOTATION MARK --> + <td>›x <!-- U+203A: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK --> + <td>⁄x <!-- U+2044: FRACTION SLASH --> + <td>™x <!-- U+2122: TRADE MARK SIGN --> + <tr> + <td>Ωx <!-- U+2126: OHM SIGN --> + <td>∂x <!-- U+2202: PARTIAL DIFFERENTIAL --> + <td>∆x <!-- U+2206: INCREMENT --> + <td>∏x <!-- U+220F: N-ARY PRODUCT --> + <td>∑x <!-- U+2211: N-ARY SUMMATION --> + <td>−x <!-- U+2212: MINUS SIGN --> + <td>∙x <!-- U+2219: BULLET OPERATOR --> + <td>√x <!-- U+221A: SQUARE ROOT --> + <td>∞x <!-- U+221E: INFINITY --> + <td>∫x <!-- U+222B: INTEGRAL --> + <td>≈x <!-- U+2248: ALMOST EQUAL TO --> + <td>≠x <!-- U+2260: NOT EQUAL TO --> + <td>≤x <!-- U+2264: LESS-THAN OR EQUAL TO --> + <td>≥x <!-- U+2265: GREATER-THAN OR EQUAL TO --> + <td>⋲x <!-- U+22F2: ELEMENT OF WITH LONG HORIZONTAL STROKE --> + <td>◊x <!-- U+25CA: LOZENGE --> + <td> x <!-- U+3000: IDEOGRAPHIC SPACE --> + <tr> + <td>〇x <!-- U+3007: IDEOGRAPHIC NUMBER ZERO --> + <td>一x <!-- U+4E00: CJK UNIFIED IDEOGRAPH-4E00 --> + <td>七x <!-- U+4E03: CJK UNIFIED IDEOGRAPH-4E03 --> + <td>三x <!-- U+4E09: CJK UNIFIED IDEOGRAPH-4E09 --> + <td>九x <!-- U+4E5D: CJK UNIFIED IDEOGRAPH-4E5D --> + <td>二x <!-- U+4E8C: CJK UNIFIED IDEOGRAPH-4E8C --> + <td>五x <!-- U+4E94: CJK UNIFIED IDEOGRAPH-4E94 --> + <td>八x <!-- U+516B: CJK UNIFIED IDEOGRAPH-516B --> + <td>六x <!-- U+516D: CJK UNIFIED IDEOGRAPH-516D --> + <td>十x <!-- U+5341: CJK UNIFIED IDEOGRAPH-5341 --> + <td>囗x <!-- U+56D7: CJK UNIFIED IDEOGRAPH-56D7 --> + <td>四x <!-- U+56DB: CJK UNIFIED IDEOGRAPH-56DB --> + <td>土x <!-- U+571F: CJK UNIFIED IDEOGRAPH-571F --> + <td>木x <!-- U+6728: CJK UNIFIED IDEOGRAPH-6728 --> + <td>横x <!-- U+6A2A: CJK UNIFIED IDEOGRAPH-6A2A --> + <td>水x <!-- U+6C34: CJK UNIFIED IDEOGRAPH-6C34 --> + <td>火x <!-- U+706B: CJK UNIFIED IDEOGRAPH-706B --> + <tr> + <td>纵x <!-- U+7EB5: CJK UNIFIED IDEOGRAPH-7EB5 --> + <td>金x <!-- U+91D1: CJK UNIFIED IDEOGRAPH-91D1 --> + <td>x <!-- U+F000 --> + <td>x <!-- U+F001 --> + <td>x <!-- U+F002 --> + <td>x <!-- U+FEFF: ZERO WIDTH NO-BREAK SPACE --> +</table> diff --git a/testing/web-platform/tests/infrastructure/assumptions/ahem-ref.html b/testing/web-platform/tests/infrastructure/assumptions/ahem-ref.html new file mode 100644 index 0000000000..9116232620 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/ahem-ref.html @@ -0,0 +1,320 @@ +<!doctype html> +<title>Ahem checker</title> +<link rel="mismatch" href="ahem-notref.html"> +<style> +* { + padding: 0; + margin: 0; + border: none; +} +td { + width: 34px; +} +@font-face { + font-family: Ahem; + src: url("../../fonts/Ahem.ttf"); +} +table { + font: 15px/1 Ahem; + border-collapse: separate; + border-spacing: 1px; + table-layout: fixed; +} +</style> +<table> + <tr> + <td> x <!-- U+0020: SPACE --> + <td>!x <!-- U+0021: EXCLAMATION MARK --> + <td>"x <!-- U+0022: QUOTATION MARK --> + <td>#x <!-- U+0023: NUMBER SIGN --> + <td>$x <!-- U+0024: DOLLAR SIGN --> + <td>%x <!-- U+0025: PERCENT SIGN --> + <td>&x <!-- U+0026: AMPERSAND --> + <td>(x <!-- U+0028: LEFT PARENTHESIS --> + <td>)x <!-- U+0029: RIGHT PARENTHESIS --> + <td>*x <!-- U+002A: ASTERISK --> + <td>+x <!-- U+002B: PLUS SIGN --> + <td>,x <!-- U+002C: COMMA --> + <td>-x <!-- U+002D: HYPHEN-MINUS --> + <td>.x <!-- U+002E: FULL STOP --> + <td>/x <!-- U+002F: SOLIDUS --> + <td>0x <!-- U+0030: DIGIT ZERO --> + <td>1x <!-- U+0031: DIGIT ONE --> + <tr> + <td>2x <!-- U+0032: DIGIT TWO --> + <td>3x <!-- U+0033: DIGIT THREE --> + <td>4x <!-- U+0034: DIGIT FOUR --> + <td>5x <!-- U+0035: DIGIT FIVE --> + <td>6x <!-- U+0036: DIGIT SIX --> + <td>7x <!-- U+0037: DIGIT SEVEN --> + <td>8x <!-- U+0038: DIGIT EIGHT --> + <td>9x <!-- U+0039: DIGIT NINE --> + <td>:x <!-- U+003A: COLON --> + <td>;x <!-- U+003B: SEMICOLON --> + <td><x <!-- U+003C: LESS-THAN SIGN --> + <td>=x <!-- U+003D: EQUALS SIGN --> + <td>>x <!-- U+003E: GREATER-THAN SIGN --> + <td>?x <!-- U+003F: QUESTION MARK --> + <td>@x <!-- U+0040: COMMERCIAL AT --> + <td>Ax <!-- U+0041: LATIN CAPITAL LETTER A --> + <td>Bx <!-- U+0042: LATIN CAPITAL LETTER B --> + <tr> + <td>Cx <!-- U+0043: LATIN CAPITAL LETTER C --> + <td>Dx <!-- U+0044: LATIN CAPITAL LETTER D --> + <td>Ex <!-- U+0045: LATIN CAPITAL LETTER E --> + <td>Fx <!-- U+0046: LATIN CAPITAL LETTER F --> + <td>Gx <!-- U+0047: LATIN CAPITAL LETTER G --> + <td>Hx <!-- U+0048: LATIN CAPITAL LETTER H --> + <td>Ix <!-- U+0049: LATIN CAPITAL LETTER I --> + <td>Jx <!-- U+004A: LATIN CAPITAL LETTER J --> + <td>Kx <!-- U+004B: LATIN CAPITAL LETTER K --> + <td>Lx <!-- U+004C: LATIN CAPITAL LETTER L --> + <td>Mx <!-- U+004D: LATIN CAPITAL LETTER M --> + <td>Nx <!-- U+004E: LATIN CAPITAL LETTER N --> + <td>Ox <!-- U+004F: LATIN CAPITAL LETTER O --> + <td>Px <!-- U+0050: LATIN CAPITAL LETTER P --> + <td>Qx <!-- U+0051: LATIN CAPITAL LETTER Q --> + <td>Rx <!-- U+0052: LATIN CAPITAL LETTER R --> + <td>Sx <!-- U+0053: LATIN CAPITAL LETTER S --> + <tr> + <td>Tx <!-- U+0054: LATIN CAPITAL LETTER T --> + <td>Ux <!-- U+0055: LATIN CAPITAL LETTER U --> + <td>Vx <!-- U+0056: LATIN CAPITAL LETTER V --> + <td>Wx <!-- U+0057: LATIN CAPITAL LETTER W --> + <td>Xx <!-- U+0058: LATIN CAPITAL LETTER X --> + <td>Yx <!-- U+0059: LATIN CAPITAL LETTER Y --> + <td>Zx <!-- U+005A: LATIN CAPITAL LETTER Z --> + <td>[x <!-- U+005B: LEFT SQUARE BRACKET --> + <td>\x <!-- U+005C: REVERSE SOLIDUS --> + <td>]x <!-- U+005D: RIGHT SQUARE BRACKET --> + <td>^x <!-- U+005E: CIRCUMFLEX ACCENT --> + <td>_x <!-- U+005F: LOW LINE --> + <td>`x <!-- U+0060: GRAVE ACCENT --> + <td>ax <!-- U+0061: LATIN SMALL LETTER A --> + <td>bx <!-- U+0062: LATIN SMALL LETTER B --> + <td>cx <!-- U+0063: LATIN SMALL LETTER C --> + <td>dx <!-- U+0064: LATIN SMALL LETTER D --> + <tr> + <td>ex <!-- U+0065: LATIN SMALL LETTER E --> + <td>fx <!-- U+0066: LATIN SMALL LETTER F --> + <td>gx <!-- U+0067: LATIN SMALL LETTER G --> + <td>hx <!-- U+0068: LATIN SMALL LETTER H --> + <td>ix <!-- U+0069: LATIN SMALL LETTER I --> + <td>jx <!-- U+006A: LATIN SMALL LETTER J --> + <td>kx <!-- U+006B: LATIN SMALL LETTER K --> + <td>lx <!-- U+006C: LATIN SMALL LETTER L --> + <td>mx <!-- U+006D: LATIN SMALL LETTER M --> + <td>nx <!-- U+006E: LATIN SMALL LETTER N --> + <td>ox <!-- U+006F: LATIN SMALL LETTER O --> + <td>px <!-- U+0070: LATIN SMALL LETTER P --> + <td>qx <!-- U+0071: LATIN SMALL LETTER Q --> + <td>rx <!-- U+0072: LATIN SMALL LETTER R --> + <td>sx <!-- U+0073: LATIN SMALL LETTER S --> + <td>tx <!-- U+0074: LATIN SMALL LETTER T --> + <td>ux <!-- U+0075: LATIN SMALL LETTER U --> + <tr> + <td>vx <!-- U+0076: LATIN SMALL LETTER V --> + <td>wx <!-- U+0077: LATIN SMALL LETTER W --> + <td>xx <!-- U+0078: LATIN SMALL LETTER X --> + <td>yx <!-- U+0079: LATIN SMALL LETTER Y --> + <td>zx <!-- U+007A: LATIN SMALL LETTER Z --> + <td>{x <!-- U+007B: LEFT CURLY BRACKET --> + <td>|x <!-- U+007C: VERTICAL LINE --> + <td>}x <!-- U+007D: RIGHT CURLY BRACKET --> + <td>~x <!-- U+007E: TILDE --> + <td> x <!-- U+00A0: NO-BREAK SPACE --> + <td>¡x <!-- U+00A1: INVERTED EXCLAMATION MARK --> + <td>¢x <!-- U+00A2: CENT SIGN --> + <td>£x <!-- U+00A3: POUND SIGN --> + <td>¤x <!-- U+00A4: CURRENCY SIGN --> + <td>¥x <!-- U+00A5: YEN SIGN --> + <td>¦x <!-- U+00A6: BROKEN BAR --> + <td>§x <!-- U+00A7: SECTION SIGN --> + <tr> + <td>¨x <!-- U+00A8: DIAERESIS --> + <td>©x <!-- U+00A9: COPYRIGHT SIGN --> + <td>ªx <!-- U+00AA: FEMININE ORDINAL INDICATOR --> + <td>«x <!-- U+00AB: LEFT-POINTING DOUBLE ANGLE QUOTATION MARK --> + <td>¬x <!-- U+00AC: NOT SIGN --> + <td>­x <!-- U+00AD: SOFT HYPHEN --> + <td>®x <!-- U+00AE: REGISTERED SIGN --> + <td>¯x <!-- U+00AF: MACRON --> + <td>°x <!-- U+00B0: DEGREE SIGN --> + <td>±x <!-- U+00B1: PLUS-MINUS SIGN --> + <td>²x <!-- U+00B2: SUPERSCRIPT TWO --> + <td>³x <!-- U+00B3: SUPERSCRIPT THREE --> + <td>´x <!-- U+00B4: ACUTE ACCENT --> + <td>µx <!-- U+00B5: MICRO SIGN --> + <td>¶x <!-- U+00B6: PILCROW SIGN --> + <td>·x <!-- U+00B7: MIDDLE DOT --> + <td>¸x <!-- U+00B8: CEDILLA --> + <tr> + <td>¹x <!-- U+00B9: SUPERSCRIPT ONE --> + <td>ºx <!-- U+00BA: MASCULINE ORDINAL INDICATOR --> + <td>»x <!-- U+00BB: RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK --> + <td>¼x <!-- U+00BC: VULGAR FRACTION ONE QUARTER --> + <td>½x <!-- U+00BD: VULGAR FRACTION ONE HALF --> + <td>¾x <!-- U+00BE: VULGAR FRACTION THREE QUARTERS --> + <td>¿x <!-- U+00BF: INVERTED QUESTION MARK --> + <td>Àx <!-- U+00C0: LATIN CAPITAL LETTER A WITH GRAVE --> + <td>Áx <!-- U+00C1: LATIN CAPITAL LETTER A WITH ACUTE --> + <td>Âx <!-- U+00C2: LATIN CAPITAL LETTER A WITH CIRCUMFLEX --> + <td>Ãx <!-- U+00C3: LATIN CAPITAL LETTER A WITH TILDE --> + <td>Äx <!-- U+00C4: LATIN CAPITAL LETTER A WITH DIAERESIS --> + <td>Åx <!-- U+00C5: LATIN CAPITAL LETTER A WITH RING ABOVE --> + <td>Æx <!-- U+00C6: LATIN CAPITAL LETTER AE --> + <td>Çx <!-- U+00C7: LATIN CAPITAL LETTER C WITH CEDILLA --> + <td>Èx <!-- U+00C8: LATIN CAPITAL LETTER E WITH GRAVE --> + <td>Éx <!-- U+00C9: LATIN CAPITAL LETTER E WITH ACUTE --> + <tr> + <td>Êx <!-- U+00CA: LATIN CAPITAL LETTER E WITH CIRCUMFLEX --> + <td>Ëx <!-- U+00CB: LATIN CAPITAL LETTER E WITH DIAERESIS --> + <td>Ìx <!-- U+00CC: LATIN CAPITAL LETTER I WITH GRAVE --> + <td>Íx <!-- U+00CD: LATIN CAPITAL LETTER I WITH ACUTE --> + <td>Îx <!-- U+00CE: LATIN CAPITAL LETTER I WITH CIRCUMFLEX --> + <td>Ïx <!-- U+00CF: LATIN CAPITAL LETTER I WITH DIAERESIS --> + <td>Ðx <!-- U+00D0: LATIN CAPITAL LETTER ETH --> + <td>Ñx <!-- U+00D1: LATIN CAPITAL LETTER N WITH TILDE --> + <td>Òx <!-- U+00D2: LATIN CAPITAL LETTER O WITH GRAVE --> + <td>Óx <!-- U+00D3: LATIN CAPITAL LETTER O WITH ACUTE --> + <td>Ôx <!-- U+00D4: LATIN CAPITAL LETTER O WITH CIRCUMFLEX --> + <td>Õx <!-- U+00D5: LATIN CAPITAL LETTER O WITH TILDE --> + <td>Öx <!-- U+00D6: LATIN CAPITAL LETTER O WITH DIAERESIS --> + <td>×x <!-- U+00D7: MULTIPLICATION SIGN --> + <td>Øx <!-- U+00D8: LATIN CAPITAL LETTER O WITH STROKE --> + <td>Ùx <!-- U+00D9: LATIN CAPITAL LETTER U WITH GRAVE --> + <td>Úx <!-- U+00DA: LATIN CAPITAL LETTER U WITH ACUTE --> + <tr> + <td>Ûx <!-- U+00DB: LATIN CAPITAL LETTER U WITH CIRCUMFLEX --> + <td>Üx <!-- U+00DC: LATIN CAPITAL LETTER U WITH DIAERESIS --> + <td>Ýx <!-- U+00DD: LATIN CAPITAL LETTER Y WITH ACUTE --> + <td>Þx <!-- U+00DE: LATIN CAPITAL LETTER THORN --> + <td>ßx <!-- U+00DF: LATIN SMALL LETTER SHARP S --> + <td>àx <!-- U+00E0: LATIN SMALL LETTER A WITH GRAVE --> + <td>áx <!-- U+00E1: LATIN SMALL LETTER A WITH ACUTE --> + <td>âx <!-- U+00E2: LATIN SMALL LETTER A WITH CIRCUMFLEX --> + <td>ãx <!-- U+00E3: LATIN SMALL LETTER A WITH TILDE --> + <td>äx <!-- U+00E4: LATIN SMALL LETTER A WITH DIAERESIS --> + <td>åx <!-- U+00E5: LATIN SMALL LETTER A WITH RING ABOVE --> + <td>æx <!-- U+00E6: LATIN SMALL LETTER AE --> + <td>çx <!-- U+00E7: LATIN SMALL LETTER C WITH CEDILLA --> + <td>èx <!-- U+00E8: LATIN SMALL LETTER E WITH GRAVE --> + <td>éx <!-- U+00E9: LATIN SMALL LETTER E WITH ACUTE --> + <td>êx <!-- U+00EA: LATIN SMALL LETTER E WITH CIRCUMFLEX --> + <td>ëx <!-- U+00EB: LATIN SMALL LETTER E WITH DIAERESIS --> + <tr> + <td>ìx <!-- U+00EC: LATIN SMALL LETTER I WITH GRAVE --> + <td>íx <!-- U+00ED: LATIN SMALL LETTER I WITH ACUTE --> + <td>îx <!-- U+00EE: LATIN SMALL LETTER I WITH CIRCUMFLEX --> + <td>ïx <!-- U+00EF: LATIN SMALL LETTER I WITH DIAERESIS --> + <td>ðx <!-- U+00F0: LATIN SMALL LETTER ETH --> + <td>ñx <!-- U+00F1: LATIN SMALL LETTER N WITH TILDE --> + <td>òx <!-- U+00F2: LATIN SMALL LETTER O WITH GRAVE --> + <td>óx <!-- U+00F3: LATIN SMALL LETTER O WITH ACUTE --> + <td>ôx <!-- U+00F4: LATIN SMALL LETTER O WITH CIRCUMFLEX --> + <td>õx <!-- U+00F5: LATIN SMALL LETTER O WITH TILDE --> + <td>öx <!-- U+00F6: LATIN SMALL LETTER O WITH DIAERESIS --> + <td>÷x <!-- U+00F7: DIVISION SIGN --> + <td>øx <!-- U+00F8: LATIN SMALL LETTER O WITH STROKE --> + <td>ùx <!-- U+00F9: LATIN SMALL LETTER U WITH GRAVE --> + <td>úx <!-- U+00FA: LATIN SMALL LETTER U WITH ACUTE --> + <td>ûx <!-- U+00FB: LATIN SMALL LETTER U WITH CIRCUMFLEX --> + <td>üx <!-- U+00FC: LATIN SMALL LETTER U WITH DIAERESIS --> + <tr> + <td>ýx <!-- U+00FD: LATIN SMALL LETTER Y WITH ACUTE --> + <td>þx <!-- U+00FE: LATIN SMALL LETTER THORN --> + <td>ÿx <!-- U+00FF: LATIN SMALL LETTER Y WITH DIAERESIS --> + <td>ıx <!-- U+0131: LATIN SMALL LETTER DOTLESS I --> + <td>Œx <!-- U+0152: LATIN CAPITAL LIGATURE OE --> + <td>œx <!-- U+0153: LATIN SMALL LIGATURE OE --> + <td>Ÿx <!-- U+0178: LATIN CAPITAL LETTER Y WITH DIAERESIS --> + <td>ƒx <!-- U+0192: LATIN SMALL LETTER F WITH HOOK --> + <td>ˆx <!-- U+02C6: MODIFIER LETTER CIRCUMFLEX ACCENT --> + <td>ˇx <!-- U+02C7: CARON --> + <td>ˉx <!-- U+02C9: MODIFIER LETTER MACRON --> + <td>˘x <!-- U+02D8: BREVE --> + <td>˙x <!-- U+02D9: DOT ABOVE --> + <td>˚x <!-- U+02DA: RING ABOVE --> + <td>˛x <!-- U+02DB: OGONEK --> + <td>˜x <!-- U+02DC: SMALL TILDE --> + <td>˝x <!-- U+02DD: DOUBLE ACUTE ACCENT --> + <tr> + <td>Δx <!-- U+0394: GREEK CAPITAL LETTER DELTA --> + <td>Υx <!-- U+03A5: GREEK CAPITAL LETTER UPSILON --> + <td>Χx <!-- U+03A7: GREEK CAPITAL LETTER CHI --> + <td>Ωx <!-- U+03A9: GREEK CAPITAL LETTER OMEGA --> + <td>μx <!-- U+03BC: GREEK SMALL LETTER MU --> + <td>πx <!-- U+03C0: GREEK SMALL LETTER PI --> + <td> x <!-- U+2002: EN SPACE --> + <td> x <!-- U+2003: EM SPACE --> + <td> x <!-- U+2004: THREE-PER-EM SPACE --> + <td> x <!-- U+2005: FOUR-PER-EM SPACE --> + <td> x <!-- U+2006: SIX-PER-EM SPACE --> + <td> x <!-- U+2009: THIN SPACE --> + <td> x <!-- U+200A: HAIR SPACE --> + <td>​x <!-- U+200B: ZERO WIDTH SPACE --> + <td>‌x <!-- U+200C: ZERO WIDTH NON-JOINER --> + <td>‍x <!-- U+200D: ZERO WIDTH JOINER --> + <td>‐x <!-- U+2010: HYPHEN --> + <tr> + <td>–x <!-- U+2013: EN DASH --> + <td>—x <!-- U+2014: EM DASH --> + <td>‘x <!-- U+2018: LEFT SINGLE QUOTATION MARK --> + <td>’x <!-- U+2019: RIGHT SINGLE QUOTATION MARK --> + <td>‚x <!-- U+201A: SINGLE LOW-9 QUOTATION MARK --> + <td>“x <!-- U+201C: LEFT DOUBLE QUOTATION MARK --> + <td>”x <!-- U+201D: RIGHT DOUBLE QUOTATION MARK --> + <td>„x <!-- U+201E: DOUBLE LOW-9 QUOTATION MARK --> + <td>†x <!-- U+2020: DAGGER --> + <td>‡x <!-- U+2021: DOUBLE DAGGER --> + <td>•x <!-- U+2022: BULLET --> + <td>…x <!-- U+2026: HORIZONTAL ELLIPSIS --> + <td>‰x <!-- U+2030: PER MILLE SIGN --> + <td>‹x <!-- U+2039: SINGLE LEFT-POINTING ANGLE QUOTATION MARK --> + <td>›x <!-- U+203A: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK --> + <td>⁄x <!-- U+2044: FRACTION SLASH --> + <td>™x <!-- U+2122: TRADE MARK SIGN --> + <tr> + <td>Ωx <!-- U+2126: OHM SIGN --> + <td>∂x <!-- U+2202: PARTIAL DIFFERENTIAL --> + <td>∆x <!-- U+2206: INCREMENT --> + <td>∏x <!-- U+220F: N-ARY PRODUCT --> + <td>∑x <!-- U+2211: N-ARY SUMMATION --> + <td>−x <!-- U+2212: MINUS SIGN --> + <td>∙x <!-- U+2219: BULLET OPERATOR --> + <td>√x <!-- U+221A: SQUARE ROOT --> + <td>∞x <!-- U+221E: INFINITY --> + <td>∫x <!-- U+222B: INTEGRAL --> + <td>≈x <!-- U+2248: ALMOST EQUAL TO --> + <td>≠x <!-- U+2260: NOT EQUAL TO --> + <td>≤x <!-- U+2264: LESS-THAN OR EQUAL TO --> + <td>≥x <!-- U+2265: GREATER-THAN OR EQUAL TO --> + <td>⋲x <!-- U+22F2: ELEMENT OF WITH LONG HORIZONTAL STROKE --> + <td>◊x <!-- U+25CA: LOZENGE --> + <td> x <!-- U+3000: IDEOGRAPHIC SPACE --> + <tr> + <td>〇x <!-- U+3007: IDEOGRAPHIC NUMBER ZERO --> + <td>一x <!-- U+4E00: CJK UNIFIED IDEOGRAPH-4E00 --> + <td>七x <!-- U+4E03: CJK UNIFIED IDEOGRAPH-4E03 --> + <td>三x <!-- U+4E09: CJK UNIFIED IDEOGRAPH-4E09 --> + <td>九x <!-- U+4E5D: CJK UNIFIED IDEOGRAPH-4E5D --> + <td>二x <!-- U+4E8C: CJK UNIFIED IDEOGRAPH-4E8C --> + <td>五x <!-- U+4E94: CJK UNIFIED IDEOGRAPH-4E94 --> + <td>八x <!-- U+516B: CJK UNIFIED IDEOGRAPH-516B --> + <td>六x <!-- U+516D: CJK UNIFIED IDEOGRAPH-516D --> + <td>十x <!-- U+5341: CJK UNIFIED IDEOGRAPH-5341 --> + <td>囗x <!-- U+56D7: CJK UNIFIED IDEOGRAPH-56D7 --> + <td>四x <!-- U+56DB: CJK UNIFIED IDEOGRAPH-56DB --> + <td>土x <!-- U+571F: CJK UNIFIED IDEOGRAPH-571F --> + <td>木x <!-- U+6728: CJK UNIFIED IDEOGRAPH-6728 --> + <td>横x <!-- U+6A2A: CJK UNIFIED IDEOGRAPH-6A2A --> + <td>水x <!-- U+6C34: CJK UNIFIED IDEOGRAPH-6C34 --> + <td>火x <!-- U+706B: CJK UNIFIED IDEOGRAPH-706B --> + <tr> + <td>纵x <!-- U+7EB5: CJK UNIFIED IDEOGRAPH-7EB5 --> + <td>金x <!-- U+91D1: CJK UNIFIED IDEOGRAPH-91D1 --> + <td>x <!-- U+F000 --> + <td>x <!-- U+F001 --> + <td>x <!-- U+F002 --> + <td>x <!-- U+FEFF: ZERO WIDTH NO-BREAK SPACE --> +</table> diff --git a/testing/web-platform/tests/infrastructure/assumptions/ahem.html b/testing/web-platform/tests/infrastructure/assumptions/ahem.html new file mode 100644 index 0000000000..068c1d4dee --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/ahem.html @@ -0,0 +1,316 @@ +<!doctype html> +<title>Ahem checker</title> +<link rel="match" href="ahem-ref.html"> +<style> +* { + padding: 0; + margin: 0; + border: none; +} +td { + width: 34px; +} +table { + font: 15px/1 Ahem; + border-collapse: separate; + border-spacing: 1px; + table-layout: fixed; +} +</style> +<table> + <tr> + <td> x <!-- U+0020: SPACE --> + <td>!x <!-- U+0021: EXCLAMATION MARK --> + <td>"x <!-- U+0022: QUOTATION MARK --> + <td>#x <!-- U+0023: NUMBER SIGN --> + <td>$x <!-- U+0024: DOLLAR SIGN --> + <td>%x <!-- U+0025: PERCENT SIGN --> + <td>&x <!-- U+0026: AMPERSAND --> + <td>(x <!-- U+0028: LEFT PARENTHESIS --> + <td>)x <!-- U+0029: RIGHT PARENTHESIS --> + <td>*x <!-- U+002A: ASTERISK --> + <td>+x <!-- U+002B: PLUS SIGN --> + <td>,x <!-- U+002C: COMMA --> + <td>-x <!-- U+002D: HYPHEN-MINUS --> + <td>.x <!-- U+002E: FULL STOP --> + <td>/x <!-- U+002F: SOLIDUS --> + <td>0x <!-- U+0030: DIGIT ZERO --> + <td>1x <!-- U+0031: DIGIT ONE --> + <tr> + <td>2x <!-- U+0032: DIGIT TWO --> + <td>3x <!-- U+0033: DIGIT THREE --> + <td>4x <!-- U+0034: DIGIT FOUR --> + <td>5x <!-- U+0035: DIGIT FIVE --> + <td>6x <!-- U+0036: DIGIT SIX --> + <td>7x <!-- U+0037: DIGIT SEVEN --> + <td>8x <!-- U+0038: DIGIT EIGHT --> + <td>9x <!-- U+0039: DIGIT NINE --> + <td>:x <!-- U+003A: COLON --> + <td>;x <!-- U+003B: SEMICOLON --> + <td><x <!-- U+003C: LESS-THAN SIGN --> + <td>=x <!-- U+003D: EQUALS SIGN --> + <td>>x <!-- U+003E: GREATER-THAN SIGN --> + <td>?x <!-- U+003F: QUESTION MARK --> + <td>@x <!-- U+0040: COMMERCIAL AT --> + <td>Ax <!-- U+0041: LATIN CAPITAL LETTER A --> + <td>Bx <!-- U+0042: LATIN CAPITAL LETTER B --> + <tr> + <td>Cx <!-- U+0043: LATIN CAPITAL LETTER C --> + <td>Dx <!-- U+0044: LATIN CAPITAL LETTER D --> + <td>Ex <!-- U+0045: LATIN CAPITAL LETTER E --> + <td>Fx <!-- U+0046: LATIN CAPITAL LETTER F --> + <td>Gx <!-- U+0047: LATIN CAPITAL LETTER G --> + <td>Hx <!-- U+0048: LATIN CAPITAL LETTER H --> + <td>Ix <!-- U+0049: LATIN CAPITAL LETTER I --> + <td>Jx <!-- U+004A: LATIN CAPITAL LETTER J --> + <td>Kx <!-- U+004B: LATIN CAPITAL LETTER K --> + <td>Lx <!-- U+004C: LATIN CAPITAL LETTER L --> + <td>Mx <!-- U+004D: LATIN CAPITAL LETTER M --> + <td>Nx <!-- U+004E: LATIN CAPITAL LETTER N --> + <td>Ox <!-- U+004F: LATIN CAPITAL LETTER O --> + <td>Px <!-- U+0050: LATIN CAPITAL LETTER P --> + <td>Qx <!-- U+0051: LATIN CAPITAL LETTER Q --> + <td>Rx <!-- U+0052: LATIN CAPITAL LETTER R --> + <td>Sx <!-- U+0053: LATIN CAPITAL LETTER S --> + <tr> + <td>Tx <!-- U+0054: LATIN CAPITAL LETTER T --> + <td>Ux <!-- U+0055: LATIN CAPITAL LETTER U --> + <td>Vx <!-- U+0056: LATIN CAPITAL LETTER V --> + <td>Wx <!-- U+0057: LATIN CAPITAL LETTER W --> + <td>Xx <!-- U+0058: LATIN CAPITAL LETTER X --> + <td>Yx <!-- U+0059: LATIN CAPITAL LETTER Y --> + <td>Zx <!-- U+005A: LATIN CAPITAL LETTER Z --> + <td>[x <!-- U+005B: LEFT SQUARE BRACKET --> + <td>\x <!-- U+005C: REVERSE SOLIDUS --> + <td>]x <!-- U+005D: RIGHT SQUARE BRACKET --> + <td>^x <!-- U+005E: CIRCUMFLEX ACCENT --> + <td>_x <!-- U+005F: LOW LINE --> + <td>`x <!-- U+0060: GRAVE ACCENT --> + <td>ax <!-- U+0061: LATIN SMALL LETTER A --> + <td>bx <!-- U+0062: LATIN SMALL LETTER B --> + <td>cx <!-- U+0063: LATIN SMALL LETTER C --> + <td>dx <!-- U+0064: LATIN SMALL LETTER D --> + <tr> + <td>ex <!-- U+0065: LATIN SMALL LETTER E --> + <td>fx <!-- U+0066: LATIN SMALL LETTER F --> + <td>gx <!-- U+0067: LATIN SMALL LETTER G --> + <td>hx <!-- U+0068: LATIN SMALL LETTER H --> + <td>ix <!-- U+0069: LATIN SMALL LETTER I --> + <td>jx <!-- U+006A: LATIN SMALL LETTER J --> + <td>kx <!-- U+006B: LATIN SMALL LETTER K --> + <td>lx <!-- U+006C: LATIN SMALL LETTER L --> + <td>mx <!-- U+006D: LATIN SMALL LETTER M --> + <td>nx <!-- U+006E: LATIN SMALL LETTER N --> + <td>ox <!-- U+006F: LATIN SMALL LETTER O --> + <td>px <!-- U+0070: LATIN SMALL LETTER P --> + <td>qx <!-- U+0071: LATIN SMALL LETTER Q --> + <td>rx <!-- U+0072: LATIN SMALL LETTER R --> + <td>sx <!-- U+0073: LATIN SMALL LETTER S --> + <td>tx <!-- U+0074: LATIN SMALL LETTER T --> + <td>ux <!-- U+0075: LATIN SMALL LETTER U --> + <tr> + <td>vx <!-- U+0076: LATIN SMALL LETTER V --> + <td>wx <!-- U+0077: LATIN SMALL LETTER W --> + <td>xx <!-- U+0078: LATIN SMALL LETTER X --> + <td>yx <!-- U+0079: LATIN SMALL LETTER Y --> + <td>zx <!-- U+007A: LATIN SMALL LETTER Z --> + <td>{x <!-- U+007B: LEFT CURLY BRACKET --> + <td>|x <!-- U+007C: VERTICAL LINE --> + <td>}x <!-- U+007D: RIGHT CURLY BRACKET --> + <td>~x <!-- U+007E: TILDE --> + <td> x <!-- U+00A0: NO-BREAK SPACE --> + <td>¡x <!-- U+00A1: INVERTED EXCLAMATION MARK --> + <td>¢x <!-- U+00A2: CENT SIGN --> + <td>£x <!-- U+00A3: POUND SIGN --> + <td>¤x <!-- U+00A4: CURRENCY SIGN --> + <td>¥x <!-- U+00A5: YEN SIGN --> + <td>¦x <!-- U+00A6: BROKEN BAR --> + <td>§x <!-- U+00A7: SECTION SIGN --> + <tr> + <td>¨x <!-- U+00A8: DIAERESIS --> + <td>©x <!-- U+00A9: COPYRIGHT SIGN --> + <td>ªx <!-- U+00AA: FEMININE ORDINAL INDICATOR --> + <td>«x <!-- U+00AB: LEFT-POINTING DOUBLE ANGLE QUOTATION MARK --> + <td>¬x <!-- U+00AC: NOT SIGN --> + <td>­x <!-- U+00AD: SOFT HYPHEN --> + <td>®x <!-- U+00AE: REGISTERED SIGN --> + <td>¯x <!-- U+00AF: MACRON --> + <td>°x <!-- U+00B0: DEGREE SIGN --> + <td>±x <!-- U+00B1: PLUS-MINUS SIGN --> + <td>²x <!-- U+00B2: SUPERSCRIPT TWO --> + <td>³x <!-- U+00B3: SUPERSCRIPT THREE --> + <td>´x <!-- U+00B4: ACUTE ACCENT --> + <td>µx <!-- U+00B5: MICRO SIGN --> + <td>¶x <!-- U+00B6: PILCROW SIGN --> + <td>·x <!-- U+00B7: MIDDLE DOT --> + <td>¸x <!-- U+00B8: CEDILLA --> + <tr> + <td>¹x <!-- U+00B9: SUPERSCRIPT ONE --> + <td>ºx <!-- U+00BA: MASCULINE ORDINAL INDICATOR --> + <td>»x <!-- U+00BB: RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK --> + <td>¼x <!-- U+00BC: VULGAR FRACTION ONE QUARTER --> + <td>½x <!-- U+00BD: VULGAR FRACTION ONE HALF --> + <td>¾x <!-- U+00BE: VULGAR FRACTION THREE QUARTERS --> + <td>¿x <!-- U+00BF: INVERTED QUESTION MARK --> + <td>Àx <!-- U+00C0: LATIN CAPITAL LETTER A WITH GRAVE --> + <td>Áx <!-- U+00C1: LATIN CAPITAL LETTER A WITH ACUTE --> + <td>Âx <!-- U+00C2: LATIN CAPITAL LETTER A WITH CIRCUMFLEX --> + <td>Ãx <!-- U+00C3: LATIN CAPITAL LETTER A WITH TILDE --> + <td>Äx <!-- U+00C4: LATIN CAPITAL LETTER A WITH DIAERESIS --> + <td>Åx <!-- U+00C5: LATIN CAPITAL LETTER A WITH RING ABOVE --> + <td>Æx <!-- U+00C6: LATIN CAPITAL LETTER AE --> + <td>Çx <!-- U+00C7: LATIN CAPITAL LETTER C WITH CEDILLA --> + <td>Èx <!-- U+00C8: LATIN CAPITAL LETTER E WITH GRAVE --> + <td>Éx <!-- U+00C9: LATIN CAPITAL LETTER E WITH ACUTE --> + <tr> + <td>Êx <!-- U+00CA: LATIN CAPITAL LETTER E WITH CIRCUMFLEX --> + <td>Ëx <!-- U+00CB: LATIN CAPITAL LETTER E WITH DIAERESIS --> + <td>Ìx <!-- U+00CC: LATIN CAPITAL LETTER I WITH GRAVE --> + <td>Íx <!-- U+00CD: LATIN CAPITAL LETTER I WITH ACUTE --> + <td>Îx <!-- U+00CE: LATIN CAPITAL LETTER I WITH CIRCUMFLEX --> + <td>Ïx <!-- U+00CF: LATIN CAPITAL LETTER I WITH DIAERESIS --> + <td>Ðx <!-- U+00D0: LATIN CAPITAL LETTER ETH --> + <td>Ñx <!-- U+00D1: LATIN CAPITAL LETTER N WITH TILDE --> + <td>Òx <!-- U+00D2: LATIN CAPITAL LETTER O WITH GRAVE --> + <td>Óx <!-- U+00D3: LATIN CAPITAL LETTER O WITH ACUTE --> + <td>Ôx <!-- U+00D4: LATIN CAPITAL LETTER O WITH CIRCUMFLEX --> + <td>Õx <!-- U+00D5: LATIN CAPITAL LETTER O WITH TILDE --> + <td>Öx <!-- U+00D6: LATIN CAPITAL LETTER O WITH DIAERESIS --> + <td>×x <!-- U+00D7: MULTIPLICATION SIGN --> + <td>Øx <!-- U+00D8: LATIN CAPITAL LETTER O WITH STROKE --> + <td>Ùx <!-- U+00D9: LATIN CAPITAL LETTER U WITH GRAVE --> + <td>Úx <!-- U+00DA: LATIN CAPITAL LETTER U WITH ACUTE --> + <tr> + <td>Ûx <!-- U+00DB: LATIN CAPITAL LETTER U WITH CIRCUMFLEX --> + <td>Üx <!-- U+00DC: LATIN CAPITAL LETTER U WITH DIAERESIS --> + <td>Ýx <!-- U+00DD: LATIN CAPITAL LETTER Y WITH ACUTE --> + <td>Þx <!-- U+00DE: LATIN CAPITAL LETTER THORN --> + <td>ßx <!-- U+00DF: LATIN SMALL LETTER SHARP S --> + <td>àx <!-- U+00E0: LATIN SMALL LETTER A WITH GRAVE --> + <td>áx <!-- U+00E1: LATIN SMALL LETTER A WITH ACUTE --> + <td>âx <!-- U+00E2: LATIN SMALL LETTER A WITH CIRCUMFLEX --> + <td>ãx <!-- U+00E3: LATIN SMALL LETTER A WITH TILDE --> + <td>äx <!-- U+00E4: LATIN SMALL LETTER A WITH DIAERESIS --> + <td>åx <!-- U+00E5: LATIN SMALL LETTER A WITH RING ABOVE --> + <td>æx <!-- U+00E6: LATIN SMALL LETTER AE --> + <td>çx <!-- U+00E7: LATIN SMALL LETTER C WITH CEDILLA --> + <td>èx <!-- U+00E8: LATIN SMALL LETTER E WITH GRAVE --> + <td>éx <!-- U+00E9: LATIN SMALL LETTER E WITH ACUTE --> + <td>êx <!-- U+00EA: LATIN SMALL LETTER E WITH CIRCUMFLEX --> + <td>ëx <!-- U+00EB: LATIN SMALL LETTER E WITH DIAERESIS --> + <tr> + <td>ìx <!-- U+00EC: LATIN SMALL LETTER I WITH GRAVE --> + <td>íx <!-- U+00ED: LATIN SMALL LETTER I WITH ACUTE --> + <td>îx <!-- U+00EE: LATIN SMALL LETTER I WITH CIRCUMFLEX --> + <td>ïx <!-- U+00EF: LATIN SMALL LETTER I WITH DIAERESIS --> + <td>ðx <!-- U+00F0: LATIN SMALL LETTER ETH --> + <td>ñx <!-- U+00F1: LATIN SMALL LETTER N WITH TILDE --> + <td>òx <!-- U+00F2: LATIN SMALL LETTER O WITH GRAVE --> + <td>óx <!-- U+00F3: LATIN SMALL LETTER O WITH ACUTE --> + <td>ôx <!-- U+00F4: LATIN SMALL LETTER O WITH CIRCUMFLEX --> + <td>õx <!-- U+00F5: LATIN SMALL LETTER O WITH TILDE --> + <td>öx <!-- U+00F6: LATIN SMALL LETTER O WITH DIAERESIS --> + <td>÷x <!-- U+00F7: DIVISION SIGN --> + <td>øx <!-- U+00F8: LATIN SMALL LETTER O WITH STROKE --> + <td>ùx <!-- U+00F9: LATIN SMALL LETTER U WITH GRAVE --> + <td>úx <!-- U+00FA: LATIN SMALL LETTER U WITH ACUTE --> + <td>ûx <!-- U+00FB: LATIN SMALL LETTER U WITH CIRCUMFLEX --> + <td>üx <!-- U+00FC: LATIN SMALL LETTER U WITH DIAERESIS --> + <tr> + <td>ýx <!-- U+00FD: LATIN SMALL LETTER Y WITH ACUTE --> + <td>þx <!-- U+00FE: LATIN SMALL LETTER THORN --> + <td>ÿx <!-- U+00FF: LATIN SMALL LETTER Y WITH DIAERESIS --> + <td>ıx <!-- U+0131: LATIN SMALL LETTER DOTLESS I --> + <td>Œx <!-- U+0152: LATIN CAPITAL LIGATURE OE --> + <td>œx <!-- U+0153: LATIN SMALL LIGATURE OE --> + <td>Ÿx <!-- U+0178: LATIN CAPITAL LETTER Y WITH DIAERESIS --> + <td>ƒx <!-- U+0192: LATIN SMALL LETTER F WITH HOOK --> + <td>ˆx <!-- U+02C6: MODIFIER LETTER CIRCUMFLEX ACCENT --> + <td>ˇx <!-- U+02C7: CARON --> + <td>ˉx <!-- U+02C9: MODIFIER LETTER MACRON --> + <td>˘x <!-- U+02D8: BREVE --> + <td>˙x <!-- U+02D9: DOT ABOVE --> + <td>˚x <!-- U+02DA: RING ABOVE --> + <td>˛x <!-- U+02DB: OGONEK --> + <td>˜x <!-- U+02DC: SMALL TILDE --> + <td>˝x <!-- U+02DD: DOUBLE ACUTE ACCENT --> + <tr> + <td>Δx <!-- U+0394: GREEK CAPITAL LETTER DELTA --> + <td>Υx <!-- U+03A5: GREEK CAPITAL LETTER UPSILON --> + <td>Χx <!-- U+03A7: GREEK CAPITAL LETTER CHI --> + <td>Ωx <!-- U+03A9: GREEK CAPITAL LETTER OMEGA --> + <td>μx <!-- U+03BC: GREEK SMALL LETTER MU --> + <td>πx <!-- U+03C0: GREEK SMALL LETTER PI --> + <td> x <!-- U+2002: EN SPACE --> + <td> x <!-- U+2003: EM SPACE --> + <td> x <!-- U+2004: THREE-PER-EM SPACE --> + <td> x <!-- U+2005: FOUR-PER-EM SPACE --> + <td> x <!-- U+2006: SIX-PER-EM SPACE --> + <td> x <!-- U+2009: THIN SPACE --> + <td> x <!-- U+200A: HAIR SPACE --> + <td>​x <!-- U+200B: ZERO WIDTH SPACE --> + <td>‌x <!-- U+200C: ZERO WIDTH NON-JOINER --> + <td>‍x <!-- U+200D: ZERO WIDTH JOINER --> + <td>‐x <!-- U+2010: HYPHEN --> + <tr> + <td>–x <!-- U+2013: EN DASH --> + <td>—x <!-- U+2014: EM DASH --> + <td>‘x <!-- U+2018: LEFT SINGLE QUOTATION MARK --> + <td>’x <!-- U+2019: RIGHT SINGLE QUOTATION MARK --> + <td>‚x <!-- U+201A: SINGLE LOW-9 QUOTATION MARK --> + <td>“x <!-- U+201C: LEFT DOUBLE QUOTATION MARK --> + <td>”x <!-- U+201D: RIGHT DOUBLE QUOTATION MARK --> + <td>„x <!-- U+201E: DOUBLE LOW-9 QUOTATION MARK --> + <td>†x <!-- U+2020: DAGGER --> + <td>‡x <!-- U+2021: DOUBLE DAGGER --> + <td>•x <!-- U+2022: BULLET --> + <td>…x <!-- U+2026: HORIZONTAL ELLIPSIS --> + <td>‰x <!-- U+2030: PER MILLE SIGN --> + <td>‹x <!-- U+2039: SINGLE LEFT-POINTING ANGLE QUOTATION MARK --> + <td>›x <!-- U+203A: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK --> + <td>⁄x <!-- U+2044: FRACTION SLASH --> + <td>™x <!-- U+2122: TRADE MARK SIGN --> + <tr> + <td>Ωx <!-- U+2126: OHM SIGN --> + <td>∂x <!-- U+2202: PARTIAL DIFFERENTIAL --> + <td>∆x <!-- U+2206: INCREMENT --> + <td>∏x <!-- U+220F: N-ARY PRODUCT --> + <td>∑x <!-- U+2211: N-ARY SUMMATION --> + <td>−x <!-- U+2212: MINUS SIGN --> + <td>∙x <!-- U+2219: BULLET OPERATOR --> + <td>√x <!-- U+221A: SQUARE ROOT --> + <td>∞x <!-- U+221E: INFINITY --> + <td>∫x <!-- U+222B: INTEGRAL --> + <td>≈x <!-- U+2248: ALMOST EQUAL TO --> + <td>≠x <!-- U+2260: NOT EQUAL TO --> + <td>≤x <!-- U+2264: LESS-THAN OR EQUAL TO --> + <td>≥x <!-- U+2265: GREATER-THAN OR EQUAL TO --> + <td>⋲x <!-- U+22F2: ELEMENT OF WITH LONG HORIZONTAL STROKE --> + <td>◊x <!-- U+25CA: LOZENGE --> + <td> x <!-- U+3000: IDEOGRAPHIC SPACE --> + <tr> + <td>〇x <!-- U+3007: IDEOGRAPHIC NUMBER ZERO --> + <td>一x <!-- U+4E00: CJK UNIFIED IDEOGRAPH-4E00 --> + <td>七x <!-- U+4E03: CJK UNIFIED IDEOGRAPH-4E03 --> + <td>三x <!-- U+4E09: CJK UNIFIED IDEOGRAPH-4E09 --> + <td>九x <!-- U+4E5D: CJK UNIFIED IDEOGRAPH-4E5D --> + <td>二x <!-- U+4E8C: CJK UNIFIED IDEOGRAPH-4E8C --> + <td>五x <!-- U+4E94: CJK UNIFIED IDEOGRAPH-4E94 --> + <td>八x <!-- U+516B: CJK UNIFIED IDEOGRAPH-516B --> + <td>六x <!-- U+516D: CJK UNIFIED IDEOGRAPH-516D --> + <td>十x <!-- U+5341: CJK UNIFIED IDEOGRAPH-5341 --> + <td>囗x <!-- U+56D7: CJK UNIFIED IDEOGRAPH-56D7 --> + <td>四x <!-- U+56DB: CJK UNIFIED IDEOGRAPH-56DB --> + <td>土x <!-- U+571F: CJK UNIFIED IDEOGRAPH-571F --> + <td>木x <!-- U+6728: CJK UNIFIED IDEOGRAPH-6728 --> + <td>横x <!-- U+6A2A: CJK UNIFIED IDEOGRAPH-6A2A --> + <td>水x <!-- U+6C34: CJK UNIFIED IDEOGRAPH-6C34 --> + <td>火x <!-- U+706B: CJK UNIFIED IDEOGRAPH-706B --> + <tr> + <td>纵x <!-- U+7EB5: CJK UNIFIED IDEOGRAPH-7EB5 --> + <td>金x <!-- U+91D1: CJK UNIFIED IDEOGRAPH-91D1 --> + <td>x <!-- U+F000 --> + <td>x <!-- U+F001 --> + <td>x <!-- U+F002 --> + <td>x <!-- U+FEFF: ZERO WIDTH NO-BREAK SPACE --> +</table> diff --git a/testing/web-platform/tests/infrastructure/assumptions/allowed-to-play.html b/testing/web-platform/tests/infrastructure/assumptions/allowed-to-play.html new file mode 100644 index 0000000000..bfa5729371 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/allowed-to-play.html @@ -0,0 +1,23 @@ +<!doctype html> +<title><audio and <video> autoplay</title> +<link rel="help" href="https://html.spec.whatwg.org/multipage/media.html#dom-media-play"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/media.js"></script> +<video></video> +<script> +async_test(t => { + const a = new Audio(getAudioURI("/media/sound_5")); + a.play(); + assert_false(a.paused); + a.onplaying = t.step_func_done(); +}, "<audio> autoplay"); + +async_test(t => { + const v = document.querySelector("video"); + v.src = getVideoURI("/media/movie_5"); + v.play(); + assert_false(v.paused); + v.onplaying = t.step_func_done(); +}, "<video> autoplay"); +</script> diff --git a/testing/web-platform/tests/infrastructure/assumptions/blank.html b/testing/web-platform/tests/infrastructure/assumptions/blank.html new file mode 100644 index 0000000000..6d8da5e89c --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/blank.html @@ -0,0 +1,2 @@ +<title>Blank Document</title> +<link rel=match href="about:blank"> diff --git a/testing/web-platform/tests/infrastructure/assumptions/canvas-background-ref.html b/testing/web-platform/tests/infrastructure/assumptions/canvas-background-ref.html new file mode 100644 index 0000000000..b117f6b300 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/canvas-background-ref.html @@ -0,0 +1,8 @@ +<!doctype html> +<title>canvas background reference</title> +<style> +html { + background: white; +} +</style> +<p>The background should be white diff --git a/testing/web-platform/tests/infrastructure/assumptions/canvas-background.html b/testing/web-platform/tests/infrastructure/assumptions/canvas-background.html new file mode 100644 index 0000000000..962edf5e8b --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/canvas-background.html @@ -0,0 +1,4 @@ +<!doctype html> +<title>Check canvas background is white</title> +<link rel="match" href="canvas-background-ref.html"> +<p>The background should be white diff --git a/testing/web-platform/tests/infrastructure/assumptions/cookie.html b/testing/web-platform/tests/infrastructure/assumptions/cookie.html new file mode 100644 index 0000000000..5d5b0dc0e1 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/cookie.html @@ -0,0 +1,18 @@ +<!doctype html> +<title>cookies work in default browse settings</title> +<link rel="author" title="Intel" href="http://www.intel.com"> +<link rel="help" href="https://html.spec.whatwg.org/#dom-document-cookie"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> + test(t => { + t.add_cleanup(() => { + let date = new Date(); + date.setTime(date.getTime() - 10000); + document.cookie = "name=''; expires=" + date.toGMTString(); + }); + document.cookie = "name=test_cookie"; + assert_not_equals(document.cookie.match(/name=test_cookie/), null); + }); +</script> diff --git a/testing/web-platform/tests/infrastructure/assumptions/document-fonts-ready.html b/testing/web-platform/tests/infrastructure/assumptions/document-fonts-ready.html new file mode 100644 index 0000000000..9fb0137025 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/document-fonts-ready.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<title>document.fonts.ready resolves after layout depending on loaded fonts</title> +<link rel="help" href="https://drafts.csswg.org/css-font-loading/#fontfaceset-pending-on-the-environment"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<style> + #foo { + font: 100px/1 Ahem; + } +</style> +<div id="log"></div> +<span id="foo">X</span> +<script> + // The purpose of this test is to ensure that testharness.js tests can use + // `document.fonts.ready` to wait for a web font to load, without having to + // wait for the window load event before or requestAnimationFrame after. + // + // The spec says that a FontFaceSet is "pending on the environment" if "the + // document has pending layout operations which might cause the user agent to + // request a font, or which depend on recently-loaded fonts", and both are + // assumed to hold true in this test. + async_test(t => { + assert_equals(document.fonts.size, 1, 'one font is pending'); + document.fonts.ready.then(t.step_func_done(() => { + const span = document.getElementById('foo'); + const rect = span.getBoundingClientRect(); + // If Ahem has loaded, the X will be 100px wide. + assert_equals(rect.width, 100, 'span is 100px wide'); + })); + }); +</script> diff --git a/testing/web-platform/tests/infrastructure/assumptions/html-elements.html b/testing/web-platform/tests/infrastructure/assumptions/html-elements.html new file mode 100644 index 0000000000..3fe3d201ff --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/html-elements.html @@ -0,0 +1,133 @@ +<!doctype html> +<title>HTML styles</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> +#parent { + display: none; +} + +div.b { + all: initial; + direction: initial; + unicode-bidi: isolate; + display: block; +} + +div.c { + background: red; + background: initial; +} + +span.b { + all: initial; + direction: initial; + unicode-bidi: initial; + display: inline; +} +</style> +<div id="parent"> + <div class="a"></div> + <div class="b"></div> + <div class="c"></div> + <span class="a"></span> + <span class="b"></span> + <p></p> + <ul> + <li> + </ul> + <ol> + <li> + </ol> + <table> + <tbody> + <tr> + <td> + </table> +</div> +<script> +test(function() { + assert_true('all' in document.documentElement.style); +}, "(pre-req for comparison tests) all CSS short-hand supported"); + +test(function() { + assert_in_array(window.getComputedStyle(document.querySelector("div.c")).backgroundColor, + ["rgba(0, 0, 0, 0)", "transparent"]); +}, "(pre-req for comparison tests) initial CSS value supported"); + +test(function() { + var a = document.querySelector("div.a"); + var b = document.querySelector("div.b"); + + var a_styles = window.getComputedStyle(a); + var b_styles = window.getComputedStyle(b); + + assert_equals(a_styles.length, b_styles.length, "Same properties on both div.a and div.b"); + + for (var i = 0; i < a_styles.length; i++) { + var property = a_styles[i]; + assert_equals(property, b_styles[i], "Same property on div.a and div.b"); + if (property !== "unicode-bidi") { + assert_equals(a_styles[property], b_styles[property], "Different value for " + property); + } + } +}, "Compare CSS div definitions (only valid if pre-reqs pass)"); + +test(function() { + var a = document.querySelector("span.a"); + var b = document.querySelector("span.b"); + + var a_styles = window.getComputedStyle(a); + var b_styles = window.getComputedStyle(b); + + assert_equals(a_styles.length, b_styles.length, "Same properties on both span.a and span.b"); + + for (var i = 0; i < a_styles.length; i++) { + var property = a_styles[i]; + assert_equals(property, b_styles[i], "Same property on span.a and span.b"); + assert_equals(a_styles[property], b_styles[property], "Different value for " + property); + } +}, "Compare CSS span definitions (only valid if pre-reqs pass)"); + +test(function() { + var p = document.getElementsByTagName("p")[0]; + var styles = window.getComputedStyle(p); + assert_equals(styles["display"], "block"); +}, "p is display: block"); + +test(function() { + var ul_li = document.querySelector("ul > li"); + var styles = window.getComputedStyle(ul_li); + assert_equals(styles["display"], "list-item"); +}, "ul > li is display: list-item"); + +test(function() { + var ol_li = document.querySelector("ol > li"); + var styles = window.getComputedStyle(ol_li); + assert_equals(styles["display"], "list-item"); +}, "ol > li is display: list-item"); + +test(function() { + var table = document.getElementsByTagName("table")[0]; + var styles = window.getComputedStyle(table); + assert_equals(styles["display"], "table"); +}, "table is display: table"); + +test(function() { + var tbody = document.getElementsByTagName("tbody")[0]; + var styles = window.getComputedStyle(tbody); + assert_equals(styles["display"], "table-row-group"); +}, "tbody is display: table-row-group"); + +test(function() { + var tr = document.getElementsByTagName("tr")[0]; + var styles = window.getComputedStyle(tr); + assert_equals(styles["display"], "table-row"); +}, "tr is display: table-row"); + +test(function() { + var td = document.getElementsByTagName("td")[0]; + var styles = window.getComputedStyle(td); + assert_equals(styles["display"], "table-cell"); +}, "td is display: table-cell"); +</script> diff --git a/testing/web-platform/tests/infrastructure/assumptions/initial-color-ref.html b/testing/web-platform/tests/infrastructure/assumptions/initial-color-ref.html new file mode 100644 index 0000000000..46dd110bd3 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/initial-color-ref.html @@ -0,0 +1,12 @@ +<!doctype html> +<title>Initial color is black reference</title> +<style> +html { + background: white; +} + +p { + color: black; +} +</style> +<p>The text should be black diff --git a/testing/web-platform/tests/infrastructure/assumptions/initial-color.html b/testing/web-platform/tests/infrastructure/assumptions/initial-color.html new file mode 100644 index 0000000000..f1033c7d7e --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/initial-color.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Initial color is black</title> +<link rel="match" href="initial-color-ref.html"> +<style> +html { + background: white; +} +</style> +<p>The text should be black diff --git a/testing/web-platform/tests/infrastructure/assumptions/medium-font-size-ref.html b/testing/web-platform/tests/infrastructure/assumptions/medium-font-size-ref.html new file mode 100644 index 0000000000..c1600ec419 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/medium-font-size-ref.html @@ -0,0 +1,8 @@ +<!doctype html> +<title>medium font-size reference</title> +<style> +p { + font-size: 16px; +} +</style> +<p>This text should be 16px diff --git a/testing/web-platform/tests/infrastructure/assumptions/medium-font-size.html b/testing/web-platform/tests/infrastructure/assumptions/medium-font-size.html new file mode 100644 index 0000000000..f4c303d0ba --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/medium-font-size.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Check medium font-size is 16px</title> +<link rel="match" href="medium-font-size-ref.html"> +<style> +p { + font-size: medium; +} +</style> +<p>This text should be 16px diff --git a/testing/web-platform/tests/infrastructure/assumptions/min-font-size-ref.html b/testing/web-platform/tests/infrastructure/assumptions/min-font-size-ref.html new file mode 100644 index 0000000000..013970bedf --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/min-font-size-ref.html @@ -0,0 +1,8 @@ +<!doctype html> +<title>Tiny text reference</title> +<style> +p { + font-size: 2px; +} +</style> +<p>Tiny text diff --git a/testing/web-platform/tests/infrastructure/assumptions/min-font-size.html b/testing/web-platform/tests/infrastructure/assumptions/min-font-size.html new file mode 100644 index 0000000000..a4b9a1cd36 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/min-font-size.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Check 1px and 2px font-sizes are different</title> +<link rel="mismatch" href="min-font-size-ref.html"> +<style> +p { + font-size: 1px; +} +</style> +<p>Tiny text diff --git a/testing/web-platform/tests/infrastructure/assumptions/non-local-ports.sub.window.js b/testing/web-platform/tests/infrastructure/assumptions/non-local-ports.sub.window.js new file mode 100644 index 0000000000..8c9eb33c4f --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/non-local-ports.sub.window.js @@ -0,0 +1,111 @@ +// Verifies that non-local HTTP(S) ports are open and serve correctly. +// +// See the corresponding WPT RFC: +// https://github.com/web-platform-tests/rfcs/blob/master/rfcs/address_space_overrides.md +// +// These ports are used to test the Private Network Access specification: +// https://wicg.github.io/private-network-access/ +// +// More tests can be found in `fetch/private-network-access/`. + +const alternatePorts = { + httpPrivate: "{{ports[http-private][0]}}", + httpsPrivate: "{{ports[https-private][0]}}", + httpPublic: "{{ports[http-public][0]}}", + httpsPublic: "{{ports[https-public][0]}}", +}; + +// Resolves a URL relative to the current location, returning an absolute URL. +// +// `url` specifies the relative URL, e.g. "foo.html" or "http://foo.example". +// `options.protocol` and `options.port`, if defined, override the respective +// properties of the returned URL object. +function resolveUrl(url, options) { + const result = new URL(url, window.location); + if (options === undefined) { + return result; + } + + const { port, protocol } = options; + if (port !== undefined) { + result.port = port; + } + if (protocol !== undefined) { + result.protocol = protocol; + } + + return result; +} + +const alternateOrigins = { + httpPrivate: { + protocol: "http:", + port: alternatePorts.httpPrivate, + }, + httpsPrivate: { + protocol: "https:", + port: alternatePorts.httpsPrivate, + }, + httpPublic: { + protocol: "http:", + port: alternatePorts.httpPublic, + }, + httpsPublic: { + protocol: "https:", + port: alternatePorts.httpsPublic, + }, +}; + +promise_test(async () => { + const url = + resolveUrl("/common/blank-with-cors.html", alternateOrigins.httpsPrivate); + const response = await fetch(url); + assert_true(response.ok); +}, "Fetch from https-private port works."); + +promise_test(async () => { + const url = + resolveUrl("/common/blank-with-cors.html", alternateOrigins.httpPrivate); + const response = await fetch(url); + assert_true(response.ok); +}, "Fetch from http-private port works."); + +promise_test(async () => { + const url = + resolveUrl("/common/blank-with-cors.html", alternateOrigins.httpsPublic); + const response = await fetch(url); + assert_true(response.ok); +}, "Fetch from https-public port works."); + +promise_test(async () => { + const url = + resolveUrl("/common/blank-with-cors.html", alternateOrigins.httpPublic); + const response = await fetch(url); + assert_true(response.ok); +}, "Fetch from http-public port works."); + +promise_test(async (t) => { + const futureMessage = new Promise((resolve) => { + window.addEventListener("message", resolve); + }); + + const iframe = await new Promise((resolve, reject) => { + const iframe = document.createElement("iframe"); + iframe.src = resolveUrl("resources/fetch-and-post-result.html", + alternateOrigins.httpPublic); + + iframe.onload = () => { resolve(iframe); }; + iframe.onerror = reject; + + document.body.appendChild(iframe); + t.add_cleanup(() => { + document.body.removeChild(iframe); + }); + }); + + iframe.contentWindow.postMessage( + resolveUrl("/common/blank-with-cors.html").toString(), "*"); + + const evt = await futureMessage; + assert_equals(evt.data, "failure: error = TypeError"); +}, "Fetch from http-public to local http fails."); diff --git a/testing/web-platform/tests/infrastructure/assumptions/non-secure-context.any.js b/testing/web-platform/tests/infrastructure/assumptions/non-secure-context.any.js new file mode 100644 index 0000000000..c05689fe76 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/non-secure-context.any.js @@ -0,0 +1,9 @@ +test(() => { + assert_false(self.isSecureContext); +}, "Lack of .https file name flag implies non-secure context"); + +test(() => { + assert_equals(location.protocol, "http:"); +}, "Lack of .https file name flag implies HTTP scheme"); + +done(); diff --git a/testing/web-platform/tests/infrastructure/assumptions/resources/fetch-and-post-result.html b/testing/web-platform/tests/infrastructure/assumptions/resources/fetch-and-post-result.html new file mode 100644 index 0000000000..4df0c4c71a --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/resources/fetch-and-post-result.html @@ -0,0 +1,12 @@ +<script> + window.addEventListener("message", function (event) { + fetch(event.data) + .then(response => { + parent.postMessage(`success: status = ${response.status}`, "*"); + }) + .catch(error => { + parent.postMessage(`failure: error = ${error.name}`, "*") + }); + }); +</script> + diff --git a/testing/web-platform/tests/infrastructure/assumptions/tools/ahem-generate-table.py b/testing/web-platform/tests/infrastructure/assumptions/tools/ahem-generate-table.py new file mode 100644 index 0000000000..314279f671 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/assumptions/tools/ahem-generate-table.py @@ -0,0 +1,127 @@ +import itertools +import unicodedata + +from fontTools.ttLib import TTFont + +try: + chr(0x100) +except ValueError: + chr = unichr + +def grouper(n, iterable): + """ + >>> list(grouper(3, 'ABCDEFG')) + [['A', 'B', 'C'], ['D', 'E', 'F'], ['G']] + """ + iterable = iter(iterable) + return iter(lambda: list(itertools.islice(iterable, n)), []) + +ttf = TTFont("../../../fonts/Ahem.ttf") + +chars = {char for table in ttf['cmap'].tables for char in table.cmap.keys()} + +# exclude chars that can't be represented as HTML numeric character refs +chars = chars - (set(range(0x80, 0x9F+1)) | {0x00}) + +chars_sorted = sorted(chars) + +per_row = 17 + + +doctype = "<!doctype html>" +title = "<title>Ahem checker</title>" +style_open = """ +<style> +* { + padding: 0; + margin: 0; + border: none; +} +td { + width: 34px; +}""".strip() +style_close = "</style>" +style_font_face = """ +@font-face { + font-family: Ahem; + src: url("../../fonts/Ahem.ttf"); +}""".strip() +style_table_font_specified = """ +table { + font: 15px/1 Ahem; + border-collapse: separate; + border-spacing: 1px; + table-layout: fixed; +}""".strip() +style_table_font_unspecified = """ +table { + font-size: 15px; + line-height: 1; + border-collapse: separate; + border-spacing: 1px; + table-layout: fixed; +}""".strip() + + +def build_header(is_test, rel, href): + rv = [doctype, title] + + if rel != None and href != None: + rv.append('<link rel="%s" href="%s">' % (rel, href)) + + rv.append(style_open) + + if not is_test: + if rel == None and href == None: + # ahem-notref.html + rv.append(style_table_font_unspecified) + else: + # ahem-ref.html + rv.append(style_font_face) + rv.append(style_table_font_specified) + else: + # ahem.html + rv.append(style_table_font_specified) + + rv.append(style_close) + + return "\n".join(rv) + + +def build_table(): + rv = ["\n"] + + rv.append("<table>\n") + for row in grouper(per_row, chars_sorted): + rv.append(" " * 4 + "<tr>\n") + for codepoint in row: + assert codepoint <= 0xFFFF + try: + name = unicodedata.name(chr(codepoint)) + except ValueError: + rv.append(" " * 8 + "<td>&#x%04X;x <!-- U+%04X -->\n" % (codepoint, codepoint)) + else: + rv.append(" " * 8 + "<td>&#x%04X;x <!-- U+%04X: %s -->\n" % (codepoint, codepoint, name)) + rv.append("</table>\n") + + return "".join(rv) + + +cases = [ + # file, is_test, rel + ("../ahem.html", True, "match"), + ("../ahem-ref.html", False, "mismatch"), + ("../ahem-notref.html", False, None), +] + +table = build_table() + +for index, case in enumerate(cases): + next_index = index + 1 + file, is_test, rel = case + href = cases[next_index][0][3:] if next_index < len(cases) else None + header = build_header(is_test, rel, href) + + with open(file, "w") as file: + file.write("%s%s" % (header, table)) + |