mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Auto merge of #27742 - servo-wpt-sync:wpt_update_07-11-2020, r=servo-wpt-sync
Sync WPT with upstream (07-11-2020) Automated downstream sync of changes from upstream as of 07-11-2020. [no-wpt-sync] r? @servo-wpt-sync
This commit is contained in:
commit
534fdd70e8
93 changed files with 2700 additions and 250 deletions
|
@ -0,0 +1,2 @@
|
|||
[image-orientation-none-cross-origin-svg.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,4 @@
|
|||
[gb18030-decoder.html]
|
||||
[gb18030 decoder: two bytes 0xFE 0xFF]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,652 @@
|
|||
[gb18030-encoder.html]
|
||||
[gb18030 encoder: range 159]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 116]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 117]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 114]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 115]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 112]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 113]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 110]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 111]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 118]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 119]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: Euro]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 50]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 14]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 52]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 53]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 54]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 55]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 56]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 57]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 58]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 59]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 188]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 158]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 105]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 104]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 107]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 106]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 101]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 100]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 103]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 102]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 109]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 108]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 8]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 9]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 6]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 7]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 4]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 5]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 2]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 3]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 0]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 1]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 25]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 24]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 27]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 26]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 21]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 20]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 23]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 22]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 196]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 197]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 194]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 182]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 29]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 28]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 190]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 191]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 205]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 202]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 203]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 200]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 189]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: character]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 201]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: Ranges pointer special case]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 156]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 157]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 36]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 37]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 34]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 35]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 32]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 33]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 30]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 31]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 185]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 184]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 183]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 186]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 181]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 180]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 38]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 39]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 198]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 199]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 83]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 82]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 81]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 80]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 87]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 86]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 85]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 84]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 89]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: poo]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 138]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 139]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 195]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 187]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 130]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 131]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 132]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 128]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 134]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 135]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 136]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: legacy ICU special case 1]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: legacy ICU special case 2]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 204]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 18]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 19]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA #3]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA #2]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 16]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 17]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 10]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 11]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 12]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 13]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 94]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 95]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 96]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 97]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 90]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 91]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 92]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 93]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 152]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 153]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 150]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 151]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 98]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 99]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 154]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 155]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 88]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 129]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 51]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 127]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 126]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 125]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 124]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 123]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 122]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 121]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 120]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: legacy ICU special case 3]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 149]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 148]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 141]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 140]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 143]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 142]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 145]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 144]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 147]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 146]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 15]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 69]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 68]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 61]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 60]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 63]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 62]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 65]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 64]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 67]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 66]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 133]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 192]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 178]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 179]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 174]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 175]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 176]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 137]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 170]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 171]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 172]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 173]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 177]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 193]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 78]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 79]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 72]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 73]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 70]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 71]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 76]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 77]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 74]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 75]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 206]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 163]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 162]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 161]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 160]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 167]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 166]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 165]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 164]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 169]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 168]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 49]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 48]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 47]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 46]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 45]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 44]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 43]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 42]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 41]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 40]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
[gbk-encoder.html]
|
||||
[gbk encoder: legacy ICU special case 1]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy ICU special case 3]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: character]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: PUA #2]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: PUA]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: poo]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy ICU special case 2]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: Euro]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy WebKit case 2]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy WebKit case 3]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy WebKit case 1]
|
||||
expected: FAIL
|
||||
|
|
@ -315,18 +315,18 @@
|
|||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_2.html]
|
||||
[traverse_the_history_4.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
[first argument: absolute url]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[embedded-opener-remove-frame.html]
|
||||
expected: CRASH
|
||||
[opener of discarded nested browsing context]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.drawing.style.textRendering.settings.html]
|
||||
[Testing basic functionalities of textRendering in Canvas]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.drawing.style.textRendering.settings.html]
|
||||
[Testing basic functionalities of textRendering in Canvas]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.drawing.style.textRendering.settings.worker.html]
|
||||
[Testing basic functionalities of textRendering in Canvas]
|
||||
expected: FAIL
|
||||
|
|
@ -171,6 +171,3 @@
|
|||
[XHTML img usemap="#hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (standards) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[form-double-submit-2.html]
|
||||
[preventDefault should allow onclick submit() to succeed]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[form-double-submit.html]
|
||||
[default submit action should supersede onclick submit()]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[module-delayed.html]
|
||||
[async document.write in a module]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[ignore-opens-during-unload.window.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[document.open should bail out when ignore-opens-during-unload is greater than 0 during visibilitychange event (open(parent) while unloading parent and child)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -251,3 +251,9 @@
|
|||
[X SNR (43.842664034730205 dB) is not greater than or equal to 65.737. Got 43.842664034730205.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t-5.0056340366103069e-13\t9.3139332532882690e-1\t9.3139332532932750e-1\t1.0000000000005376e+0\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.3139332532932750e-1 at index of 28696.\n\tMax RelError of 1.0000000000005376e+0 at index of 28696.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (43.82404088229215 dB) is not greater than or equal to 65.737. Got 43.82404088229215.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[audiocontext-not-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[frame in navigated remote-site frame]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -423,6 +423,13 @@
|
|||
},
|
||||
"css-sizing": {
|
||||
"aspect-ratio": {
|
||||
"block-aspect-ratio-029-crash.html": [
|
||||
"f940f6df5f0773b16d9846897d5cdf3c3578b538",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"small-aspect-ratio-crash.html": [
|
||||
"07712542f179c5e83cc44f4f15130c48e030d8c0",
|
||||
[
|
||||
|
@ -154141,6 +154148,35 @@
|
|||
}
|
||||
]
|
||||
],
|
||||
"image-orientation-none-cross-origin-svg.html": [
|
||||
"23e5cbfe9633677b07a0aa4e8dc18a3d0d0161a6",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/css-images/image-orientation/reference/image-orientation-none-cross-origin-svg-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{
|
||||
"fuzzy": [
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
10,
|
||||
10
|
||||
],
|
||||
[
|
||||
100,
|
||||
100
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"image-orientation-none-cross-origin.html": [
|
||||
"6629f78e5b2923a41e49b4236a4c8b7d17abb2f1",
|
||||
[
|
||||
|
@ -187157,6 +187193,23 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"eol-spaces-bidi-003.html": [
|
||||
"14f31ec0d85fcbbbae45d155aa40efae20ea977c",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/css-text/white-space/reference/eol-spaces-bidi-003-ref.html",
|
||||
"=="
|
||||
],
|
||||
[
|
||||
"/css/css-text/white-space/reference/eol-spaces-bidi-alt-003-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"full-width-leading-spaces-001.html": [
|
||||
"c23e4fdbc76e6f4c70cf936aaba2e7f5f51b734e",
|
||||
[
|
||||
|
@ -311807,6 +311860,10 @@
|
|||
"3e6962184ec3dcb75cd08a440017ed84161fdb4a",
|
||||
[]
|
||||
],
|
||||
"image-orientation-none-cross-origin-svg-ref.html": [
|
||||
"e34a7087d4cc1d75ce723bb3c15b67f7cb5f58ff",
|
||||
[]
|
||||
],
|
||||
"image-orientation-none-image-document-ref.html": [
|
||||
"90eaeaa3da839b111098da9e6f9e4754fe05d2b2",
|
||||
[]
|
||||
|
@ -311904,6 +311961,10 @@
|
|||
"exif-orientation-9-u.jpg": [
|
||||
"7d41aead39e38d1377ec9b1732ca53b0fbb1906c",
|
||||
[]
|
||||
],
|
||||
"svg-with-image-rotated.svg": [
|
||||
"e46581663cc74a68fc2d6500189ca86a1363a29f",
|
||||
[]
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -319421,6 +319482,14 @@
|
|||
"30a4ffd303d55f6228b886aa658822975601967a",
|
||||
[]
|
||||
],
|
||||
"eol-spaces-bidi-003-ref.html": [
|
||||
"0fe8f48c25a107e10a77f18791fb608d5f64e3c0",
|
||||
[]
|
||||
],
|
||||
"eol-spaces-bidi-alt-003-ref.html": [
|
||||
"6f610aa935f1d9b21f6880e3b81eec78b2f0988e",
|
||||
[]
|
||||
],
|
||||
"full-width-leading-spaces-001-ref.html": [
|
||||
"2b9cf1c3b27edbe44a1009366e47d245e4cb7a8b",
|
||||
[]
|
||||
|
@ -333192,6 +333261,16 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"legacy-mb-schinese": {
|
||||
"gb18030": {
|
||||
"resources": {
|
||||
"ranges.js": [
|
||||
"5bbd553dc01b538e3559e5ea4dc497d483ae30a7",
|
||||
[]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"legacy-mb-tchinese": {
|
||||
"big5": {
|
||||
"big5-decoder.js": [
|
||||
|
@ -335112,7 +335191,7 @@
|
|||
},
|
||||
"metadata": {
|
||||
"META.yml": [
|
||||
"4e7a13a0b7f3befe96f693b988c6fdff93b8805d",
|
||||
"8d9fc0058ec13f7b14d24586e5225b844f5bc97e",
|
||||
[]
|
||||
],
|
||||
"README.md": [
|
||||
|
@ -336411,7 +336490,7 @@
|
|||
},
|
||||
"html": {
|
||||
"META.yml": [
|
||||
"636b42b68c1046421f743b07a6764a715cabcb64",
|
||||
"94b925cc0760b29dc6d0ee7c6fb37ec424da833b",
|
||||
[]
|
||||
],
|
||||
"README.md": [
|
||||
|
@ -337585,7 +337664,7 @@
|
|||
[]
|
||||
],
|
||||
"open-closer.html": [
|
||||
"6f43a5188c790577c4a1a03da270317eedba0fb0",
|
||||
"7575c7c95fcc18ccbb949f9144eb1154a3f64538",
|
||||
[]
|
||||
],
|
||||
"opener-setter.html": [
|
||||
|
@ -338969,7 +339048,7 @@
|
|||
[]
|
||||
],
|
||||
"drawing-text-to-the-canvas.yaml": [
|
||||
"0f8a118ca8d3f68aea6a0a54a2a5d5524790a34d",
|
||||
"0d7bbfde91df96144a143c028927297e6a254648",
|
||||
[]
|
||||
],
|
||||
"fill-and-stroke-styles.yaml": [
|
||||
|
@ -339063,7 +339142,7 @@
|
|||
[]
|
||||
],
|
||||
"text.yaml": [
|
||||
"9a895bc5185a055dc0aa4a4fa86031181454f641",
|
||||
"30a0ad1a6fe5ef721ea91820ed95354c66710582",
|
||||
[]
|
||||
],
|
||||
"the-canvas-state.yaml": [
|
||||
|
@ -339909,10 +339988,6 @@
|
|||
}
|
||||
},
|
||||
"the-innertext-idl-attribute": {
|
||||
"META.yml": [
|
||||
"d6731152017813410e50aade07f44594816c4983",
|
||||
[]
|
||||
],
|
||||
"getter-tests.js": [
|
||||
"fd32e8d69a37e0c01adb642bcdf403b633428ed2",
|
||||
[]
|
||||
|
@ -344851,7 +344926,7 @@
|
|||
},
|
||||
"embedded-content": {
|
||||
"META.yml": [
|
||||
"199c4c412fe026fca11ea5dd43b0e7873f7784ae",
|
||||
"c1dd8dddf9eec3ab3fb58df01c549c251f3a3fdf",
|
||||
[]
|
||||
],
|
||||
"image-maps": {
|
||||
|
@ -345502,7 +345577,7 @@
|
|||
[]
|
||||
],
|
||||
"iframe_sandbox_popups_helper-2.html": [
|
||||
"9c393fc954af906322c26dbe128f1d0914fa5b6f",
|
||||
"ea28cf53754ab4eed1dada0cf630da6deae450df",
|
||||
[]
|
||||
],
|
||||
"iframe_sandbox_popups_helper-3.html": [
|
||||
|
@ -347503,7 +347578,7 @@
|
|||
},
|
||||
"selectors": {
|
||||
"META.yml": [
|
||||
"546b7791d54103bb76fb6cdcb748e02a850c2030",
|
||||
"3195b8671c55d4e8f5c7b449b73d4581028d5f40",
|
||||
[]
|
||||
],
|
||||
"pseudo-classes": {
|
||||
|
@ -366996,7 +367071,7 @@
|
|||
[]
|
||||
],
|
||||
"browser.py": [
|
||||
"726d5598f524539bceb131d230b7a02bed36361c",
|
||||
"86bb19b599370c63058c9ea255ff3c2f354cabfa",
|
||||
[]
|
||||
],
|
||||
"commands.json": [
|
||||
|
@ -367162,7 +367237,7 @@
|
|||
[]
|
||||
],
|
||||
"requirements_firefox.txt": [
|
||||
"8b45703a5596ed0d1f4ae577af31b8afd2f0bc8f",
|
||||
"5585609e5c3de329db9d97c134ea793287b66d03",
|
||||
[]
|
||||
],
|
||||
"requirements_ie.txt": [
|
||||
|
@ -396272,7 +396347,7 @@
|
|||
]
|
||||
],
|
||||
"javascript_src_allowed-href_blank.html": [
|
||||
"d1c2b38f247a0a11ecff8ead40eff2152545f461",
|
||||
"007338bc45eb8eb019a71eb138a5465b482f06fa",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -431114,20 +431189,6 @@
|
|||
}
|
||||
]
|
||||
],
|
||||
"gb18030-encoder.html": [
|
||||
"799d69274ef4fb08376aa4be7c16e41f6e03fbe6",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"gbk-encoder.html": [
|
||||
"a6074f975d34fb6a216bdce4c7f560270512fd20",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"idlharness.any.js": [
|
||||
"acd100c43b461c85399407087d20a51a57ce8352",
|
||||
[
|
||||
|
@ -436968,6 +437029,40 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"legacy-mb-schinese": {
|
||||
"gb18030": {
|
||||
"gb18030-decoder.html": [
|
||||
"b8fb0d04c44ee7e1f868ec5fe1faf59fd2c3b556",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"gb18030-encoder.html": [
|
||||
"a6570c8d2b800135f8a2ef990534d9f208cabfae",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
]
|
||||
},
|
||||
"gbk": {
|
||||
"gbk-decoder.html": [
|
||||
"8c45683180070ef80e6797a4d61fffb32aeaef6e",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"gbk-encoder.html": [
|
||||
"e43cb73fea72e5446e2678d202b6050b56db706f",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"legacy-mb-tchinese": {
|
||||
"big5": {
|
||||
"big5-decode-big5-hkscs.html": [
|
||||
|
@ -453779,10 +453874,12 @@
|
|||
},
|
||||
"geolocation-API": {
|
||||
"PositionOptions.https.html": [
|
||||
"6aaf56d633e4b5ce71b9a938fb87f2718ed4b823",
|
||||
"828224d50de5ad2c21a3e0b343dbfa6affb9e602",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"clearWatch_TypeError.html": [
|
||||
|
@ -456639,7 +456736,7 @@
|
|||
]
|
||||
],
|
||||
"choose-_blank-003.html": [
|
||||
"6912300ab2d969a3a75fb1d475690ccbb010c0d6",
|
||||
"5571344c85a5d4e4816bfcf1a15668bc7d530ffa",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -458249,6 +458346,13 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"2d.text.drawing.style.textRendering.settings.html": [
|
||||
"f0b5ff4226d0fa905a695b0a03140c7434261182",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"2d.text.measure.actualBoundingBox.html": [
|
||||
"44cff25d1afa82ba5f960784548b81e50025e787",
|
||||
[
|
||||
|
@ -472718,6 +472822,20 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"2d.text.drawing.style.textRendering.settings.html": [
|
||||
"8b744526dbf3e9ddff4126cb72fe6af7a09a5b3c",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"2d.text.drawing.style.textRendering.settings.worker.js": [
|
||||
"059edbeb4e8a061c830a1c24c09b51c24d73d330",
|
||||
[
|
||||
"html/canvas/offscreen/text/2d.text.drawing.style.textRendering.settings.worker.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"2d.text.font.default.html": [
|
||||
"0d355729a6bdc843915e4324f07ae26c11aca4f9",
|
||||
[
|
||||
|
@ -520230,7 +520348,7 @@
|
|||
]
|
||||
],
|
||||
"at-scroll-timeline-start-end.html": [
|
||||
"c53de5d865f37c49340e3ca85d3dc31a8ab6e48d",
|
||||
"e881d0d676bc3d1612af0677e3d1206e750cab81",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -530781,6 +530899,13 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"animatetransform-type-missing-value-default.html": [
|
||||
"aceca27f4cc725e3354f8870addb5d8697af58ab",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"end-element-on-inactive-element.svg": [
|
||||
"34be9b9781f707d488e284c3285b82009557366b",
|
||||
[
|
||||
|
@ -533552,14 +533677,21 @@
|
|||
]
|
||||
],
|
||||
"eval-csp-tt-default-policy.tentative.html": [
|
||||
"2ec1422d57bd31ae4a40746ed518dc9ae038f48a",
|
||||
"9afe571199c9b48003dbe89fc445e9de32e85222",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"eval-csp-tt-no-default-policy.tentative.html": [
|
||||
"983dd5601a4da3444c311e552b824463307eae96",
|
||||
"8c4aba11ecbbc54f3b6b8e9a1d9787b3461a7f45",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"eval-function-constructor.tentative.html": [
|
||||
"a20bc4a78db14daa627159e1c96a48c744382903",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -533580,7 +533712,7 @@
|
|||
]
|
||||
],
|
||||
"eval-with-permissive-csp.tentative.html": [
|
||||
"51bb0aaa188c48990c49e085c48842336c34fc6d",
|
||||
"8910d4e7ef0fa983e61308bc149eaad971c183a5",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -543546,7 +543678,7 @@
|
|||
]
|
||||
],
|
||||
"createcredential-large-blob-not-supported.https.html": [
|
||||
"1a320d54d156baf0cd55f32c3154331f6ce958e3",
|
||||
"167a65b92262759e652009e51c5f8ad6f2e4ac1e",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -543556,7 +543688,7 @@
|
|||
]
|
||||
],
|
||||
"createcredential-large-blob-supported.https.html": [
|
||||
"46623de77476141fb4adf72e3b63ddc62d34489b",
|
||||
"5c07745a49dfeb1084b50bdeb6adf6463f74a348",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -543626,7 +543758,7 @@
|
|||
]
|
||||
],
|
||||
"getcredential-large-blob-not-supported.https.html": [
|
||||
"26e91d8f4f632fe9f396e9758421f3131b4e8633",
|
||||
"97cea30f27f491bf0fd1aec6fe6e4734d48e591a",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -543636,7 +543768,7 @@
|
|||
]
|
||||
],
|
||||
"getcredential-large-blob-supported.https.html": [
|
||||
"02aea568173a317e76ce0516f06d2a5d675a7252",
|
||||
"c7cc0dfc4ae7c6d20385f0ba71798f6209c8676d",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[image-orientation-none-cross-origin-svg.html]
|
||||
expected: TIMEOUT
|
|
@ -1,18 +0,0 @@
|
|||
[gb18030-encoder.html]
|
||||
type: testharness
|
||||
bug: https://github.com/servo/servo/issues/13238
|
||||
[gb18030 encoder: Euro]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: character]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA #2]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: poo]
|
||||
expected: FAIL
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gbk-encoder.html]
|
||||
type: testharness
|
||||
bug: https://github.com/servo/servo/issues/13238
|
||||
[gbk encoder: Euro]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: character]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: PUA]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: PUA #2]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: poo]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[gb18030-decoder.html]
|
||||
[gb18030 decoder: two bytes 0xFE 0xFF]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,652 @@
|
|||
[gb18030-encoder.html]
|
||||
[gb18030 encoder: range 159]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 116]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 117]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 114]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 115]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 112]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 113]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 110]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 111]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 118]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 119]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: Euro]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 50]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 14]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 52]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 53]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 54]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 55]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 56]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 57]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 58]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 59]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 188]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 158]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 105]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 104]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 107]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 106]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 101]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 100]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 103]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 102]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 109]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 108]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 8]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 9]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 6]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 7]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 4]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 5]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 2]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 3]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 0]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 1]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 25]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 24]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 27]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 26]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 21]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 20]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 23]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 22]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 196]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 197]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 194]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 182]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 29]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 28]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 190]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 191]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 205]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 202]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 203]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 200]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 189]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: character]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 201]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: Ranges pointer special case]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 156]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 157]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 36]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 37]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 34]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 35]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 32]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 33]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 30]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 31]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 185]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 184]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 183]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 186]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 181]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 180]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 38]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 39]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 198]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 199]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 83]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 82]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 81]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 80]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 87]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 86]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 85]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 84]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 89]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: poo]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 138]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 139]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 195]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 187]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 130]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 131]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 132]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 128]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 134]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 135]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 136]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: legacy ICU special case 1]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: legacy ICU special case 2]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 204]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 18]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 19]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA #3]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: PUA #2]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 16]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 17]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 10]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 11]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 12]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 13]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 94]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 95]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 96]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 97]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 90]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 91]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 92]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 93]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 152]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 153]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 150]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 151]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 98]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 99]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 154]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 155]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 88]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 129]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 51]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 127]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 126]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 125]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 124]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 123]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 122]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 121]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 120]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: legacy ICU special case 3]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 149]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 148]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 141]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 140]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 143]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 142]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 145]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 144]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 147]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 146]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 15]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 69]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 68]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 61]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 60]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 63]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 62]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 65]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 64]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 67]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 66]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 133]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 192]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 178]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 179]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 174]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 175]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 176]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 137]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 170]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 171]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 172]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 173]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 177]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 193]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 78]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 79]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 72]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 73]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 70]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 71]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 76]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 77]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 74]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 75]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 206]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 163]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 162]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 161]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 160]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 167]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 166]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 165]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 164]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 169]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 168]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 49]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 48]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 47]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 46]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 45]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 44]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 43]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 42]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 41]
|
||||
expected: FAIL
|
||||
|
||||
[gb18030 encoder: range 40]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
[gbk-encoder.html]
|
||||
[gbk encoder: legacy ICU special case 1]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy ICU special case 3]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: character]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: PUA #2]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: PUA]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: poo]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy ICU special case 2]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: Euro]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy WebKit case 2]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy WebKit case 3]
|
||||
expected: FAIL
|
||||
|
||||
[gbk encoder: legacy WebKit case 1]
|
||||
expected: FAIL
|
||||
|
|
@ -315,18 +315,18 @@
|
|||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_2.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_3.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_3.html]
|
||||
[traverse_the_history_4.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
[first argument: absolute url]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[opener-closed.html]
|
||||
expected: TIMEOUT
|
||||
[An auxiliary browsing context should report `null` for `window.opener` when that browsing context is discarded]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[embedded-opener-remove-frame.html]
|
||||
expected: CRASH
|
||||
[opener and "removed" embedded documents]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.drawing.style.textRendering.settings.html]
|
||||
[Testing basic functionalities of textRendering in Canvas]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.drawing.style.textRendering.settings.html]
|
||||
[Testing basic functionalities of textRendering in Canvas]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.drawing.style.textRendering.settings.worker.html]
|
||||
[Testing basic functionalities of textRendering in Canvas]
|
||||
expected: FAIL
|
||||
|
|
@ -172,6 +172,3 @@
|
|||
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (standards) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[form-double-submit-2.html]
|
||||
[preventDefault should allow onclick submit() to succeed]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[form-double-submit.html]
|
||||
[default submit action should supersede onclick submit()]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[module-delayed.html]
|
||||
[async document.write in a module]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[ignore-opens-during-unload.window.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[ignore-opens-during-unload]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -479,3 +479,9 @@
|
|||
[X SNR (43.842664034730205 dB) is not greater than or equal to 65.737. Got 43.842664034730205.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t-5.0056340366103069e-13\t9.3139332532882690e-1\t9.3139332532932750e-1\t1.0000000000005376e+0\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.3139332532932750e-1 at index of 28696.\n\tMax RelError of 1.0000000000005376e+0 at index of 28696.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (43.82404088229215 dB) is not greater than or equal to 65.737. Got 43.82404088229215.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[audiocontext-not-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[frame in navigated remote-site frame]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
<body>
|
||||
<div id='log'></div>
|
||||
<a target="_blank" href='javascript:opener.t1.done();' id='test'>
|
||||
<a target="_blank" rel="opener" href='javascript:opener.t1.done();' id='test'>
|
||||
<script nonce='abc'>
|
||||
var t1 = async_test("Test that the javascript: src is allowed to run");
|
||||
|
||||
|
|
|
@ -0,0 +1,181 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Images: image-orientation, CORS detection for SVG content</title>
|
||||
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
|
||||
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5165">
|
||||
<link rel="match" href="reference/image-orientation-none-cross-origin-svg-ref.html">
|
||||
<meta name=fuzzy content="10;100">
|
||||
<script src="/common/get-host-info.sub.js"></script>
|
||||
<script src="/common/reftest-wait.js"></script>
|
||||
<script src="/common/rendering-utils.js"></script>
|
||||
<style>
|
||||
.image {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
position: fixed;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
function toCors(src) {
|
||||
return src.replace(new URL(src).origin, get_host_info().HTTP_REMOTE_ORIGIN)
|
||||
}
|
||||
|
||||
window.onload = () => {
|
||||
const images = [
|
||||
{
|
||||
id_image: "cors_from_image",
|
||||
id_foreign: "cors_from_foreign",
|
||||
cors: true,
|
||||
orientation: 'from-image',
|
||||
shouldBeRotated: true,
|
||||
left: '10px'
|
||||
},
|
||||
{
|
||||
id_image: "cors_none_image",
|
||||
id_foreign: "cors_none_foreign",
|
||||
cors: true,
|
||||
orientation: 'none',
|
||||
shouldBeRotated: true,
|
||||
left: '60px'
|
||||
},
|
||||
{
|
||||
id_image: "same_from_image",
|
||||
id_foreign: "same_from_foreign",
|
||||
cors: false,
|
||||
orientation: 'from-image',
|
||||
shouldBeRotated: true,
|
||||
left: '110px'
|
||||
},
|
||||
{
|
||||
id_image: "same_none_image",
|
||||
id_foreign: "same_none_foreign",
|
||||
cors: false,
|
||||
orientation: 'none',
|
||||
shouldBeRotated: false,
|
||||
left: '160px'
|
||||
},
|
||||
];
|
||||
|
||||
images.forEach(data => {
|
||||
if (data.cors) {
|
||||
image_src = document.getElementById("cors_img");
|
||||
image = document.getElementById(data.id_image);
|
||||
image.setAttribute("href", image_src.src);
|
||||
foreign = document.getElementById(data.id_foreign);
|
||||
foreign.src = image_src.src;
|
||||
} else {
|
||||
image_src = document.getElementById("same_img");
|
||||
image = document.getElementById(data.id_image);
|
||||
image.setAttribute("href", image_src.src);
|
||||
foreign = document.getElementById(data.id_foreign);
|
||||
foreign.src = image_src.src;
|
||||
}
|
||||
|
||||
const canvas_svg_image = document.createElement('canvas');
|
||||
canvas_svg_image.className = "image";
|
||||
canvas_svg_image.width = canvas_svg_image.height = 1;
|
||||
canvas_svg_image.style.left = data.left;
|
||||
canvas_svg_image.style.top = "140px";
|
||||
// The source of image-orientation preference for canvas drawImage
|
||||
// is currently not standardized.
|
||||
// See https://github.com/w3c/csswg-drafts/issues/4666
|
||||
canvas_svg_image.style.imageOrientation = data.orientation;
|
||||
document.body.appendChild(canvas_svg_image);
|
||||
ctx = canvas_svg_image.getContext('2d');
|
||||
sx = data.shouldBeRotated ? 80 : 0;
|
||||
sy = data.shouldBeRotated ? 40 : 0;
|
||||
ctx.drawImage(image, sx, sy, 1, 1, 0, 0, 1, 1);
|
||||
|
||||
const canvas_svg_foreign = document.createElement('canvas');
|
||||
canvas_svg_foreign.className = "image";
|
||||
canvas_svg_foreign.width = canvas_svg_foreign.height = 1;
|
||||
canvas_svg_foreign.style.left = data.left;
|
||||
canvas_svg_foreign.style.top = "170px";
|
||||
canvas_svg_foreign.style.imageOrientation = data.orientation;
|
||||
document.body.appendChild(canvas_svg_foreign);
|
||||
ctx = canvas_svg_foreign.getContext('2d');
|
||||
sx = data.shouldBeRotated ? 80 : 0;
|
||||
sy = data.shouldBeRotated ? 40 : 0;
|
||||
ctx.drawImage(foreign, sx, sy, 1, 1, 0, 0, 1, 1);
|
||||
})
|
||||
waitForAtLeastOneFrame().then(() => { takeScreenshot() });
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<svg class="image" id="svg_cors_from" style="left: 10px; top: 50px; image-orientation: from-image;">
|
||||
<image id="cors_from_image" href="support/exif-orientation-3-lr.jpg" X="-57" Y="-27"></image>
|
||||
</svg>
|
||||
<!-- This should be functionally identical to a plain <img> element. We test it here to verify
|
||||
that SVG foreign object correctly tracks the security origin for the image. -->
|
||||
<svg class="image" style="left: 10px; top: 80px; image-orientation: from-image;">
|
||||
<foreignObject x="-57" y="-27" width="100" height="50">
|
||||
<img id="cors_from_foreign" src="support/exif-orientation-3-lr.jpg"></img>
|
||||
</foreignObject>
|
||||
</svg>
|
||||
<!-- Note SVG-as-image requires any <image> elements to use (base64 encoded) data: URLs, that can
|
||||
never be cross origin. This just tests that we don't crash or do other strange things. -->
|
||||
<img class="image" id="img_cors_from" src="support/svg-with-image-rotated.svg" style="left: 10px; top: 110px; image-orientation: from-image;"/>
|
||||
|
||||
<svg class="image" style="left: 60px; top: 50px; image-orientation: none;">
|
||||
<image id="cors_none_image" href="support/exif-orientation-3-lr.jpg" X="-57" Y="-27"></image>
|
||||
</svg>
|
||||
<!-- This should be functionally identical to a plain <img> element. We test it here to verify
|
||||
that SVG foreign object correctly tracks the security origin for the image. -->
|
||||
<svg class="image" style="left: 60px; top: 80px; image-orientation: none;">
|
||||
<foreignObject x="-57" y="-27" width="100" height="50">
|
||||
<img id="cors_none_foreign" src="support/exif-orientation-3-lr.jpg"></img>
|
||||
</foreignObject>
|
||||
</svg>
|
||||
<!-- Note SVG-as-image requires any <image> elements to use (base64 encoded) data: URLs, that can
|
||||
never be cross origin. This just tests that we don't crash or do other strange things. -->
|
||||
<img class="image" id="img_cors_none" src="support/svg-with-image-rotated.svg" style="left: 60px; top: 110px; image-orientation: none;"/>
|
||||
|
||||
<svg class="image" style="left: 110px; top: 50px; image-orientation: from-image;">
|
||||
<image id="same_from_image" href="support/exif-orientation-3-lr.jpg" X="-57" Y="-27"></image>
|
||||
</svg>
|
||||
<!-- This should be functionally identical to a plain <img> element. We test it here to verify
|
||||
that SVG foreign object correctly tracks the security origin for the image. -->
|
||||
<svg class="image" style="left: 110px; top: 80px; image-orientation: from-image;">
|
||||
<foreignObject x="-57" y="-27" width="100" height="50">
|
||||
<img id="same_from_foreign" src="support/exif-orientation-3-lr.jpg"></img>
|
||||
</foreignObject>
|
||||
</svg>
|
||||
<!-- Note SVG-as-image requires any <image> elements to use (base64 encoded) data: URLs, that can
|
||||
never be cross origin. This just tests that we don't crash or do other strange things. -->
|
||||
<img class="image" id="img_same_from" src="support/svg-with-image-rotated.svg" style="left: 110px; top: 110px; image-orientation: from-image;"/>
|
||||
|
||||
<svg class="image" style="left: 160px; top: 50px; image-orientation: none;">
|
||||
<image id="same_none_image" href="support/exif-orientation-3-lr.jpg" X="0" Y="0"></image>
|
||||
</svg>
|
||||
<!-- This should be functionally identical to a plain <img> element. We test it here to verify
|
||||
that SVG foreign object correctly tracks the security origin for the image. -->
|
||||
<svg class="image" style="left: 160px; top: 80px; image-orientation: none;">
|
||||
<foreignObject x="0" y="0" width="100" height="50">
|
||||
<img id="same_none_foreign" src="support/exif-orientation-3-lr.jpg"></img>
|
||||
</foreignObject>
|
||||
</svg>
|
||||
<!-- Note SVG-as-image requires any <image> elements to use (base64 encoded) data: URLs, that can
|
||||
never be cross origin. This just tests that we don't crash or do other strange things. -->
|
||||
<img class="image" id="img_same_none" src="support/svg-with-image-rotated.svg" style="left: 160px; top: 110px; image-orientation: none;"/>
|
||||
|
||||
<!-- This is the easiest way to get a cross origin url for SVG <image> -->
|
||||
<script>
|
||||
const img = document.createElement('img')
|
||||
img.src = "support/exif-orientation-3-lr.jpg"
|
||||
img.id = "same_img";
|
||||
img.style.display = "none";
|
||||
document.body.appendChild(img)
|
||||
const imgCors = document.createElement('img')
|
||||
imgCors.src = img.src
|
||||
imgCors.src = toCors(imgCors.src)
|
||||
imgCors.id = "cors_img";
|
||||
imgCors.style.display = "none";
|
||||
document.body.appendChild(imgCors)
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Images: image-orientation, CORS detection for SVG content, reference</title>
|
||||
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
|
||||
<style>
|
||||
div {
|
||||
background-image: url("../support/exif-orientation-1-ul.jpg");
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
position: fixed;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="left: 10px; top: 50px"></div>
|
||||
<div style="left: 10px; top: 80px"></div>
|
||||
<div style="left: 10px; top: 110px"></div>
|
||||
<div style="left: 10px; top: 140px"></div>
|
||||
<div style="left: 10px; top: 170px"></div>
|
||||
|
||||
<div style="left: 60px; top: 50px"></div>
|
||||
<div style="left: 60px; top: 80px"></div>
|
||||
<div style="left: 60px; top: 110px"></div>
|
||||
<div style="left: 60px; top: 140px"></div>
|
||||
<div style="left: 60px; top: 170px"></div>
|
||||
|
||||
<div style="left: 110px; top: 50px"></div>
|
||||
<div style="left: 110px; top: 80px"></div>
|
||||
<div style="left: 110px; top: 110px"></div>
|
||||
<div style="left: 110px; top: 140px"></div>
|
||||
<div style="left: 110px; top: 170px"></div>
|
||||
|
||||
<div style="left: 160px; top: 50px"></div>
|
||||
<div style="left: 160px; top: 80px"></div>
|
||||
<div style="left: 160px; top: 110px"></div>
|
||||
<div style="left: 160px; top: 140px"></div>
|
||||
<div style="left: 160px; top: 170px"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20">
|
||||
<image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QDGRXhpZgAASUkqAAgAAAAHABIBAwABAAAAAwAAABoBBQABAAAAYgAAABsBBQABAAAAagAAACgBAwABAAAAAgAAADEBAgANAAAAcgAAADIBAgAUAAAAgAAAAGmHBAABAAAAlAAAAAAAAABIAAAAAQAAAEgAAAABAAAAR0lNUCAyLjEwLjE0AAAyMDIwOjAyOjEzIDExOjMyOjIwAAMAAaADAAEAAAABAAAAAqAEAAEAAABkAAAAA6AEAAEAAAAyAAAAAAAAAP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIADIAZAMBEQACEQEDEQH/xAAYAAEBAQEBAAAAAAAAAAAAAAAACAYJCv/EABgBAQEBAQEAAAAAAAAAAAAAAAAJCAoH/9oADAMBAAIQAxAAAAGK8r4nAAHcWfu4aX8p9LAAHmjqxNMAAdxZ+7hpfyn0sAAeaOrE0wAB3Fn7uGl/KfSwAB5Au6fIwAArSENod5l/RYAA58dafPIAAKNgDbzX5V0oAAJD6qOa8AAUbAG3mvyrpQAASH1Uc14AAo2ANvNflXSgAA//xAAeEAAABQUBAAAAAAAAAAAAAAAABAYVFgUHIDA1N//aAAgBAQABBQLKz/nWyz/nWyz/AJ1k4Hw4Hw4Hw4Hw4Hw4HwmVWqClEmixE0WImixE0WImixE0WOdB5Wyg8rZQeVl//8QAMBEAAAIECgsBAQAAAAAAAAAABQYAAgQHAwgVF1VWlJbT1AESEyAwNziFhrW2ERb/2gAIAQMBAT8B3nP8ui73b3onxXP8ui73b3onxXP8ui73b3onvyQFUYH2Jmw0kgKowPsTNhpJAVRgfYmbDSSAqjA+xM2GkkBVGB9iZsNJICqMD7EzYaRTSERhCL+QWtvJhTbmuF/qtq1NZdB2lohdmdTHBKbSHhmNeEX1INRSDU1ltOqooqro/FVdGhJtndVBJV1gPIpNs7qoJKusB5FJtndVBJV1gPIpNs7qoJKusB5FJtndVBJV1gPIpNs7qoJKusB5HfihdOzvfLPuDNxYoXTs73yz7gzcWKF07O98s+4M2/8A/8QALxEAAAIECwkBAQAAAAAAAAAABgcAAgMFBAgTFhdWV5aX1NUBIDA3OIWGtrcSEf/aAAgBAgEBPwHeO7meJ+y+vOnindzPE/ZfXnTxTu5nifsvrzp36CiRscKvD0I6QlBRI2OFXh6EdISgokbHCrw9COkJQUSNjhV4ehHSEoKJGxwq8PQjpCUFEjY4VeHoR0hI5hbF07IyZkQJ2gEFO+BMZnyMEgQWccFgrKUAQXatJNgwgLNkpKNV12q/5V2fpousut/Vltu1JiAipoVu86MmkxARU0K3edGTSYgIqaFbvOjJpMQEVNCt3nRk0mICKmhW7zoyaTEBFTQrd50ZPfjtdTpmeGfPgpxY7XU6Znhnz4KcWO11OmZ4Z8+Cm/8A/8QAKxAAAAMECAYDAAAAAAAAAAAAAgMEAAUGNAEgMDaUldLUEiGDhbS1ERMU/9oACAEBAAY/Aq0O929687WHe7e9edrDvdvevOvOq8SdradV4k7W06rxJ2tp1XiTtbTqvEna2nVeJO1siTpIkf6Ygv8AT9ZCd8PAkkHErPGLgLLUBAHiGIQhfFHMQqRU86aWvZEuevTdNeyJc9em6a9kS569N017Ilz16bpr2RLnr03TXsiXPXpuq6Xr+Sdapev5J1ql6/knV//EABcQAAMBAAAAAAAAAAAAAAAAAAEhUGH/2gAIAQEAAT8hm6aaGDBgwYMZeGBv3BW9CjNGDBgwYMYYY//aAAwDAQACAAMAAAAQAAAAAAAAAAAAAAAAAAADbbYSSSAAAAAAAAAAAAAAAAAAAH//xAAVEQEBAAAAAAAAAAAAAAAAAABQgf/aAAgBAwEBPxA1RRRy5cuXLmH8VsUvwlxG9+/fv373XXf/xAAVEQEBAAAAAAAAAAAAAAAAAABQgf/aAAgBAgEBPxA3DDB69evXr24QT7b2b5BGrFixYsWEkk//xAAVEAEBAAAAAAAAAAAAAAAAAABQAf/aAAgBAQABPxA3XXUGDBgwYOgVjhxRPtxEgYMGDBg8MMP/2Q==" x="-57" y="-27"></image>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
|
@ -0,0 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS aspect ratio: An intrinsic max-width should not crash when used with aspect ratio</title>
|
||||
<link rel="author" title="Google LLC" href="https://www.google.com/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
|
||||
|
||||
<div style="max-width: max-content; height: 100px; aspect-ratio: 1/1;"></div>
|
|
@ -0,0 +1,27 @@
|
|||
<!doctype html>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>CSS Text 3 test: trailing collapsible spaces and bidi</title>
|
||||
<link rel="author" title="Jose Dapena Paz" href="mailto:jdapena@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
|
||||
<link rel="match" href="reference/eol-spaces-bidi-003-ref.html">
|
||||
<link rel="match" href="reference/eol-spaces-bidi-alt-003-ref.html">
|
||||
<meta name="assert" content="Hanging space between OP and D should take paragraph direction and show in the end of the line (blue box to the left)">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
|
||||
<style>
|
||||
div {
|
||||
direction: rtl;
|
||||
|
||||
font: 20px/1 Ahem;
|
||||
margin-left: 20px;
|
||||
background: green;
|
||||
|
||||
width: 4ch;
|
||||
}
|
||||
.blue { color: blue; }
|
||||
.bgblue { background-color: blue; }
|
||||
.space { color: transparent; }
|
||||
</style>
|
||||
<p>Test passes if a blue box (the white space) is visible at the left start in first line.</p>
|
||||
<div>ب<span class="bgblue"><span class="blue">X</span>OP</span><span class="space">X<br>XXX</span>D</div>
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Text 3 test reference</title>
|
||||
<link rel="author" title="Jose Dapena Paz" href="mailto:jdapena@igalia.com">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
|
||||
<style>
|
||||
div {
|
||||
direction: rtl;
|
||||
|
||||
font: 20px/1 Ahem;
|
||||
margin-left: 20px;
|
||||
background: green;
|
||||
|
||||
width: 4ch;
|
||||
}
|
||||
.blue { color: blue; }
|
||||
.space { color: transparent; }
|
||||
</style>
|
||||
<p>Test passes if a blue box (the white space) is visible at the left start in first line.</p>
|
||||
<div>ب<span class="blue">X</span>OP<span class="space">X<br>XXX</span>D</div>
|
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Text 3 test reference</title>
|
||||
<link rel="author" title="Jose Dapena Paz" href="mailto:jdapena@igalia.com">
|
||||
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||
|
||||
<style>
|
||||
div {
|
||||
direction: rtl;
|
||||
|
||||
font: 20px/1 Ahem;
|
||||
margin-left: 20px;
|
||||
background: green;
|
||||
|
||||
width: 4ch;
|
||||
overflow: hidden;
|
||||
}
|
||||
.blue { color: blue; }
|
||||
.space { color: transparent; }
|
||||
</style>
|
||||
<p>Test passes if a blue box (the white space) is visible at the left start in first line.</p>
|
||||
<div>ب<span class="blue">X</span>OP<span class="space">X<br>XXX</span>D</div>
|
|
@ -1,21 +0,0 @@
|
|||
<!doctype html>
|
||||
<meta charset=gb18030> <!-- if the server overrides this, it is stupid, as this is a testsuite -->
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<div id=log></div>
|
||||
<script>
|
||||
function encode(input, output, desc) {
|
||||
test(function() {
|
||||
var a = document.createElement("a") // <a> uses document encoding for URL's query
|
||||
a.href = "https://example.com/?" + input
|
||||
assert_equals(a.search.substr(1), output) // remove leading "?"
|
||||
}, "gb18030 encoder: " + desc)
|
||||
}
|
||||
|
||||
encode("s", "s", "very basic")
|
||||
encode("\u20AC", "%A2%E3", "Euro")
|
||||
encode("\u4E02", "%81@", "character")
|
||||
encode("\uE4C6", "%A1@", "PUA")
|
||||
encode("\uE4C5", "%FE%FE", "PUA #2")
|
||||
encode("\ud83d\udca9", "%949%DA3", "poo")
|
||||
</script>
|
|
@ -1,21 +0,0 @@
|
|||
<!doctype html>
|
||||
<meta charset=gbk> <!-- if the server overrides this, it is stupid, as this is a testsuite -->
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<div id=log></div>
|
||||
<script>
|
||||
function encode(input, output, desc) {
|
||||
test(function() {
|
||||
var a = document.createElement("a") // <a> uses document encoding for URL's query
|
||||
a.href = "https://example.com/?" + input
|
||||
assert_equals(a.search.substr(1), output) // remove leading "?"
|
||||
}, "gbk encoder: " + desc)
|
||||
}
|
||||
|
||||
encode("s", "s", "very basic")
|
||||
encode("\u20AC", "%80", "Euro")
|
||||
encode("\u4E02", "%81@", "character")
|
||||
encode("\uE4C6", "%A1@", "PUA")
|
||||
encode("\uE4C5", "%FE%FE", "PUA #2")
|
||||
encode("\ud83d\udca9", "%26%23128169%3B", "poo")
|
||||
</script>
|
|
@ -0,0 +1,55 @@
|
|||
<!doctype html>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=resources/ranges.js></script>
|
||||
<script>
|
||||
const decode = (input, output, desc) => {
|
||||
test(function() {
|
||||
for (encoding of ["gb18030", "gbk"])
|
||||
assert_equals(new TextDecoder(encoding).decode(new Uint8Array(input)), output)
|
||||
}, "gb18030 decoder: " + desc)
|
||||
}
|
||||
|
||||
decode([115], "s", "ASCII");
|
||||
decode([0x80], "\u20AC", "euro");
|
||||
decode([0xFF], "\uFFFD", "initial byte out of accepted ranges");
|
||||
decode([0x81], "\uFFFD", "end of queue, gb18030 first not 0");
|
||||
decode([0x81, 0x28], "\ufffd(", "two bytes 0x81 0x28");
|
||||
decode([0x81, 0x40], "\u4E02", "two bytes 0x81 0x40");
|
||||
decode([0x81, 0x7E], "\u4E8A", "two bytes 0x81 0x7e");
|
||||
decode([0x81, 0x7F], "\ufffd\u007f", "two bytes 0x81 0x7f");
|
||||
decode([0x81, 0x80], "\u4E90", "two bytes 0x81 0x80");
|
||||
decode([0x81, 0xFE], "\u4FA2", "two bytes 0x81 0xFE");
|
||||
decode([0x81, 0xFF], "\ufffd", "two bytes 0x81 0xFF");
|
||||
decode([0xFE, 0x40], "\uFA0C", "two bytes 0xFE 0x40");
|
||||
decode([0xFE, 0xFE], "\uE4C5", "two bytes 0xFE 0xFE");
|
||||
decode([0xFE, 0xFF], "\ufffd", "two bytes 0xFE 0xFF");
|
||||
decode([0x81, 0x30], "\ufffd", "two bytes 0x81 0x30");
|
||||
decode([0x81, 0x30, 0xFE], "\ufffd", "three bytes 0x81 0x30 0xFE");
|
||||
decode([0x81, 0x30, 0xFF], "\ufffd0\ufffd", "three bytes 0x81 0x30 0xFF");
|
||||
decode([0x81, 0x30, 0xFE, 0x29], "\ufffd0\ufffd)", "four bytes 0x81 0x30 0xFE 0x29");
|
||||
decode([0xFE, 0x39, 0xFE, 0x39], "\ufffd", "four bytes 0xFE 0x39 0xFE 0x39");
|
||||
decode([0x81, 0x35, 0xF4, 0x36], "\u1E3E", "pointer 7458");
|
||||
decode([0x81, 0x35, 0xF4, 0x37], "\ue7c7", "pointer 7457");
|
||||
decode([0x81, 0x35, 0xF4, 0x38], "\u1E40", "pointer 7459");
|
||||
decode([0x84, 0x31, 0xA4, 0x39], "\uffff", "pointer 39419");
|
||||
decode([0x84, 0x31, 0xA5, 0x30], "\ufffd", "pointer 39420");
|
||||
decode([0x8F, 0x39, 0xFE, 0x39], "\ufffd", "pointer 189999");
|
||||
decode([0x90, 0x30, 0x81, 0x30], "\u{10000}", "pointer 189000");
|
||||
decode([0xE3, 0x32, 0x9A, 0x35], "\u{10FFFF}", "pointer 1237575");
|
||||
decode([0xE3, 0x32, 0x9A, 0x36], "\ufffd", "pointer 1237576");
|
||||
decode([0x83, 0x36, 0xC8, 0x30], "\uE7C8", "legacy ICU special case 1");
|
||||
decode([0xA1, 0xAD], "\u2026", "legacy ICU special case 2");
|
||||
decode([0xA1, 0xAB], "\uFF5E", "legacy ICU special case 3");
|
||||
|
||||
let i = 0;
|
||||
for (const range of ranges) {
|
||||
const pointer = range[0];
|
||||
decode([
|
||||
Math.floor(pointer / 12600) + 0x81,
|
||||
Math.floor((pointer % 12600) / 1260) + 0x30,
|
||||
Math.floor((pointer % 1260) / 10) + 0x81,
|
||||
pointer % 10 + 0x30
|
||||
], range[1], "range " + i++);
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,48 @@
|
|||
<!doctype html>
|
||||
<meta charset=gb18030>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=resources/ranges.js></script>
|
||||
<script>
|
||||
const encode = (input, output, desc) => {
|
||||
test(function() {
|
||||
const a = document.createElement("a"); // <a> uses document encoding for URL's query
|
||||
a.href = "https://example.com/?" + input;
|
||||
assert_equals(a.search.substr(1), output); // remove leading "?"
|
||||
}, "gb18030 encoder: " + desc);
|
||||
}
|
||||
|
||||
encode("s", "s", "very basic");
|
||||
encode("\u20AC", "%A2%E3", "Euro");
|
||||
encode("\u4E02", "%81@", "character");
|
||||
encode("\uE4C6", "%A1@", "PUA");
|
||||
encode("\uE4C5", "%FE%FE", "PUA #2");
|
||||
encode("\uE5E5", "%26%2358853%3B", "PUA #3");
|
||||
encode("\ud83d\udca9", "%949%DA3", "poo");
|
||||
encode("\uE7C7", "%815%F47", "Ranges pointer special case");
|
||||
encode("\uE7C8", "%836%C80", "legacy ICU special case 1");
|
||||
encode("\u2026", "%A1%AD", "legacy ICU special case 2");
|
||||
encode("\uFF5E", "%A1%AB", "legacy ICU special case 3");
|
||||
|
||||
const upperCaseNibble = x => {
|
||||
return Math.floor(x).toString(16).toUpperCase();
|
||||
}
|
||||
|
||||
const encodePointer = pointer => {
|
||||
const firstByte = Math.floor(pointer / 12600) + 0x81;
|
||||
const thirdByte = Math.floor((pointer % 1260) / 10) + 0x81;
|
||||
return "%"
|
||||
+ upperCaseNibble(firstByte / 16)
|
||||
+ upperCaseNibble(firstByte % 16)
|
||||
+ String.fromCharCode(Math.floor((pointer % 12600) / 1260) + 0x30)
|
||||
+ "%"
|
||||
+ upperCaseNibble(thirdByte / 16)
|
||||
+ upperCaseNibble(thirdByte % 16)
|
||||
+ String.fromCharCode(pointer % 10 + 0x30);
|
||||
}
|
||||
|
||||
let i = 0;
|
||||
for (const range of ranges) {
|
||||
encode(range[1], encodePointer(range[0]), "range " + i++);
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,210 @@
|
|||
// Based on https://encoding.spec.whatwg.org/index-gb18030-ranges.txt
|
||||
const ranges = [
|
||||
[0, "\u0080"],
|
||||
[36, "\u00A5"],
|
||||
[38, "\u00A9"],
|
||||
[45, "\u00B2"],
|
||||
[50, "\u00B8"],
|
||||
[81, "\u00D8"],
|
||||
[89, "\u00E2"],
|
||||
[95, "\u00EB"],
|
||||
[96, "\u00EE"],
|
||||
[100, "\u00F4"],
|
||||
[103, "\u00F8"],
|
||||
[104, "\u00FB"],
|
||||
[105, "\u00FD"],
|
||||
[109, "\u0102"],
|
||||
[126, "\u0114"],
|
||||
[133, "\u011C"],
|
||||
[148, "\u012C"],
|
||||
[172, "\u0145"],
|
||||
[175, "\u0149"],
|
||||
[179, "\u014E"],
|
||||
[208, "\u016C"],
|
||||
[306, "\u01CF"],
|
||||
[307, "\u01D1"],
|
||||
[308, "\u01D3"],
|
||||
[309, "\u01D5"],
|
||||
[310, "\u01D7"],
|
||||
[311, "\u01D9"],
|
||||
[312, "\u01DB"],
|
||||
[313, "\u01DD"],
|
||||
[341, "\u01FA"],
|
||||
[428, "\u0252"],
|
||||
[443, "\u0262"],
|
||||
[544, "\u02C8"],
|
||||
[545, "\u02CC"],
|
||||
[558, "\u02DA"],
|
||||
[741, "\u03A2"],
|
||||
[742, "\u03AA"],
|
||||
[749, "\u03C2"],
|
||||
[750, "\u03CA"],
|
||||
[805, "\u0402"],
|
||||
[819, "\u0450"],
|
||||
[820, "\u0452"],
|
||||
[7922, "\u2011"],
|
||||
[7924, "\u2017"],
|
||||
[7925, "\u201A"],
|
||||
[7927, "\u201E"],
|
||||
[7934, "\u2027"],
|
||||
[7943, "\u2031"],
|
||||
[7944, "\u2034"],
|
||||
[7945, "\u2036"],
|
||||
[7950, "\u203C"],
|
||||
[8062, "\u20AD"],
|
||||
[8148, "\u2104"],
|
||||
[8149, "\u2106"],
|
||||
[8152, "\u210A"],
|
||||
[8164, "\u2117"],
|
||||
[8174, "\u2122"],
|
||||
[8236, "\u216C"],
|
||||
[8240, "\u217A"],
|
||||
[8262, "\u2194"],
|
||||
[8264, "\u219A"],
|
||||
[8374, "\u2209"],
|
||||
[8380, "\u2210"],
|
||||
[8381, "\u2212"],
|
||||
[8384, "\u2216"],
|
||||
[8388, "\u221B"],
|
||||
[8390, "\u2221"],
|
||||
[8392, "\u2224"],
|
||||
[8393, "\u2226"],
|
||||
[8394, "\u222C"],
|
||||
[8396, "\u222F"],
|
||||
[8401, "\u2238"],
|
||||
[8406, "\u223E"],
|
||||
[8416, "\u2249"],
|
||||
[8419, "\u224D"],
|
||||
[8424, "\u2253"],
|
||||
[8437, "\u2262"],
|
||||
[8439, "\u2268"],
|
||||
[8445, "\u2270"],
|
||||
[8482, "\u2296"],
|
||||
[8485, "\u229A"],
|
||||
[8496, "\u22A6"],
|
||||
[8521, "\u22C0"],
|
||||
[8603, "\u2313"],
|
||||
[8936, "\u246A"],
|
||||
[8946, "\u249C"],
|
||||
[9046, "\u254C"],
|
||||
[9050, "\u2574"],
|
||||
[9063, "\u2590"],
|
||||
[9066, "\u2596"],
|
||||
[9076, "\u25A2"],
|
||||
[9092, "\u25B4"],
|
||||
[9100, "\u25BE"],
|
||||
[9108, "\u25C8"],
|
||||
[9111, "\u25CC"],
|
||||
[9113, "\u25D0"],
|
||||
[9131, "\u25E6"],
|
||||
[9162, "\u2607"],
|
||||
[9164, "\u260A"],
|
||||
[9218, "\u2641"],
|
||||
[9219, "\u2643"],
|
||||
[11329, "\u2E82"],
|
||||
[11331, "\u2E85"],
|
||||
[11334, "\u2E89"],
|
||||
[11336, "\u2E8D"],
|
||||
[11346, "\u2E98"],
|
||||
[11361, "\u2EA8"],
|
||||
[11363, "\u2EAB"],
|
||||
[11366, "\u2EAF"],
|
||||
[11370, "\u2EB4"],
|
||||
[11372, "\u2EB8"],
|
||||
[11375, "\u2EBC"],
|
||||
[11389, "\u2ECB"],
|
||||
[11682, "\u2FFC"],
|
||||
[11686, "\u3004"],
|
||||
[11687, "\u3018"],
|
||||
[11692, "\u301F"],
|
||||
[11694, "\u302A"],
|
||||
[11714, "\u303F"],
|
||||
[11716, "\u3094"],
|
||||
[11723, "\u309F"],
|
||||
[11725, "\u30F7"],
|
||||
[11730, "\u30FF"],
|
||||
[11736, "\u312A"],
|
||||
[11982, "\u322A"],
|
||||
[11989, "\u3232"],
|
||||
[12102, "\u32A4"],
|
||||
[12336, "\u3390"],
|
||||
[12348, "\u339F"],
|
||||
[12350, "\u33A2"],
|
||||
[12384, "\u33C5"],
|
||||
[12393, "\u33CF"],
|
||||
[12395, "\u33D3"],
|
||||
[12397, "\u33D6"],
|
||||
[12510, "\u3448"],
|
||||
[12553, "\u3474"],
|
||||
[12851, "\u359F"],
|
||||
[12962, "\u360F"],
|
||||
[12973, "\u361B"],
|
||||
[13738, "\u3919"],
|
||||
[13823, "\u396F"],
|
||||
[13919, "\u39D1"],
|
||||
[13933, "\u39E0"],
|
||||
[14080, "\u3A74"],
|
||||
[14298, "\u3B4F"],
|
||||
[14585, "\u3C6F"],
|
||||
[14698, "\u3CE1"],
|
||||
[15583, "\u4057"],
|
||||
[15847, "\u4160"],
|
||||
[16318, "\u4338"],
|
||||
[16434, "\u43AD"],
|
||||
[16438, "\u43B2"],
|
||||
[16481, "\u43DE"],
|
||||
[16729, "\u44D7"],
|
||||
[17102, "\u464D"],
|
||||
[17122, "\u4662"],
|
||||
[17315, "\u4724"],
|
||||
[17320, "\u472A"],
|
||||
[17402, "\u477D"],
|
||||
[17418, "\u478E"],
|
||||
[17859, "\u4948"],
|
||||
[17909, "\u497B"],
|
||||
[17911, "\u497E"],
|
||||
[17915, "\u4984"],
|
||||
[17916, "\u4987"],
|
||||
[17936, "\u499C"],
|
||||
[17939, "\u49A0"],
|
||||
[17961, "\u49B8"],
|
||||
[18664, "\u4C78"],
|
||||
[18703, "\u4CA4"],
|
||||
[18814, "\u4D1A"],
|
||||
[18962, "\u4DAF"],
|
||||
[19043, "\u9FA6"],
|
||||
[33469, "\uE76C"],
|
||||
[33470, "\uE7C8"],
|
||||
[33471, "\uE7E7"],
|
||||
[33484, "\uE815"],
|
||||
[33485, "\uE819"],
|
||||
[33490, "\uE81F"],
|
||||
[33497, "\uE827"],
|
||||
[33501, "\uE82D"],
|
||||
[33505, "\uE833"],
|
||||
[33513, "\uE83C"],
|
||||
[33520, "\uE844"],
|
||||
[33536, "\uE856"],
|
||||
[33550, "\uE865"],
|
||||
[37845, "\uF92D"],
|
||||
[37921, "\uF97A"],
|
||||
[37948, "\uF996"],
|
||||
[38029, "\uF9E8"],
|
||||
[38038, "\uF9F2"],
|
||||
[38064, "\uFA10"],
|
||||
[38065, "\uFA12"],
|
||||
[38066, "\uFA15"],
|
||||
[38069, "\uFA19"],
|
||||
[38075, "\uFA22"],
|
||||
[38076, "\uFA25"],
|
||||
[38078, "\uFA2A"],
|
||||
[39108, "\uFE32"],
|
||||
[39109, "\uFE45"],
|
||||
[39113, "\uFE53"],
|
||||
[39114, "\uFE58"],
|
||||
[39115, "\uFE67"],
|
||||
[39116, "\uFE6C"],
|
||||
[39265, "\uFF5F"],
|
||||
[39394, "\uFFE6"],
|
||||
[189000, "\u{10000}"]
|
||||
];
|
|
@ -0,0 +1,33 @@
|
|||
<!doctype html>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script>
|
||||
const gbkPointers = [
|
||||
6432, 7533, 7536, 7672, 7673, 7674, 7675, 7676, 7677, 7678, 7679, 7680, 7681, 7682, 7683, 7684,
|
||||
23766, 23770, 23771, 23772, 23773, 23774, 23776, 23777, 23778, 23779, 23780, 23781, 23782, 23784, 23785, 23786,
|
||||
23787, 23790, 23791, 23792, 23793, 23796, 23797, 23798, 23799, 23800, 23801, 23802, 23803, 23805, 23806, 23807,
|
||||
23808, 23809, 23810, 23811, 23813, 23814, 23815, 23816, 23817, 23818, 23819, 23820, 23821, 23822, 23823, 23824,
|
||||
23825, 23826, 23827, 23828, 23831, 23832, 23833, 23834, 23835, 23836, 23837, 23838, 23839, 23840, 23841, 23842,
|
||||
23843, 23844
|
||||
];
|
||||
const codePoints = [
|
||||
0x20ac, 0x1e3f, 0x01f9, 0x303e, 0x2ff0, 0x2ff1, 0x2ff2, 0x2ff3, 0x2ff4, 0x2ff5, 0x2ff6, 0x2ff7, 0x2ff8, 0x2ff9, 0x2ffa, 0x2ffb,
|
||||
0x2e81, 0x2e84, 0x3473, 0x3447, 0x2e88, 0x2e8b, 0x359e, 0x361a, 0x360e, 0x2e8c, 0x2e97, 0x396e, 0x3918, 0x39cf, 0x39df, 0x3a73,
|
||||
0x39d0, 0x3b4e, 0x3c6e, 0x3ce0, 0x2ea7, 0x2eaa, 0x4056, 0x415f, 0x2eae, 0x4337, 0x2eb3, 0x2eb6, 0x2eb7, 0x43b1, 0x43ac, 0x2ebb,
|
||||
0x43dd, 0x44d6, 0x4661, 0x464c, 0x4723, 0x4729, 0x477c, 0x478d, 0x2eca, 0x4947, 0x497a, 0x497d, 0x4982, 0x4983, 0x4985, 0x4986,
|
||||
0x499f, 0x499b, 0x49b7, 0x49b6, 0x4ca3, 0x4c9f, 0x4ca0, 0x4ca1, 0x4c77, 0x4ca2, 0x4d13, 0x4d14, 0x4d15, 0x4d16, 0x4d17, 0x4d18,
|
||||
0x4d19, 0x4dae
|
||||
];
|
||||
|
||||
for (let i = 0; i < gbkPointers.length; i++) {
|
||||
const pointer = gbkPointers[i];
|
||||
test(function() {
|
||||
const lead = pointer / 190 + 0x81;
|
||||
const trail = pointer % 190;
|
||||
const offset = trail < 0x3F ? 0x40 : 0x41;
|
||||
const encoded = [lead, trail + offset];
|
||||
const decoded = new TextDecoder("GBK").decode(new Uint8Array(encoded)).charCodeAt(0);
|
||||
assert_equals(decoded, codePoints[i]);
|
||||
}, "gbk pointer: " + pointer)
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,26 @@
|
|||
<!doctype html>
|
||||
<meta charset=gbk> <!-- if the server overrides this, it is stupid, as this is a testsuite -->
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script>
|
||||
function encode(input, output, desc) {
|
||||
test(function() {
|
||||
const a = document.createElement("a") // <a> uses document encoding for URL's query
|
||||
a.href = "https://example.com/?" + input;
|
||||
assert_equals(a.search.substr(1), output); // remove leading "?"
|
||||
}, "gbk encoder: " + desc);
|
||||
}
|
||||
|
||||
encode("s", "s", "very basic");
|
||||
encode("\u20AC", "%80", "Euro");
|
||||
encode("\u4E02", "%81@", "character");
|
||||
encode("\uE4C6", "%A1@", "PUA");
|
||||
encode("\uE4C5", "%FE%FE", "PUA #2");
|
||||
encode("\ud83d\udca9", "%26%23128169%3B", "poo");
|
||||
encode("\uE7C8", "%26%2359336%3B", "legacy ICU special case 1");
|
||||
encode("\u2026", "%A1%AD", "legacy ICU special case 2");
|
||||
encode("\uFF5E", "%A1%AB", "legacy ICU special case 3");
|
||||
encode("\u00A5", "%26%23165%3B", "legacy WebKit case 1");
|
||||
encode("\u22EF", "%26%238943%3B", "legacy WebKit case 2");
|
||||
encode("\u301C", "%26%2312316%3B", "legacy WebKit case 3");
|
||||
</script>
|
|
@ -1,4 +1,3 @@
|
|||
suggested_reviewers:
|
||||
- zcorpan
|
||||
- mikewest
|
||||
- iVanlIsh
|
||||
|
|
|
@ -4,11 +4,10 @@
|
|||
<link rel="help" href="http://www.w3.org/TR/geolocation-API/#position_options_interface">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/testdriver.js"></script>
|
||||
<script src="/resources/testdriver-vendor.js"></script>
|
||||
<script src='support.js'></script>
|
||||
|
||||
<p>Clear all Geolocation permissions before running this test. If prompted for permission, please allow.</p>
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00123
|
||||
test(function() {
|
||||
|
@ -35,7 +34,9 @@ test(function() {
|
|||
}, 'Call watchPosition with wrong type for enableHighAccuracy. No exception expected.');
|
||||
|
||||
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00086, 00088, 00091 and 00092
|
||||
test(function() {
|
||||
promise_test(async function() {
|
||||
await test_driver.set_permission({name: 'geolocation'}, 'granted');
|
||||
|
||||
var t86 = async_test('Set timeout and maximumAge to 0, check that timeout error raised (getCurrentPosition)'),
|
||||
t88 = async_test('Set timeout and maximumAge to 0, check that timeout error raised (watchPosition)'),
|
||||
t91 = async_test('Check that a negative timeout value is equivalent to a 0 timeout value (getCurrentLocation)'),
|
||||
|
|
|
@ -5,5 +5,4 @@ suggested_reviewers:
|
|||
- foolip
|
||||
- jdm
|
||||
- jgraham
|
||||
- zcorpan
|
||||
- zqzhang
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<meta charset="utf-8">
|
||||
<html>
|
||||
<body onload="openAuxiliary()">
|
||||
<a target="_blank">Open auxiliary context that will close this window (its opener)</a>
|
||||
<a rel="opener" target="_blank">Open auxiliary context that will close this window (its opener)</a>
|
||||
<script src="/common/PrefixedLocalStorage.js"></script>
|
||||
<script>
|
||||
function openAuxiliary () {
|
||||
|
|
|
@ -11,10 +11,10 @@ setup(() => prefixedStorage = new PrefixedLocalStorageTest());
|
|||
async_test(t => {
|
||||
t.add_cleanup(() => prefixedStorage.cleanup());
|
||||
prefixedStorage.onSet('hasOpener', t.step_func_done(e => {
|
||||
assert_equals(e.newValue, 'true');
|
||||
assert_equals(e.newValue, 'false');
|
||||
}));
|
||||
var a = document.getElementsByTagName('a')[0];
|
||||
a.href = prefixedStorage.url(a.href);
|
||||
a.click();
|
||||
}, 'Context created by link targeting "_blank" should retain opener reference');
|
||||
}, 'Context created by link targeting "_blank" should not have opener reference');
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
|
||||
<title>Canvas test: 2d.text.drawing.style.textRendering.settings</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/html/canvas/resources/canvas-tests.js"></script>
|
||||
<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
|
||||
<body class="show_output">
|
||||
|
||||
<h1>2d.text.drawing.style.textRendering.settings</h1>
|
||||
<p class="desc">Testing basic functionalities of textRendering in Canvas</p>
|
||||
|
||||
|
||||
<p class="output">Actual output:</p>
|
||||
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
||||
|
||||
<ul id="d"></ul>
|
||||
<script>
|
||||
var t = async_test("Testing basic functionalities of textRendering in Canvas");
|
||||
_addTest(function(canvas, ctx) {
|
||||
|
||||
// Setting textRendering with lower cases
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "auto";
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "optimizespeed";
|
||||
_assertSame(ctx.textRendering, "OptimizeSpeed", "ctx.textRendering", "\"OptimizeSpeed\"");
|
||||
|
||||
ctx.textRendering = "optimizelegibility";
|
||||
_assertSame(ctx.textRendering, "OptimizeLegibility", "ctx.textRendering", "\"OptimizeLegibility\"");
|
||||
|
||||
ctx.textRendering = "geometricprecision";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
|
||||
// Setting textRendering with lower cases and upper cases word.
|
||||
ctx.textRendering = "aUto";
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "OPtimizeSpeed";
|
||||
_assertSame(ctx.textRendering, "OptimizeSpeed", "ctx.textRendering", "\"OptimizeSpeed\"");
|
||||
|
||||
ctx.textRendering = "OPtimizELEgibility";
|
||||
_assertSame(ctx.textRendering, "OptimizeLegibility", "ctx.textRendering", "\"OptimizeLegibility\"");
|
||||
|
||||
ctx.textRendering = "GeometricPrecision";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
|
||||
// Setting textRendering with non-existing font variant.
|
||||
ctx.textRendering = "abcd";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
|
||||
<title>OffscreenCanvas test: 2d.text.drawing.style.textRendering.settings</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/html/canvas/resources/canvas-tests.js"></script>
|
||||
|
||||
<h1>2d.text.drawing.style.textRendering.settings</h1>
|
||||
<p class="desc">Testing basic functionalities of textRendering in Canvas</p>
|
||||
|
||||
|
||||
<script>
|
||||
var t = async_test("Testing basic functionalities of textRendering in Canvas");
|
||||
var t_pass = t.done.bind(t);
|
||||
var t_fail = t.step_func(function(reason) {
|
||||
throw reason;
|
||||
});
|
||||
t.step(function() {
|
||||
|
||||
var offscreenCanvas = new OffscreenCanvas(100, 50);
|
||||
var ctx = offscreenCanvas.getContext('2d');
|
||||
|
||||
// Setting textRendering with lower cases
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "auto";
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "optimizespeed";
|
||||
_assertSame(ctx.textRendering, "OptimizeSpeed", "ctx.textRendering", "\"OptimizeSpeed\"");
|
||||
|
||||
ctx.textRendering = "optimizelegibility";
|
||||
_assertSame(ctx.textRendering, "OptimizeLegibility", "ctx.textRendering", "\"OptimizeLegibility\"");
|
||||
|
||||
ctx.textRendering = "geometricprecision";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
|
||||
// Setting textRendering with lower cases and upper cases word.
|
||||
ctx.textRendering = "aUto";
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "OPtimizeSpeed";
|
||||
_assertSame(ctx.textRendering, "OptimizeSpeed", "ctx.textRendering", "\"OptimizeSpeed\"");
|
||||
|
||||
ctx.textRendering = "OPtimizELEgibility";
|
||||
_assertSame(ctx.textRendering, "OptimizeLegibility", "ctx.textRendering", "\"OptimizeLegibility\"");
|
||||
|
||||
ctx.textRendering = "GeometricPrecision";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
|
||||
// Setting textRendering with non-existing font variant.
|
||||
ctx.textRendering = "abcd";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
t.done();
|
||||
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,53 @@
|
|||
// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py.
|
||||
// OffscreenCanvas test in a worker:2d.text.drawing.style.textRendering.settings
|
||||
// Description:Testing basic functionalities of textRendering in Canvas
|
||||
// Note:
|
||||
|
||||
importScripts("/resources/testharness.js");
|
||||
importScripts("/html/canvas/resources/canvas-tests.js");
|
||||
|
||||
var t = async_test("Testing basic functionalities of textRendering in Canvas");
|
||||
var t_pass = t.done.bind(t);
|
||||
var t_fail = t.step_func(function(reason) {
|
||||
throw reason;
|
||||
});
|
||||
t.step(function() {
|
||||
|
||||
var offscreenCanvas = new OffscreenCanvas(100, 50);
|
||||
var ctx = offscreenCanvas.getContext('2d');
|
||||
|
||||
// Setting textRendering with lower cases
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "auto";
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "optimizespeed";
|
||||
_assertSame(ctx.textRendering, "OptimizeSpeed", "ctx.textRendering", "\"OptimizeSpeed\"");
|
||||
|
||||
ctx.textRendering = "optimizelegibility";
|
||||
_assertSame(ctx.textRendering, "OptimizeLegibility", "ctx.textRendering", "\"OptimizeLegibility\"");
|
||||
|
||||
ctx.textRendering = "geometricprecision";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
|
||||
// Setting textRendering with lower cases and upper cases word.
|
||||
ctx.textRendering = "aUto";
|
||||
_assertSame(ctx.textRendering, "Auto", "ctx.textRendering", "\"Auto\"");
|
||||
|
||||
ctx.textRendering = "OPtimizeSpeed";
|
||||
_assertSame(ctx.textRendering, "OptimizeSpeed", "ctx.textRendering", "\"OptimizeSpeed\"");
|
||||
|
||||
ctx.textRendering = "OPtimizELEgibility";
|
||||
_assertSame(ctx.textRendering, "OptimizeLegibility", "ctx.textRendering", "\"OptimizeLegibility\"");
|
||||
|
||||
ctx.textRendering = "GeometricPrecision";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
|
||||
// Setting textRendering with non-existing font variant.
|
||||
ctx.textRendering = "abcd";
|
||||
_assertSame(ctx.textRendering, "GeometricPrecision", "ctx.textRendering", "\"GeometricPrecision\"");
|
||||
t.done();
|
||||
|
||||
});
|
||||
done();
|
|
@ -897,4 +897,41 @@
|
|||
ctx.fontVariantCaps = "abcd";
|
||||
@assert ctx.fontVariantCaps === "TitlingCaps";
|
||||
|
||||
- name: 2d.text.drawing.style.textRendering.settings
|
||||
desc: Testing basic functionalities of textRendering in Canvas
|
||||
testing:
|
||||
- 2d.text.drawing.style.textRendering
|
||||
code: |
|
||||
// Setting textRendering with lower cases
|
||||
@assert ctx.textRendering === "Auto";
|
||||
|
||||
ctx.textRendering = "auto";
|
||||
@assert ctx.textRendering === "Auto";
|
||||
|
||||
ctx.textRendering = "optimizespeed";
|
||||
@assert ctx.textRendering === "OptimizeSpeed";
|
||||
|
||||
ctx.textRendering = "optimizelegibility";
|
||||
@assert ctx.textRendering === "OptimizeLegibility";
|
||||
|
||||
ctx.textRendering = "geometricprecision";
|
||||
@assert ctx.textRendering === "GeometricPrecision";
|
||||
|
||||
// Setting textRendering with lower cases and upper cases word.
|
||||
ctx.textRendering = "aUto";
|
||||
@assert ctx.textRendering === "Auto";
|
||||
|
||||
ctx.textRendering = "OPtimizeSpeed";
|
||||
@assert ctx.textRendering === "OptimizeSpeed";
|
||||
|
||||
ctx.textRendering = "OPtimizELEgibility";
|
||||
@assert ctx.textRendering === "OptimizeLegibility";
|
||||
|
||||
ctx.textRendering = "GeometricPrecision";
|
||||
@assert ctx.textRendering === "GeometricPrecision";
|
||||
|
||||
// Setting textRendering with non-existing font variant.
|
||||
ctx.textRendering = "abcd";
|
||||
@assert ctx.textRendering === "GeometricPrecision";
|
||||
|
||||
# TODO: shadows, alpha, composite, clip
|
|
@ -1399,4 +1399,42 @@
|
|||
@assert ctx.fontVariantCaps === "TitlingCaps";
|
||||
t.done();
|
||||
|
||||
- name: 2d.text.drawing.style.textRendering.settings
|
||||
desc: Testing basic functionalities of textRendering in Canvas
|
||||
testing:
|
||||
- 2d.text.drawing.style.textRendering
|
||||
code: |
|
||||
// Setting textRendering with lower cases
|
||||
@assert ctx.textRendering === "Auto";
|
||||
|
||||
ctx.textRendering = "auto";
|
||||
@assert ctx.textRendering === "Auto";
|
||||
|
||||
ctx.textRendering = "optimizespeed";
|
||||
@assert ctx.textRendering === "OptimizeSpeed";
|
||||
|
||||
ctx.textRendering = "optimizelegibility";
|
||||
@assert ctx.textRendering === "OptimizeLegibility";
|
||||
|
||||
ctx.textRendering = "geometricprecision";
|
||||
@assert ctx.textRendering === "GeometricPrecision";
|
||||
|
||||
// Setting textRendering with lower cases and upper cases word.
|
||||
ctx.textRendering = "aUto";
|
||||
@assert ctx.textRendering === "Auto";
|
||||
|
||||
ctx.textRendering = "OPtimizeSpeed";
|
||||
@assert ctx.textRendering === "OptimizeSpeed";
|
||||
|
||||
ctx.textRendering = "OPtimizELEgibility";
|
||||
@assert ctx.textRendering === "OptimizeLegibility";
|
||||
|
||||
ctx.textRendering = "GeometricPrecision";
|
||||
@assert ctx.textRendering === "GeometricPrecision";
|
||||
|
||||
// Setting textRendering with non-existing font variant.
|
||||
ctx.textRendering = "abcd";
|
||||
@assert ctx.textRendering === "GeometricPrecision";
|
||||
t.done();
|
||||
|
||||
# TODO: shadows, alpha, composite, clip
|
|
@ -1,2 +0,0 @@
|
|||
suggested_reviewers:
|
||||
- zcorpan
|
|
@ -1,3 +1,2 @@
|
|||
suggested_reviewers:
|
||||
- foolip
|
||||
- zcorpan
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
var a = document.createElement("a");
|
||||
a.href = location.href;
|
||||
a.target = "_blank";
|
||||
a.rel = "opener";
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
}
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
suggested_reviewers:
|
||||
- lilles
|
||||
- zcorpan
|
||||
|
|
|
@ -35,6 +35,10 @@
|
|||
start: auto;
|
||||
end: auto;
|
||||
}
|
||||
@scroll-timeline timeline_auto_auto_implicit {
|
||||
source: selector(#scroller);
|
||||
time-range: 10s;
|
||||
}
|
||||
@scroll-timeline timeline_50px_auto {
|
||||
source: selector(#scroller);
|
||||
time-range: 10s;
|
||||
|
@ -72,6 +76,7 @@
|
|||
#element_0px_100px { animation-timeline: timeline_0px_100px; }
|
||||
#element_50px_100px { animation-timeline: timeline_50px_100px; }
|
||||
#element_auto_auto { animation-timeline: timeline_auto_auto; }
|
||||
#element_auto_auto_implicit { animation-timeline: timeline_auto_auto_implicit; }
|
||||
#element_50px_auto { animation-timeline: timeline_50px_auto; }
|
||||
#element_auto_100px { animation-timeline: timeline_auto_100px; }
|
||||
#element_25p_75p { animation-timeline: timeline_25p_75p; }
|
||||
|
@ -84,6 +89,7 @@
|
|||
<div id=element_0px_100px></div>
|
||||
<div id=element_50px_100px></div>
|
||||
<div id=element_auto_auto></div>
|
||||
<div id=element_auto_auto_implicit></div>
|
||||
<div id=element_50px_auto></div>
|
||||
<div id=element_auto_100px></div>
|
||||
<div id=element_25p_75p></div>
|
||||
|
@ -146,11 +152,19 @@
|
|||
test_approximate_width_at_fraction(element_auto_auto, 0.1, '110px');
|
||||
test_approximate_width_at_fraction(element_auto_auto, 0.5, '150px');
|
||||
test_approximate_width_at_fraction(element_auto_auto, 0.9, '190px');
|
||||
|
||||
// TODO: Effects for scroll linked animations are not inclusive at max scroll
|
||||
// https://github.com/w3c/csswg-drafts/issues/5223
|
||||
test_approximate_width_at_fraction(element_auto_auto, 1, '0px');
|
||||
|
||||
// [auto, auto] (implicit)
|
||||
test_approximate_width_at_fraction(element_auto_auto_implicit, 0, '100px');
|
||||
test_approximate_width_at_fraction(element_auto_auto_implicit, 0.1, '110px');
|
||||
test_approximate_width_at_fraction(element_auto_auto_implicit, 0.5, '150px');
|
||||
test_approximate_width_at_fraction(element_auto_auto_implicit, 0.9, '190px');
|
||||
// TODO: Effects for scroll linked animations are not inclusive at max scroll
|
||||
// https://github.com/w3c/csswg-drafts/issues/5223
|
||||
test_approximate_width_at_fraction(element_auto_auto_implicit, 1, '0px');
|
||||
|
||||
// [50px, auto]
|
||||
{
|
||||
let offset = (t) => (max => 50 * (1 - t) + max * t);
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
<!doctype html>
|
||||
<title><animateTransform> 'type' attribute missing/invalid value default</title>
|
||||
<link rel="help" href="https://svgwg.org/specs/animations/#AnimateTransformElementTypeAttribute">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<svg height="10">
|
||||
<rect width="10" height="10" fill="blue">
|
||||
<animateTransform attributeName="transform" type="translate"
|
||||
fill="freeze" dur="1s" from="10 0" to="10 0"/>
|
||||
</rect>
|
||||
<rect width="10" height="10" fill="blue">
|
||||
<animateTransform attributeName="transform"
|
||||
fill="freeze" dur="1s" from="30 0" to="30 0"/>
|
||||
</rect>
|
||||
<rect width="10" height="10" fill="blue">
|
||||
<animateTransform attributeName="transform" type="foo"
|
||||
fill="freeze" dur="1s" from="50 0" to="50 0"/>
|
||||
</rect>
|
||||
<rect width="10" height="10" fill="blue">
|
||||
<animateTransform attributeName="transform" type="foo"
|
||||
fill="freeze" dur="1s" from="70 0" to="70 0"/>
|
||||
</rect>
|
||||
</svg>
|
||||
<script>
|
||||
const animations = document.querySelectorAll('animateTransform');
|
||||
|
||||
async_test(t => {
|
||||
animations[0].addEventListener('beginEvent', t.step_func_done(function() {
|
||||
let ctm = animations[0].targetElement.getCTM();
|
||||
assert_equals(ctm.e, 10);
|
||||
assert_equals(ctm.f, 0);
|
||||
}));
|
||||
}, document.title + ', "type" attribute is "translate"');
|
||||
|
||||
async_test(t => {
|
||||
animations[1].addEventListener('beginEvent', t.step_func_done(function() {
|
||||
let ctm = animations[1].targetElement.getCTM();
|
||||
assert_equals(ctm.e, 30);
|
||||
assert_equals(ctm.f, 0);
|
||||
}));
|
||||
}, document.title + ', missing "type" attribute');
|
||||
|
||||
async_test(t => {
|
||||
animations[2].addEventListener('beginEvent', t.step_func_done(function() {
|
||||
let ctm = animations[2].targetElement.getCTM();
|
||||
assert_equals(ctm.e, 0);
|
||||
assert_equals(ctm.f, 0);
|
||||
}));
|
||||
}, document.title + ', invalid "type" attribute');
|
||||
|
||||
async_test(t => {
|
||||
animations[3].addEventListener('beginEvent', t.step_func(function() {
|
||||
animations[3].removeAttribute('type');
|
||||
|
||||
window.requestAnimationFrame(t.step_func_done(function() {
|
||||
let ctm = animations[3].targetElement.getCTM();
|
||||
assert_equals(ctm.e, 70);
|
||||
assert_equals(ctm.f, 0);
|
||||
}));
|
||||
}));
|
||||
}, document.title + ', removed "type" attribute');
|
||||
</script>
|
|
@ -561,7 +561,7 @@ class Chrome(Browser):
|
|||
return self.find_nightly_binary(dest)
|
||||
|
||||
def install_mojojs(self, dest, channel, browser_binary):
|
||||
if channel == "nightly":
|
||||
if channel == "nightly" or channel == "canary":
|
||||
url = self._latest_chromium_snapshot_url() + "mojojs.zip"
|
||||
else:
|
||||
chrome_version = self.version(binary=browser_binary)
|
||||
|
@ -785,8 +785,8 @@ class Chrome(Browser):
|
|||
|
||||
try:
|
||||
version_string = call(binary, "--version").strip()
|
||||
except subprocess.CalledProcessError:
|
||||
self.logger.warning("Failed to call %s" % binary)
|
||||
except (subprocess.CalledProcessError, OSError) as e:
|
||||
self.logger.warning("Failed to call %s: %s" % (binary, e))
|
||||
return None
|
||||
m = re.match(r"(?:Google Chrome|Chromium) (.*)", version_string)
|
||||
if not m:
|
||||
|
@ -800,8 +800,8 @@ class Chrome(Browser):
|
|||
|
||||
try:
|
||||
version_string = call(webdriver_binary, "--version").strip()
|
||||
except subprocess.CalledProcessError:
|
||||
self.logger.warning("Failed to call %s" % webdriver_binary)
|
||||
except (subprocess.CalledProcessError, OSError) as e:
|
||||
self.logger.warning("Failed to call %s: %s" % (webdriver_binary, e))
|
||||
return None
|
||||
m = re.match(r"ChromeDriver ([0-9][0-9.]*)", version_string)
|
||||
if not m:
|
||||
|
|
|
@ -7,4 +7,4 @@ mozprocess==1.2.0
|
|||
mozprofile==2.5.0
|
||||
mozrunner==8.0.0
|
||||
mozversion==2.3.0
|
||||
psutil==5.7.2
|
||||
psutil==5.7.3
|
||||
|
|
|
@ -27,9 +27,7 @@
|
|||
}, "eval of !TrustedScript and !string works.");
|
||||
|
||||
test(t => {
|
||||
// The Function constructor will string-ify its arguments. Hence, this
|
||||
// will apply the default policy, despite being TrustedScript.
|
||||
assert_equals(new Function(p.createScript('return 1+1'))(), 5);
|
||||
assert_equals(new Function(p.createScript('return 1+1'))(), 2);
|
||||
}, "Function constructor of TrustedScript works.");
|
||||
|
||||
test(t => {
|
||||
|
|
|
@ -26,13 +26,11 @@
|
|||
}, "eval of !TrustedScript and !string works.");
|
||||
|
||||
test(t => {
|
||||
// The Function constructor will string-ify its arguments. Hence, this
|
||||
// throw because no default policy is defined.
|
||||
assert_throws_js(EvalError, _ => new Function(p.createScript('1+1')));
|
||||
assert_equals(new Function(p.createScript('return 1+1'))(), 2);
|
||||
}, "Function constructor of TrustedScript works.");
|
||||
|
||||
test(t => {
|
||||
assert_throws_js(EvalError, _ => new Function('1+1')());
|
||||
assert_throws_js(EvalError, _ => new Function('return 1+1')());
|
||||
}, "Function constructor of string fails.");
|
||||
</script>
|
||||
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script nonce="abc" src="/resources/testharness.js"></script>
|
||||
<script nonce="abc" src="/resources/testharnessreport.js"></script>
|
||||
<meta http-equiv="Content-Security-Policy"
|
||||
content="require-trusted-types-for 'script'">
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
let policy = trustedTypes.createPolicy("p", { createScript: s => s });
|
||||
const args = ["a", "b", "c = 5", "return (a+b)*c;"];
|
||||
const arg_max = 2 ** args.length -1;
|
||||
|
||||
// Call 'new Function(...args)', but with a subet of args being Strings,
|
||||
// and a subset being TrustedScript. We use a bitmask to determine which
|
||||
// argument gets to be trusted or not.
|
||||
function new_function_with_maybe_trusted_args(mask) {
|
||||
let maybe_trusted_args = args.map((value, arg_nr) => {
|
||||
return (mask & (2**arg_nr)) ? policy.createScript(value) : value;
|
||||
});
|
||||
return new Function(...maybe_trusted_args);
|
||||
}
|
||||
|
||||
// Generate all combinations of String/TrustedScript, except for the one
|
||||
// where all argumentes are TrustedScript.
|
||||
for (let mask = 0; mask < arg_max; mask++) {
|
||||
test(t => {
|
||||
assert_throws_js(EvalError,
|
||||
_ => new_function_with_maybe_trusted_args(mask));
|
||||
}, "Function constructor with mixed plain and trusted strings, mask #" + mask);
|
||||
}
|
||||
|
||||
// Now do one with all trusted arguments.
|
||||
test(t => {
|
||||
const f = new_function_with_maybe_trusted_args(arg_max);
|
||||
assert_equals(f(1,2,3), 9);
|
||||
assert_equals(f(1,2), 15);
|
||||
}, "Function constructor with mixed plain and trusted strings, mask #" + arg_max);
|
||||
</script>
|
||||
|
|
@ -34,11 +34,8 @@
|
|||
}, "eval with TrustedScript and permissive CSP works.");
|
||||
|
||||
test(t => {
|
||||
assert_throws_js(EvalError, _ => {
|
||||
// The Function constructor will string-ify its arguments. Hence, this
|
||||
// throw because no default policy is defined.
|
||||
let s = new Function(p.createScript('return "Hello transformed string"'));
|
||||
});
|
||||
let s = new Function(p.createScript('return "Hello transformed string"'))();
|
||||
assert_equals(s, "Hello a cat string");
|
||||
}, "new Function with TrustedScript and permissive CSP works.");
|
||||
|
||||
trustedTypes.createPolicy("default", { createScript: createScriptJS }, true);
|
||||
|
|
|
@ -70,7 +70,7 @@ standardSetup(function() {
|
|||
},
|
||||
}).runTest("navigator.credentials.create() with largeBlob.support set to required and not supported by authenticator", "NotAllowedError");
|
||||
}, {
|
||||
protocol: "ctap2",
|
||||
protocol: "ctap2_1",
|
||||
hasResidentKey: true,
|
||||
hasUserVerification: true,
|
||||
isUserVerified: true,
|
||||
|
|
|
@ -73,7 +73,7 @@ standardSetup(function() {
|
|||
assert_not_own_property(credential.getClientExtensionResults().largeBlob, "written");
|
||||
}, "navigator.credentials.create() with largeBlob.support set to required and supported by authenticator");
|
||||
}, {
|
||||
protocol: "ctap2",
|
||||
protocol: "ctap2_1",
|
||||
hasResidentKey: true,
|
||||
hasUserVerification: true,
|
||||
isUserVerified: true,
|
||||
|
|
|
@ -83,7 +83,7 @@ standardSetup(async function() {
|
|||
assert_false(assertion.getClientExtensionResults().largeBlob.written);
|
||||
}, "navigator.credentials.get() with largeBlob.write set without authenticator support");
|
||||
}, {
|
||||
protocol: "ctap2",
|
||||
protocol: "ctap2_1",
|
||||
hasResidentKey: true,
|
||||
hasUserVerification: true,
|
||||
isUserVerified: true,
|
||||
|
|
|
@ -81,7 +81,7 @@ standardSetup(async function(authenticator) {
|
|||
assert_not_own_property(assertion.getClientExtensionResults().largeBlob, "written");
|
||||
}, "navigator.credentials.get() read and write blob");
|
||||
}, {
|
||||
protocol: "ctap2",
|
||||
protocol: "ctap2_1",
|
||||
hasResidentKey: true,
|
||||
hasUserVerification: true,
|
||||
extensions: ["largeBlob"],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue