| Index: chrome/test/data/extensions/api_test/content_scripts/fragment/background.js
|
| ===================================================================
|
| --- chrome/test/data/extensions/api_test/content_scripts/fragment/background.js (revision 0)
|
| +++ chrome/test/data/extensions/api_test/content_scripts/fragment/background.js (revision 0)
|
| @@ -0,0 +1,78 @@
|
| +// 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.
|
| +
|
| +var failed = false;
|
| +
|
| +function did_fail() {
|
| + return failed;
|
| +}
|
| +
|
| +function set_failed(val) {
|
| + failed = val;
|
| +}
|
| +
|
| +function fail() {
|
| + set_failed(true);
|
| + if (!did_fail()) {
|
| + chrome.test.fail();
|
| + }
|
| +}
|
| +
|
| +var test_url = "http://localhost:PORT/files/extensions/test_file.html";
|
| +
|
| +// For running in normal chrome (ie outside of the browser_tests environment),
|
| +// set debug to 1 here.
|
| +var debug = 0;
|
| +if (debug) {
|
| + test_url = "http://www.google.com";
|
| + chrome.test.log = function(msg) { console.log(msg) };
|
| + chrome.test.runTests = function(tests) {
|
| + for (var i in tests) {
|
| + tests[i]();
|
| + }
|
| + };
|
| + chrome.test.succeed = function(){ console.log("succeed"); };
|
| + chrome.test.fail = function(){ console.log("fail"); };
|
| +}
|
| +
|
| +function runTests() {
|
| + chrome.test.runTests([
|
| + function test1() {
|
| + chrome.extension.onRequest.addListener(function(req, sender) {
|
| + chrome.test.log("got request: " + JSON.stringify(req));
|
| + if (req == "fail") {
|
| + fail();
|
| + } else if (req == "content_script_start") {
|
| + var tab = sender.tab;
|
| + if (tab.url.indexOf("#") != -1) {
|
| + fail();
|
| + } else {
|
| + chrome.tabs.update(tab.id, {"url": tab.url + "#foo"});
|
| + }
|
| + }
|
| + });
|
| + chrome.tabs.onUpdated.addListener(function(tabid, info, tab) {
|
| + chrome.test.log("onUpdated status: " + info.status + " url:" + tab.url);
|
| + if (info.status == "complete" && tab.url.indexOf("#foo") != -1) {
|
| + setTimeout(function() {
|
| + if (!did_fail()) {
|
| + chrome.test.succeed();
|
| + }
|
| + }, 750);
|
| + }
|
| + });
|
| + chrome.test.log("creating tab");
|
| + chrome.tabs.create({"url": test_url});
|
| + }
|
| + ]);
|
| +}
|
| +
|
| +if (debug) {
|
| + runTests();
|
| +} else {
|
| + chrome.test.getConfig(function(config) {
|
| + test_url = test_url.replace(/PORT/, config.testServer.port);
|
| + runTests();
|
| + });
|
| +}
|
|
|