| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var relativePath = | 5 var relativePath = |
| 6 '/extensions/api_test/executescript/callback/test.html'; | 6 '/extensions/api_test/executescript/callback/test.html'; |
| 7 var testUrl = 'http://b.com:PORT' + relativePath; | 7 var testUrl = 'http://b.com:PORT' + relativePath; |
| 8 | 8 |
| 9 chrome.test.getConfig(function(config) { | 9 chrome.test.getConfig(function(config) { |
| 10 testUrl = testUrl.replace(/PORT/, config.testServer.port); | 10 testUrl = testUrl.replace(/PORT/, config.testServer.port); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 | 79 |
| 80 function executeCallbackObjShouldSucceed() { | 80 function executeCallbackObjShouldSucceed() { |
| 81 var scriptDetails = {code: 'var obj = {"id": "foo", "bar": 9}; obj'}; | 81 var scriptDetails = {code: 'var obj = {"id": "foo", "bar": 9}; obj'}; |
| 82 chrome.tabs.executeScript(tabId, scriptDetails, function(scriptVal) { | 82 chrome.tabs.executeScript(tabId, scriptDetails, function(scriptVal) { |
| 83 chrome.tabs.get(tabId, chrome.test.callbackPass(function(tab) { | 83 chrome.tabs.get(tabId, chrome.test.callbackPass(function(tab) { |
| 84 chrome.test.assertEq({"id": "foo", "bar": 9}, scriptVal[0]); | 84 chrome.test.assertEq({"id": "foo", "bar": 9}, scriptVal[0]); |
| 85 })); | 85 })); |
| 86 }); | 86 }); |
| 87 }, | 87 }, |
| 88 | 88 |
| 89 // DOM objects (nodes, properties, etc) should not get converted. We | 89 // DOM objects (nodes, properties, etc) should be converted to empty |
| 90 // could try to convert them the best they can but it's undefined what | 90 // objects. We could try to convert them the best they can but it's |
| 91 // that means. | 91 // undefined what that means. Ideally it'd just throw an exception but |
| 92 // the backwards compatible ship sailed long ago. |
| 92 function executeCallbackDOMObjShouldSucceedAndReturnNull() { | 93 function executeCallbackDOMObjShouldSucceedAndReturnNull() { |
| 93 [ 'document', | 94 [ 'document', |
| 94 'document.getElementById("testDiv")', | 95 'document.getElementById("testDiv")', |
| 95 'new XMLHttpRequest()', | 96 'new XMLHttpRequest()', |
| 96 'document.location', | 97 'document.location', |
| 97 'navigator', | 98 'navigator', |
| 98 ].forEach(function(expr) { | 99 ].forEach(function(expr) { |
| 99 chrome.tabs.executeScript(tabId, | 100 chrome.tabs.executeScript(tabId, |
| 100 {code: 'var obj = ' + expr + '; obj'}, | 101 {code: 'var obj = ' + expr + '; obj'}, |
| 101 chrome.test.callbackPass(function(result) { | 102 chrome.test.callbackPass(function(result) { |
| 102 chrome.test.assertEq([null], result, 'Failed for ' + expr); | 103 chrome.test.assertEq([{}], result, 'Failed for ' + expr); |
| 103 })); | 104 })); |
| 104 }); | 105 }); |
| 105 }, | 106 }, |
| 106 | 107 |
| 107 // All non-integer properties are droped. | 108 // All non-integer properties are droped. |
| 108 function executeCallbackArrayWithNonNumericFieldsShouldSucceed() { | 109 function executeCallbackArrayWithNonNumericFieldsShouldSucceed() { |
| 109 var scriptDetails = {} | 110 var scriptDetails = {} |
| 110 scriptDetails.code = 'var arr = [1, 2]; arr.foo = "bar"; arr;'; | 111 scriptDetails.code = 'var arr = [1, 2]; arr.foo = "bar"; arr;'; |
| 111 chrome.tabs.executeScript(tabId, scriptDetails, function(scriptVal) { | 112 chrome.tabs.executeScript(tabId, scriptDetails, function(scriptVal) { |
| 112 chrome.tabs.get(tabId, chrome.test.callbackPass(function(tab) { | 113 chrome.tabs.get(tabId, chrome.test.callbackPass(function(tab) { |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 // is not null | 153 // is not null |
| 153 chrome.test.assertFalse(null == scriptVal[0]); | 154 chrome.test.assertFalse(null == scriptVal[0]); |
| 154 })); | 155 })); |
| 155 }); | 156 }); |
| 156 }, | 157 }, |
| 157 ]); | 158 ]); |
| 158 }); | 159 }); |
| 159 chrome.tabs.create({ url: testUrl }); | 160 chrome.tabs.create({ url: testUrl }); |
| 160 | 161 |
| 161 }); | 162 }); |
| OLD | NEW |