Index: chrome/test/data/extensions/api_test/preference/test.html |
diff --git a/chrome/test/data/extensions/api_test/preference/test.html b/chrome/test/data/extensions/api_test/preference/test.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fb0fde48bfffb1a577bdfc422bd64021871ddb35 |
--- /dev/null |
+++ b/chrome/test/data/extensions/api_test/preference/test.html |
@@ -0,0 +1,64 @@ |
+<script> |
+// Preferences API test |
+// Run with browser_tests --gtest_filter=ExtensionApiTest.PreferenceApi |
+ |
+var preferences_to_test = [ |
+ { |
+ root: chrome.experimental.networkSettings, |
+ preferences: [ |
+ 'thirdPartyCookiesAllowed', |
+ 'hyperlinkAuditingEnabled', |
+ 'networkPredictionEnabled', |
+ 'referrersEnabled' |
+ ] |
+ }, |
+ { |
+ root: chrome.experimental.networkServices, |
+ preferences: [ |
+ 'alternateErrorPagesEnabled', |
+ 'autofillEnabled', |
+ 'instantEnabled', |
+ // TODO(mkwst): 'metricsReportingEnabled', |
+ 'safeBrowsingEnabled', |
+ 'searchSuggestEnabled', |
+ 'translateEnabled' |
+ ] |
+ }, |
+]; |
+ |
+function expect(expected, message) { |
+ return chrome.test.callbackPass(function(value) { |
+ chrome.test.assertEq(expected, value, message); |
+ }); |
+} |
+ |
+function expectFalse(pref) { |
+ return expect({ |
+ value: false, |
+ levelOfControl: 'controllable_by_this_extension' |
+ }, '`' + pref + '` is expected to be false.'); |
+} |
+ |
+function prefGetter(pref) { |
+ this[pref].get({}, expectFalse(pref)); |
+} |
+ |
+function prefSetter(pref) { |
+ this[pref].set({value: true}, chrome.test.callbackPass()); |
+} |
+ |
+chrome.test.runTests([ |
+ function getPreferences() { |
+ for (var i = 0; i < preferences_to_test.length; i++) { |
+ preferences_to_test[i].preferences.forEach( |
+ prefGetter.bind(preferences_to_test[i].root)); |
+ } |
+ }, |
+ function setGlobals() { |
+ for (var i = 0; i < preferences_to_test.length; i++) { |
+ preferences_to_test[i].preferences.forEach( |
+ prefSetter.bind(preferences_to_test[i].root)); |
+ } |
+ } |
+]); |
+</script> |