mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
57dc179b1f
This will make it easier to support both string types at the same time while we convert code, and tracking down remaining uses. One big exception is Value::to_string() in LibJS, where the name is dictated by the ToString AO.
44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
/*
|
|
* Copyright (c) 2022, Ali Mohammad Pur <mpfard@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <LibJS/Runtime/Map.h>
|
|
#include <LibTest/JavaScriptTestRunner.h>
|
|
|
|
TEST_ROOT("Userland/Applications/Spreadsheet/Tests");
|
|
|
|
#ifdef AK_OS_SERENITY
|
|
static constexpr auto s_spreadsheet_runtime_path = "/res/js/Spreadsheet/runtime.js"sv;
|
|
#else
|
|
static constexpr auto s_spreadsheet_runtime_path = "../../../../Base/res/js/Spreadsheet/runtime.js"sv;
|
|
#endif
|
|
|
|
TESTJS_RUN_FILE_FUNCTION(DeprecatedString const&, JS::Interpreter& interpreter, JS::ExecutionContext& global_execution_context)
|
|
{
|
|
auto run_file = [&](StringView name) {
|
|
auto result = Test::JS::parse_script(name, interpreter.realm());
|
|
if (result.is_error()) {
|
|
warnln("Unable to parse {}", name);
|
|
warnln("{}", result.error().error.to_deprecated_string());
|
|
warnln("{}", result.error().hint);
|
|
Test::cleanup_and_exit();
|
|
}
|
|
auto script = result.release_value();
|
|
|
|
interpreter.vm().push_execution_context(global_execution_context);
|
|
MUST(interpreter.run(*script));
|
|
interpreter.vm().pop_execution_context();
|
|
};
|
|
|
|
#ifdef AK_OS_SERENITY
|
|
run_file(s_spreadsheet_runtime_path);
|
|
#else
|
|
run_file(LexicalPath::join(Test::JS::g_test_root, s_spreadsheet_runtime_path).string());
|
|
#endif
|
|
|
|
run_file("mock.test-common.js"sv);
|
|
|
|
return Test::JS::RunFileHookResult::RunAsNormal;
|
|
}
|