- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / proxy / bypass / test.js
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // proxy api test
6 // browser_tests.exe --gtest_filter=ProxySettingsApiTest.ProxyBypass
7
8 function expect(expected, message) {
9   return chrome.test.callbackPass(function(value) {
10     chrome.test.assertEq(expected, value, message);
11   });
12 }
13
14 var httpProxy = {
15   host: "1.1.1.1"
16 };
17 var httpProxyExpected = {
18   scheme: "http",
19   host: "1.1.1.1",
20   port: 80
21 };
22
23 var rules = {
24   proxyForHttp: httpProxy,
25   bypassList: ["localhost", "::1", "foo.bar", "<local>"]
26 };
27 var rulesExpected = {
28   proxyForHttp: httpProxyExpected,
29   bypassList: ["localhost", "::1", "foo.bar", "<local>"]
30 };
31
32 var config = { rules: rules, mode: "fixed_servers" };
33 var configExpected = { rules: rulesExpected, mode: "fixed_servers" };
34
35 chrome.test.runTests([
36   // Verify that execution has started to make sure flaky timeouts are not
37   // caused by us.
38   function verifyTestsHaveStarted() {
39     chrome.test.succeed();
40   },
41   function setIndividualProxies() {
42     chrome.proxy.settings.set(
43         {'value': config},
44         chrome.test.callbackPass());
45   },
46   function verifyRegular() {
47     chrome.proxy.settings.get(
48         {'incognito': false},
49         expect({ 'value': configExpected,
50                  'levelOfControl': "controlled_by_this_extension" },
51                "invalid proxy settings"));
52   },
53   function verifyIncognito() {
54     chrome.proxy.settings.get(
55         {'incognito': true},
56         expect({ 'value': configExpected,
57                  'incognitoSpecific': false,
58                  'levelOfControl': "controlled_by_this_extension" },
59                "invalid proxy settings"));
60   }
61 ]);