| Index: chrome/test/data/extensions/api_test/cross_origin_xhr/background_page/test.js
|
| ===================================================================
|
| --- chrome/test/data/extensions/api_test/cross_origin_xhr/background_page/test.js (revision 0)
|
| +++ chrome/test/data/extensions/api_test/cross_origin_xhr/background_page/test.js (revision 0)
|
| @@ -0,0 +1,60 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +chrome.test.getConfig(function(config) {
|
| +
|
| + function doReq(domain, expectSuccess) {
|
| + var req = new XMLHttpRequest();
|
| + var url = domain + ":PORT/files/extensions/test_file.txt";
|
| + url = url.replace(/PORT/, config.testServer.port);
|
| +
|
| + chrome.test.log("Requesting url: " + url);
|
| + req.open("GET", url, true);
|
| +
|
| +
|
| + if (expectSuccess) {
|
| + req.onload = function() {
|
| + chrome.test.assertEq(200, req.status);
|
| + chrome.test.assertEq("Hello!", req.responseText);
|
| + chrome.test.runNextTest();
|
| + }
|
| + req.onerror = function() {
|
| + chrome.test.log("status: " + req.status);
|
| + chrome.test.log("text: " + req.responseText);
|
| + chrome.test.fail("Unexpected error for domain: " + domain);
|
| + }
|
| + } else {
|
| + req.onload = function() {
|
| + chrome.test.fail("Unexpected success for domain: " + domain);
|
| + }
|
| + req.onerror = function() {
|
| + chrome.test.assertEq(0, req.status);
|
| + chrome.test.runNextTest();
|
| + }
|
| + }
|
| +
|
| + req.send(null);
|
| + }
|
| +
|
| + chrome.test.runTests([
|
| + function allowedOrigin() {
|
| + doReq("http://a.com", true);
|
| + },
|
| + function diallowedOrigin() {
|
| + doReq("http://c.com", false);
|
| + },
|
| + function allowedSubdomain() {
|
| + doReq("http://foo.b.com", true);
|
| + },
|
| + function noSubdomain() {
|
| + doReq("http://b.com", true);
|
| + },
|
| + function disallowedSubdomain() {
|
| + doReq("http://foob.com", false);
|
| + },
|
| + function disallowedSSL() {
|
| + doReq("https://a.com", false);
|
| + }
|
| + ]);
|
| +});
|
|
|