mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 14:48:14 +00:00
LibJS+LibWeb: Clear exceptions after call'ing JavaScript functions
Decorated Interpreter::call() with [[nodiscard]] to provoke thinking about the returned value at each call site. This is definitely not perfect and we should really start thinking about slimming down the public-facing LibJS interpreter API. Fixes #3136.
This commit is contained in:
parent
c5127389ca
commit
bbe2d4a2d9
7 changed files with 24 additions and 9 deletions
|
@ -339,7 +339,9 @@ JSFileResult TestRunner::run_file_test(const String& test_path)
|
|||
new_interpreter.run(new_interpreter.global_object(), *file_program.value());
|
||||
|
||||
auto& before_initial_page_load = new_interpreter.get_variable("__BeforeInitialPageLoad__", new_interpreter.global_object()).as_function();
|
||||
new_interpreter.call(before_initial_page_load, JS::js_undefined());
|
||||
(void)new_interpreter.call(before_initial_page_load, JS::js_undefined());
|
||||
if (new_interpreter.exception())
|
||||
new_interpreter.clear_exception();
|
||||
|
||||
// Now parse the HTML page.
|
||||
parser.run(page_to_load);
|
||||
|
@ -347,7 +349,9 @@ JSFileResult TestRunner::run_file_test(const String& test_path)
|
|||
|
||||
// Finally run the test by calling "__AfterInitialPageLoad__"
|
||||
auto& after_initial_page_load = new_interpreter.get_variable("__AfterInitialPageLoad__", new_interpreter.global_object()).as_function();
|
||||
new_interpreter.call(after_initial_page_load, JS::js_undefined());
|
||||
(void)new_interpreter.call(after_initial_page_load, JS::js_undefined());
|
||||
if (new_interpreter.exception())
|
||||
new_interpreter.clear_exception();
|
||||
|
||||
auto test_json = get_test_results(new_interpreter);
|
||||
if (!test_json.has_value()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue