1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:27:35 +00:00

js: Add assertNotReached() function in test mode

This commit is contained in:
Linus Groh 2020-04-13 14:04:24 +01:00 committed by Andreas Kling
parent 94647fa4ab
commit 0040d6bf2d

View file

@ -279,6 +279,7 @@ ReplObject::ReplObject()
ReplObject::~ReplObject() ReplObject::~ReplObject()
{ {
} }
JS::Value ReplObject::save_to_file(JS::Interpreter& interpreter) JS::Value ReplObject::save_to_file(JS::Interpreter& interpreter)
{ {
if (!interpreter.argument_count()) if (!interpreter.argument_count())
@ -290,6 +291,7 @@ JS::Value ReplObject::save_to_file(JS::Interpreter& interpreter)
} }
return JS::Value(false); return JS::Value(false);
} }
JS::Value ReplObject::exit_interpreter(JS::Interpreter& interpreter) JS::Value ReplObject::exit_interpreter(JS::Interpreter& interpreter)
{ {
if (!interpreter.argument_count()) if (!interpreter.argument_count())
@ -298,6 +300,7 @@ JS::Value ReplObject::exit_interpreter(JS::Interpreter& interpreter)
exit(exit_code); exit(exit_code);
return JS::js_undefined(); return JS::js_undefined();
} }
JS::Value ReplObject::repl_help(JS::Interpreter& interpreter) JS::Value ReplObject::repl_help(JS::Interpreter& interpreter)
{ {
StringBuilder help_text; StringBuilder help_text;
@ -383,10 +386,16 @@ JS::Value assert_impl(JS::Interpreter& interpreter)
return JS::Value(assertion_value); return JS::Value(assertion_value);
} }
JS::Value assert_not_reached(JS::Interpreter& interpreter)
{
return interpreter.throw_exception<JS::Error>("AssertionError", "assertNotReached() was reached!");
}
void enable_test_mode(JS::Interpreter& interpreter) void enable_test_mode(JS::Interpreter& interpreter)
{ {
interpreter.global_object().put_native_function("load", ReplObject::load_file); interpreter.global_object().put_native_function("load", ReplObject::load_file);
interpreter.global_object().put_native_function("assert", assert_impl); interpreter.global_object().put_native_function("assert", assert_impl);
interpreter.global_object().put_native_function("assertNotReached", assert_not_reached);
} }
int main(int argc, char** argv) int main(int argc, char** argv)