Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html

Issue 2517173002: XMLHttpRequest.abort(): follow spec wrt readyState transitions. (Closed)
Patch Set: fix pass test predicate Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <html> 1 <html>
2 <head></head> 2 <head></head>
3 <body> 3 <body>
4 4
5 <p>Test bug 13141 : XMLHttpRequest should set readyState to 0 after abort() </p> 5 <p>Test bug 13141 : XMLHttpRequest should set readyState to 0 after abort() </p>
6 <p>Updated for bug 16989: Add send() flag checks in XmlHttpRequest </p> 6 <p>Updated for bug 16989: Add send() flag checks in XmlHttpRequest </p>
7 <p>Should see "PASS" two times:</p> 7 <p>Should see "PASS" two times:</p>
8 <div id="ans"></div> 8 <div id="ans"></div>
9 9
10 <script type="text/javascript"> 10 <script type="text/javascript">
(...skipping 19 matching lines...) Expand all
30 } catch (ex) { 30 } catch (ex) {
31 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 31 xhr = new ActiveXObject("Microsoft.XMLHTTP");
32 } 32 }
33 } 33 }
34 34
35 xhr.onreadystatechange = function () { 35 xhr.onreadystatechange = function () {
36 if (this.readyState == num) { 36 if (this.readyState == num) {
37 ++finishedTests; 37 ++finishedTests;
38 this.onreadystatechange = catchReadystateEventAbort; 38 this.onreadystatechange = catchReadystateEventAbort;
39 this.abort(); 39 this.abort();
40 if (this.readyState == 0) 40 // Following https://github.com/whatwg/xhr/issues/54, abort() should
41 // set readyState to UNSENT only when it (readyState) is DONE.
42 var pass;
43 if (num == XMLHttpRequest.DONE)
44 pass = this.readyState == XMLHttpRequest.UNSENT;
45 else
46 pass = this.readyState == num;
47
48 if (pass)
41 log("PASS"); 49 log("PASS");
42 else 50 else
43 log("FAILED"); 51 log("FAILED");
44 } 52 }
45 53
46 if (finishedTests == abortToDo.length && window.testRunner) 54 if (finishedTests == abortToDo.length && window.testRunner)
47 testRunner.notifyDone(); 55 testRunner.notifyDone();
48 } 56 }
49 57
50 xhr.open("GET", "resources/1251.html", true); 58 xhr.open("GET", "resources/1251.html", true);
51 59
52 // We want to be able to test in the OPENED state with the send() flag to fa lse 60 // We want to be able to test in the OPENED state with the send() flag to fa lse
53 // so do not call send in that case 61 // so do not call send in that case
54 if (num != 1) 62 if (num != 1)
55 xhr.send(null); 63 xhr.send(null);
56 } 64 }
57 65
58 if (window.testRunner) { 66 if (window.testRunner) {
59 testRunner.dumpAsText(); 67 testRunner.dumpAsText();
60 testRunner.waitUntilDone(); 68 testRunner.waitUntilDone();
61 } 69 }
62 70
63 var finishedTests = 0; 71 var finishedTests = 0;
64 72
65 var abortToDo = ['1', '4']; 73 var abortToDo = ['1', '4'];
66 74
67 for (i = 0; i < abortToDo.length; i++) 75 for (i = 0; i < abortToDo.length; i++)
68 testAbortDoNotDispatchEvent(abortToDo[i]); 76 testAbortDoNotDispatchEvent(abortToDo[i]);
69 77
70 </script> 78 </script>
71 </body> 79 </body>
72 </html> 80 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698