OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 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 var embedder = {}; | |
6 | |
7 window.runTest = function(testName) { | |
Fady Samuel
2014/09/18 23:22:14
Can we move these utility functions to a common fi
lfg
2014/09/22 17:44:27
I've added a TODO for this.
| |
8 if (!embedder.test.testList[testName]) { | |
9 window.console.warn('Incorrect testName: ' + testName); | |
10 embedder.test.fail(); | |
11 return; | |
12 } | |
13 | |
14 // Run the test. | |
15 embedder.test.testList[testName](); | |
16 }; | |
17 | |
18 embedder.test = {}; | |
19 | |
20 embedder.test.assertEq = function(a, b) { | |
21 if (a != b) { | |
22 window.console.warn('assertion failed: ' + a + ' != ' + b); | |
23 embedder.test.fail(); | |
24 } | |
25 }; | |
26 | |
27 embedder.test.assertFalse = function(condition) { | |
28 if (condition) { | |
29 window.console.warn('assertion failed: false != ' + condition); | |
30 embedder.test.fail(); | |
31 } | |
32 }; | |
33 | |
34 embedder.test.assertTrue = function(condition) { | |
35 if (!condition) { | |
36 window.console.warn('assertion failed: true != ' + condition); | |
37 embedder.test.fail(); | |
38 } | |
39 }; | |
40 | |
41 embedder.test.fail = function() { | |
42 chrome.test.sendMessage('TEST_FAILED'); | |
43 }; | |
44 | |
45 embedder.test.succeed = function() { | |
46 chrome.test.sendMessage('TEST_PASSED'); | |
47 }; | |
48 | |
49 | |
50 // Tests begin. | |
51 | |
52 function testAPIMethodExistence() { | |
53 var apiMethodsToCheck = [ | |
54 'back', | |
55 'canGoBack', | |
56 'canGoForward', | |
57 'forward', | |
58 'getProcessId', | |
59 'go', | |
60 'reload', | |
61 'stop', | |
62 'terminate' | |
Fady Samuel
2014/09/18 23:22:14
Can we add more methods to this?
lfg
2014/09/22 17:44:27
Done.
| |
63 ]; | |
64 var webview = document.createElement('webview'); | |
65 webview.setAttribute('partition', arguments.callee.name); | |
66 webview.addEventListener('loadstop', function(e) { | |
67 for (var i = 0; i < apiMethodsToCheck.length; ++i) { | |
68 embedder.test.assertEq('function', | |
69 typeof webview[apiMethodsToCheck[i]]); | |
70 } | |
71 | |
72 // Check contentWindow. | |
73 embedder.test.assertEq('object', typeof webview.contentWindow); | |
74 embedder.test.assertEq('function', | |
75 typeof webview.contentWindow.postMessage); | |
Fady Samuel
2014/09/18 23:22:14
nit: alignment
lfg
2014/09/22 17:44:27
Done.
| |
76 embedder.test.succeed(); | |
77 }); | |
78 webview.setAttribute('src', 'data:text/html,webview check api'); | |
79 document.body.appendChild(webview); | |
80 } | |
81 | |
82 embedder.test.testList = { | |
83 'testAPIMethodExistence': testAPIMethodExistence | |
84 }; | |
85 | |
86 onload = function() { | |
87 chrome.test.sendMessage('LAUNCHED'); | |
88 }; | |
OLD | NEW |