1
1
mirror of https://github.com/ariya/phantomjs.git synced 2024-09-11 12:55:33 +03:00
phantomjs/test/basics/stacktrace.js
Zack Weinberg 2121b56d5b Replace assert.js with a new test harness based on W3C testharness.js.
The principal value of this test harness is its support for asynchronous
tests -- that is, tests where you have to wait for a callback to happen
before you can continue testing.  This applies to every test in our
testsuite that uses WebPage.open(), and some others as well.  With this
harness, the test suite is significantly faster and can be made race-free.

The API is not exactly the same as W3C testharness.js -- important
differences include: test execution is serialized within a file; "file is
test" mode has been removed, as we do not need it and it adds significant
complexity; several additional assertions have been added; the ability to
mark tests as expected to fail, or as to be skipped entirely, has been added.

New-style tests can opt out of testharness.js with a "no-harness"
directive at the top of the file; this is necessary for a small number
of tests (e.g. basics/exit.js) that test functionality the harness
reserves for its own use.

All existing new-style tests have been converted to testharness.js; some
groups of tests have been consolidated into fewer files.  The naming
convention for tests in regression/ is clarified.

Part of issue #13478 (test suite overhaul).
2015-10-20 17:10:46 -04:00

14 lines
409 B
JavaScript

// A SyntaxError leaks to phantom.onError, despite the try-catch.
setup({ allow_uncaught_exception: true });
test(function () {
var helperFile = "../fixtures/parse-error-helper.js";
try {
phantom.injectJs(helperFile);
} catch (e) {
assert_equals(e.stack[0].file, helperFile);
assert_equals(e.stack[0].line, 2);
}
}, "stack trace from syntax error in injected file");