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

Unified Diff: chrome/test/data/extensions/api_test/proxy/events/invalid_proxy.js

Issue 8762014: Move another set of extension tests to manifest_version 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/proxy/events/invalid_proxy.js
===================================================================
--- chrome/test/data/extensions/api_test/proxy/events/invalid_proxy.js (revision 0)
+++ chrome/test/data/extensions/api_test/proxy/events/invalid_proxy.js (revision 0)
@@ -0,0 +1,54 @@
+// 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.
+
+// proxy api test
+// browser_tests.exe --gtest_filter=ProxySettingsApiTest.ProxyEventsInvalidProxy
+
+var expected_error = {
+ error: "net::ERR_PROXY_CONNECTION_FAILED",
+ details: "",
+ fatal: true
+};
+var empty_json_url = "";
+
+function test() {
+ // Install error handler and get the test server config.
+ chrome.proxy.onProxyError.addListener(function (error) {
+ chrome.test.assertEq(expected_error, error);
+ chrome.test.notifyPass();
+ });
+ chrome.test.getConfig(readConfigAndSetProxy);
+}
+
+function readConfigAndSetProxy(test_config) {
+ // Construct the URL used for XHRs and set the proxy settings.
+ empty_json_url = "http://127.0.0.1:" +
+ test_config.testServer.port +
+ "/files/extensions/api_test/proxy/events/empty.json";
+
+ // Set an invalid proxy and fire of a XHR. This should trigger proxy errors.
+ // There may be any number of proxy errors, as systems like safe browsing
+ // might start network traffic as well.
+ var rules = {
+ singleProxy: { host: "does.not.exist" }
+ };
+ var config = { rules: rules, mode: "fixed_servers" };
+ chrome.proxy.settings.set({'value': config}, sendFailingXHR);
+}
+
+function sendFailingXHR() {
+ var req = new XMLHttpRequest();
+ req.open("GET", empty_json_url, true);
+ req.onload = function () {
+ chrome.test.notifyFail("proxy settings should not work");
+ }
+ req.onerror = testDone;
+ req.send(null);
+}
+
+function testDone() {
+ // Do nothing. The test success/failure is decided in the event handler.
+}
+
+test();

Powered by Google App Engine
This is Rietveld 408576698