blob: f5407cd0d5841b75e3f7970f16421b35ea8aaf6a [file]
// Copyright 2011 The Chromium Authors
// 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.ProxyPacDataUrl
chrome.test.runTests([
// Verify that execution has started to make sure flaky timeouts are not
// caused by us.
function verifyTestsHaveStarted() {
chrome.test.succeed();
},
function setAutoSettings() {
const expectedPacScript = `function FindProxyForURL(url, host) {
if (host == 'foobar.com')
return 'PROXY blackhole:80';
return 'DIRECT';
}`;
const pacScriptObject = {
url: 'data:;base64,ZnVuY3Rpb24gRmluZFByb3h5Rm9yVVJMKHVybCwgaG9zdCkgewo' +
'gIGlmIChob3N0ID09ICdmb29iYXIuY29tJykKICAgIHJldHVybiAnUFJPWFkgYmx' +
'hY2tob2xlOjgwJzsKICByZXR1cm4gJ0RJUkVDVCc7Cn0=',
};
const config = {
mode: 'pac_script',
pacScript: pacScriptObject,
};
chrome.proxy.settings.set({value: config}, function() {
chrome.proxy.settings.get({}, function(config) {
chrome.test.assertEq(expectedPacScript, config.value.pacScript.data);
chrome.test.succeed();
});
});
},
]);