| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- /* This Source Code Form is subject to the terms of the Mozilla Public
 
-  * License, v. 2.0. If a copy of the MPL was not distributed with this
 
-  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-  'use strict'
 
- const { XMLHttpRequest } = require('sdk/net/xhr');
 
- const { LoaderWithHookedConsole } = require('sdk/test/loader');
 
- const { set: setPref } = require("sdk/preferences/service");
 
- const data = require("./fixtures");
 
- const DEPRECATE_PREF = "devtools.errorconsole.deprecation_warnings";
 
- exports.testAPIExtension = function(assert) {
 
-   let { loader, messages } = LoaderWithHookedConsole(module);
 
-   let { XMLHttpRequest } = loader.require("sdk/net/xhr");
 
-   setPref(DEPRECATE_PREF, true);
 
-   let xhr = new XMLHttpRequest();
 
-   assert.equal(typeof(xhr.forceAllowThirdPartyCookie), "function",
 
-                "forceAllowThirdPartyCookie is defined");
 
-   assert.equal(xhr.forceAllowThirdPartyCookie(), undefined,
 
-                "function can be called");
 
-   assert.ok(messages[0].msg.indexOf("`xhr.forceAllowThirdPartyCookie()` is deprecated") >= 0,
 
-             "deprecation warning was dumped");
 
-   assert.ok(xhr.mozBackgroundRequest, "is background request");
 
-   loader.unload();
 
- };
 
- exports.testAbortedXhr = function(assert, done) {
 
-   let req = new XMLHttpRequest();
 
-   req.open('GET', data.url('testLocalXhr.json'));
 
-   req.addEventListener("abort", function() {
 
-     assert.pass("request was aborted");
 
-     done();
 
-   });
 
-   req.send(null);
 
-   req.abort();
 
- };
 
- exports.testLocalXhr = function(assert, done) {
 
-   let req = new XMLHttpRequest();
 
-   let ready = false;
 
-   req.overrideMimeType('text/plain');
 
-   req.open('GET', data.url('testLocalXhr.json'));
 
-   req.onreadystatechange = function() {
 
-     if (req.readyState == 4 && (req.status == 0 || req.status == 200)) {
 
-       ready = true;
 
-       assert.equal(req.responseText, '{}\n', 'XMLHttpRequest should get local files');
 
-     }
 
-   };
 
-   req.addEventListener('load', function onload() {
 
-     req.removeEventListener('load', onload);
 
-     assert.pass('addEventListener for load event worked');
 
-     assert.ok(ready, 'onreadystatechange listener worked');
 
-     done();
 
-   });
 
-   req.send(null);
 
- };
 
- exports.testResponseHeaders = function(assert, done) {
 
-   let req = new XMLHttpRequest();
 
-   req.overrideMimeType('text/plain');
 
-   req.open('GET', module.uri);
 
-   req.onreadystatechange = function() {
 
-     if (req.readyState == 4 && (req.status == 0 || req.status == 200)) {
 
-       var headers = req.getAllResponseHeaders();
 
-       headers = headers.split("\r\n");
 
-       if (headers.length == 1) {
 
-         headers = headers[0].split("\n");
 
-       }
 
-       for (let i in headers) {
 
-         if (headers[i] && headers[i].search('Content-Type') >= 0) {
 
-           assert.equal(headers[i], 'Content-Type: text/plain',
 
-                        'XHR\'s headers are valid');
 
-         }
 
-       }
 
-       done();
 
-     }
 
-   };
 
-   req.send(null);
 
- }
 
- require('test').run(exports);
 
 
  |