Sam Atkins
9e3a786a64
Tests: Cast unused smart-pointer return values to void
2021-12-05 15:31:03 +01:00
Andreas Kling
8b1108e485
Everywhere: Pass AK::StringView by value
2021-11-11 01:27:46 +01:00
Idan Horowitz
390a04a985
LibJS: Convert the GetValue AO to ThrowCompletionOr
2021-11-02 19:48:35 +01:00
Idan Horowitz
d73b258874
LibJS: Convert reference deletion to ThrowCompletionOr
2021-11-02 19:48:35 +01:00
Idan Horowitz
44555eb50a
LibJS: Convert test-js/test-web/test-wasm to ThrowCompletionOr
2021-10-20 12:27:19 +01:00
Linus Groh
52976bfac6
LibJS: Convert to_object() to ThrowCompletionOr
2021-10-13 09:55:10 +01:00
Linus Groh
4d8912a92b
LibJS: Convert to_string() to ThrowCompletionOr
...
Also update get_function_name() to use ThrowCompletionOr, but this is
not a standard AO and should be refactored out of existence eventually.
2021-10-13 09:55:10 +01:00
davidot
ac2c3a73b1
LibJS: Add a specific test for invalid unicode characters in the lexer
...
Also fixes that it tried to make substrings past the end of the source
if we overran the source length.
2021-10-03 17:42:05 +02:00
davidot
ce3f29a135
LibJS + test-js: Get results from the global object directly
...
This is as the spec would require you to do it and necessary for changes
to come in the following commits.
2021-09-30 08:16:32 +01:00
Andreas Kling
0a09eaf3a1
LibJS+LibTest: Use JS::Script and JS::SourceTextModule in test-js
...
Instead of creating a Parser and Lexer manually in test-js, we now
use either JS::Script::parse() or JS::SourceTextModule::parse()
to load tests.
2021-09-14 21:41:51 +02:00
Timothy Flynn
470262c8ab
LibJS: Use ErrorType::NotAnObjectOfType instead of NotA
2021-09-12 00:16:39 +02:00
davidot
43b17f27a3
test-js: Add a mark_as_garbage method to force GC to collect that object
...
This should fix the flaky tests of test-js.
It also fixes the tests when running with the -g flag since the values
will not be garbage collected too soon.
2021-09-08 08:53:02 +01:00
davidot
7613c22b06
LibJS: Add a mode to parse JS as a module
...
In a module strict mode should be enabled at the start of parsing and we
allow import and export statements.
2021-08-15 23:51:47 +01:00
Andrew Kaster
601c9e89de
Userland+Tests: Split out generic test runner from JS TestRunner
...
Split out the functionality to gather multiple tests from the filesystem
and run them in turn into Test::TestRunner, and leave the JavaScript
specific test harness logic in Test::JS::TestRunner and friends.
2021-06-30 08:18:28 +04:30
Gunnar Beutner
631d36fd98
Everywhere: Add component declarations
...
This adds component declarations so that users can select to not build
certain parts of the OS.
2021-06-17 11:03:51 +02:00
Idan Horowitz
77c2db4183
LibJS: Add all of the WeakMap.prototype methods (delete, get, has, set)
2021-06-12 10:44:28 +01:00
Idan Horowitz
a00d154522
LibJS: Notify WeakSets when heap cells are sweeped
...
This is an implementation of the following optional optimization:
https://tc39.es/ecma262/#sec-weakref-execution
2021-06-09 21:52:25 +01:00
Ali Mohammad Pur
f387da4a90
LibTest+test-js: Add back the lost test262 parser test option
...
Fixes #7566 .
2021-05-30 10:34:44 +01:00
Ali Mohammad Pur
f137c1bfaa
LibJS+LibTest: Move out the test-js test runner into LibTest
2021-05-18 18:48:15 +01:00
Andrew Kaster
e96451edc9
Tests: Don't use TestRunners after their scope ends in test-js
...
The TestRunner objects at the end of test-js are destroyed after the
if/else that chooses whether to run the 262 parser tests or the standard
tests. Accessing TestRunner::the() after the lifetime of the TestRunners
ends is UB, so return the Test::Counts from run() instead. Also, fix the
destructor of TestRunner to set s_the to nullptr so that if anyone tries
this type of shenanigains again, they'll get a crash :^).
2021-05-14 08:34:00 +01:00
Ali Mohammad Pur
a91a49337c
LibCore+Everywhere: Move OpenMode out of IODevice
...
...and make it an enum class so people don't omit "OpenMode".
2021-05-12 11:00:45 +01:00
Brian Gianforcaro
10a594e6fe
Tests: Fix install of test-js and test-web
...
When these were moved, there was a copy paste bug in the install
directives of both of these binaries.
2021-05-09 11:04:38 +02:00
Brian Gianforcaro
9720ad3901
Tests: Move Userland/Utilities/test-js to Tests/LibJS
2021-05-08 00:04:10 +01:00