diff options
| author | Stephen Blott | 2015-05-26 07:19:52 +0100 |
|---|---|---|
| committer | Stephen Blott | 2015-05-26 07:19:52 +0100 |
| commit | 6b49dd27cb20ef5f830b1107b39480201796885d (patch) | |
| tree | e455d1fc3c2c5ef0fb6ea289c48dc8b63a5d521e /tests | |
| parent | 8b57d179a1655dbce081b321445f34a4aad696f4 (diff) | |
| download | vimium-6b49dd27cb20ef5f830b1107b39480201796885d.tar.bz2 | |
Refactor to avoid potential race condition.
I haven't seen this happen, but...
It could be possible for the iframe's contents to load before this
callback is called (on nextTick), in which case the "load" callback
wouldn't be called. So we delay setting the iframe's source until
nextTick has elapsed.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/dom_tests/phantom_runner.coffee | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/tests/dom_tests/phantom_runner.coffee b/tests/dom_tests/phantom_runner.coffee index 93218724..e0382a35 100644 --- a/tests/dom_tests/phantom_runner.coffee +++ b/tests/dom_tests/phantom_runner.coffee @@ -37,15 +37,20 @@ page.open testfile, (status) -> console.log 'Unable to load tests.' phantom.exit 1 - testsFailed = page.evaluate -> - Tests.run() - return Tests.testsFailed - - if system.args[1] == '--coverage' - data = page.evaluate -> JSON.stringify _$jscoverage - fs.write dirname + 'dom_tests_coverage.json', data, 'w' - - if testsFailed > 0 - phantom.exit 1 - else - phantom.exit 0 + runTests = -> + testsFailed = page.evaluate -> + Tests.run() + return Tests.testsFailed + + if system.args[1] == '--coverage' + data = page.evaluate -> JSON.stringify _$jscoverage + fs.write dirname + 'dom_tests_coverage.json', data, 'w' + + if testsFailed > 0 + phantom.exit 1 + else + phantom.exit 0 + + # We add a short delay to allow asynchronous initialization (that is, initialization which happens on + # "nextTick") to complete. + setTimeout runTests, 10 |
