| OLD | NEW |
| 1 // api_test.js | 1 // api_test.js |
| 2 // mini-framework for ExtensionApiTest browser tests | 2 // mini-framework for ExtensionApiTest browser tests |
| 3 // TODO(erikkay) - figure out a way to share this code across extensions | 3 // TODO(erikkay) - figure out a way to share this code across extensions |
| 4 | 4 |
| 5 var completed = false; | 5 var completed = false; |
| 6 var tests; | 6 var tests; |
| 7 var currentTest; | 7 var currentTest; |
| 8 | 8 |
| 9 function complete() { | 9 function complete() { |
| 10 completed = true; | 10 completed = true; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 } | 73 } |
| 74 fail(message); | 74 fail(message); |
| 75 } | 75 } |
| 76 } | 76 } |
| 77 | 77 |
| 78 function assertNoLastError() { | 78 function assertNoLastError() { |
| 79 if (chrome.extension.lastError != undefined) { | 79 if (chrome.extension.lastError != undefined) { |
| 80 fail("lastError.message == " + chrome.extension.lastError.message); | 80 fail("lastError.message == " + chrome.extension.lastError.message); |
| 81 } | 81 } |
| 82 } | 82 } |
| 83 |
| 84 // Wrapper for generating test functions, that takes care of calling |
| 85 // assertNoLastError() and succeed() for you. |
| 86 function testFunction(func) { |
| 87 return function() { |
| 88 assertNoLastError(); |
| 89 try { |
| 90 func.apply(null, arguments); |
| 91 } catch (e) { |
| 92 var stack = null; |
| 93 if (typeof(e.stack) != "undefined") { |
| 94 stack = e.stack.toString() |
| 95 } |
| 96 var msg = "Exception during execution of testFunction in " + |
| 97 currentTest.name; |
| 98 if (stack) { |
| 99 msg += "\n" + stack; |
| 100 } else { |
| 101 msg += "\n(no stack available)"; |
| 102 } |
| 103 fail(msg); |
| 104 } |
| 105 succeed(); |
| 106 }; |
| 107 } |
| OLD | NEW |