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 // test_custom_bindings.js | 5 // test_custom_bindings.js |
6 // mini-framework for ExtensionApiTest browser tests | 6 // mini-framework for ExtensionApiTest browser tests |
7 | 7 |
8 var binding = require('binding').Binding.create('test'); | 8 var binding = require('binding').Binding.create('test'); |
9 | 9 |
10 var chrome = requireNative('chrome').GetChrome(); | 10 var chrome = requireNative('chrome').GetChrome(); |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 chromeTest.assertEq(expectedError, chrome.runtime.lastError.message); | 228 chromeTest.assertEq(expectedError, chrome.runtime.lastError.message); |
229 }); | 229 }); |
230 | 230 |
231 apiFunctions.setHandleRequest('assertThrows', | 231 apiFunctions.setHandleRequest('assertThrows', |
232 function(fn, self, args, message) { | 232 function(fn, self, args, message) { |
233 chromeTest.assertTrue(typeof fn == 'function'); | 233 chromeTest.assertTrue(typeof fn == 'function'); |
234 try { | 234 try { |
235 fn.apply(self, args); | 235 fn.apply(self, args); |
236 chromeTest.fail('Did not throw error: ' + fn); | 236 chromeTest.fail('Did not throw error: ' + fn); |
237 } catch (e) { | 237 } catch (e) { |
238 if (message !== undefined) | 238 if (e != failureException && message !== undefined) { |
239 chromeTest.assertEq(message, e.message); | 239 if (message instanceof RegExp) { |
| 240 chromeTest.assertTrue(message.test(e.message), |
| 241 e.message + ' should match ' + message) |
| 242 } else { |
| 243 chromeTest.assertEq(message, e.message); |
| 244 } |
| 245 } |
240 } | 246 } |
241 }); | 247 }); |
242 | 248 |
243 function safeFunctionApply(func, args) { | 249 function safeFunctionApply(func, args) { |
244 try { | 250 try { |
245 if (func) | 251 if (func) |
246 $Function.apply(func, null, args); | 252 $Function.apply(func, null, args); |
247 } catch (e) { | 253 } catch (e) { |
248 var msg = "uncaught exception " + e; | 254 var msg = "uncaught exception " + e; |
249 chromeTest.fail(msg); | 255 chromeTest.fail(msg); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 apiFunctions.setHandleRequest('getApiDefinitions', function() { | 322 apiFunctions.setHandleRequest('getApiDefinitions', function() { |
317 return GetExtensionAPIDefinitionsForTest(); | 323 return GetExtensionAPIDefinitionsForTest(); |
318 }); | 324 }); |
319 | 325 |
320 apiFunctions.setHandleRequest('getApiFeatures', function() { | 326 apiFunctions.setHandleRequest('getApiFeatures', function() { |
321 return GetAPIFeatures(); | 327 return GetAPIFeatures(); |
322 }); | 328 }); |
323 }); | 329 }); |
324 | 330 |
325 exports.binding = binding.generate(); | 331 exports.binding = binding.generate(); |
OLD | NEW |