Kesse Jones
b0ca174d49
LibJS: Add Array.prototype.find
2020-04-24 17:10:19 +02:00
Linus Groh
746dd5b190
LibJS: Implement computed properties in object expressions
2020-04-23 23:56:04 +02:00
Linus Groh
11728b7db5
LibJS: Implement 'in' operator
2020-04-23 19:38:13 +02:00
Linus Groh
396ecfa2d7
LibJS: Implement bitwise unsigned right shift operator (>>>)
2020-04-23 19:38:13 +02:00
Linus Groh
502d1f5165
LibJS: Implement bitwise right shift operator (>>)
2020-04-23 19:38:13 +02:00
Linus Groh
f0e7404480
LibJS: Implement bitwise left shift operator (<<)
2020-04-23 19:38:13 +02:00
Linus Groh
97366f4dd4
LibJS: Add Math.pow()
2020-04-23 19:38:13 +02:00
Kesse Jones
687096cadd
LibJS: Add Array.prototype.includes
2020-04-23 19:30:16 +02:00
Kesse Jones
6d308113b8
LibJS: Fix Array.prototype.indexOf fromIndex negative
...
If negative fromIndex considers displacement from the end of the array
without decreasing 1 of de size.
2020-04-23 11:06:10 +02:00
Linus Groh
7540203ae8
LibJS: Add isFinite()
2020-04-23 11:03:42 +02:00
Linus Groh
8ff2881b1a
LibJS: Let isNaN() with no argument return true, add tests
2020-04-23 11:03:42 +02:00
Linus Groh
418092a71a
LibJS: Implement Array length setter
2020-04-23 09:47:23 +02:00
Linus Groh
a1b820b11c
LibJS: Improve UpdateExpression::execute()
...
- Let undefined variables throw a ReferenceError by using
Identifier::execute() rather than doing variable lookup manually and
ASSERT()ing
- Coerce value to number rather than ASSERT()ing
- Make code DRY
- Add tests
2020-04-22 13:09:59 +02:00
Kesse Jones
b2305cb67d
LibJS: Add Array.prototype.lastIndexOf
2020-04-22 13:08:00 +02:00
Linus Groh
038051d205
LibJS: Parse while statements
2020-04-22 11:48:14 +02:00
Jack Karamanian
1fa0c7304d
LibJS: Implement Function.prototype.bind()
2020-04-21 12:23:07 +02:00
Linus Groh
9722cac9fe
LibJS: Let run-tests return 1 when not all tests pass
2020-04-20 22:44:13 +02:00
Andreas Kling
f78a92c5a9
LibJS: Remove default parameter from assertThrowsError() for now
...
We don't support these yet, and it broke all the tests. :^)
2020-04-20 20:33:21 +02:00
Linus Groh
cff68af965
LibJS: Add JSDoc to test-common.js
2020-04-20 17:31:49 +02:00
Kesse Jones
df6696f576
LibJS: Add Array.prototype.reverse
2020-04-20 17:26:46 +02:00
Kesse Jones
579975fd1e
LibJS: Add Array.prototype.indexOf
2020-04-20 11:55:18 +02:00
Linus Groh
d3e3f5b421
LibJS: Add tests for String.prototype.repeat()
2020-04-20 11:41:25 +02:00
Linus Groh
0718f216af
LibJS: Add assertThrowsError() test function
2020-04-20 11:38:01 +02:00
Andreas Kling
69566bd4d6
LibJS: Allow passing "js" flags to run-tests
...
This allows us to run "run-tests -g" for testing with GC after every
heap allocation. This may flush out bugs that would otherwise not
occur if GC'ing only occasionally.
2020-04-19 17:34:33 +02:00
Andreas Kling
afdba94f63
LibJS: Fix expectations in the function-TypeError.js test
...
They now match the new, more verbose error messages.
2020-04-19 14:51:47 +02:00
Kesse Jones
856ab9c600
LibJS: Add Array.prototype.slice
2020-04-19 02:09:06 +02:00
Stephan Unverwerth
bf5b251684
LibJS: Allow reserved words as keys in object expressions.
2020-04-18 22:23:20 +02:00
Stephan Unverwerth
cebb619f8e
LibJS: Fix parsing of IfStatement, fixes #1829
2020-04-18 14:04:24 +02:00
Linus Groh
d14ddb6461
LibJS: Implement nullish coalescing operator (??)
2020-04-18 12:34:13 +02:00
Kesse Jones
4931c0feda
LibJS: Add Array.prototype.concat
2020-04-17 16:14:28 +02:00
Stephan Unverwerth
63e1ea7819
LibJS: Add test for semicolon insertion ( #1828 )
2020-04-17 15:52:38 +02:00
Kesse Jones
b0b204822f
LibJS: Add String.prototype.substring
2020-04-16 18:47:24 +02:00
Kesse Jones
7725b1970e
LibJS: Add String.prototype.concat
2020-04-16 16:36:51 +02:00
Linus Groh
640a24dce8
LibJS: Remove outdated FIXME now that we have lexical environments
2020-04-16 09:41:07 +02:00
Linus Groh
cea950fd70
LibJS: Support empty values in array expression
2020-04-15 21:23:06 +02:00
Linus Groh
d30db07048
LibJS: Implement void operator
2020-04-15 19:12:51 +02:00
Linus Groh
a8406aa117
LibJS: Check length property of Array.prototype.join in its test
...
I assume this was copied from the Array.prototype.push() test :^)
2020-04-15 12:20:08 +02:00
Andreas Kling
ad2aac5fde
LibJS: Add Array.prototype.join()
...
And share the code with Array.prototype.toString() :^)
2020-04-15 10:06:01 +02:00
Andreas Kling
fa30355194
LibJS: Adding two values should convert them to primitives first
2020-04-15 09:48:25 +02:00
Kesse Jones
994f1a79ad
LibJS: Add String.prototype.{trim, trimStart, trimEnd} ( #1792 )
2020-04-15 08:47:40 +02:00
Linus Groh
1dee4d0049
LibJS: Redirect stderr to /dev/null when running js in run-tests
...
This "mutes" output from dbg() calls - which is not an issue inside
serenity itself but if the script is run on the host machine and stdout
and stderr are displayed in the same terminal window.
2020-04-14 18:38:55 +02:00
Linus Groh
823fb9d9aa
LibJS: Add missing load("test-common.js") to comments-basic.js
...
This fixes the test which is currently failing with
"ReferenceError: 'assert' not known".
2020-04-14 17:26:57 +02:00
Linus Groh
f7df521073
LibJS: Add Array.prototype.map()
2020-04-14 13:40:04 +02:00
Linus Groh
f03d005bc4
LibJS: Add Array.prototype.filter()
2020-04-14 13:40:04 +02:00
Linus Groh
866172a721
LibJS: Add Array.prototype.forEach()
2020-04-14 13:40:04 +02:00
Linus Groh
29253bf932
LibJS: Add Array.prototype.unshift()
2020-04-14 13:40:04 +02:00
Linus Groh
5da1a40ccf
LibJS: Support multiple arguments in Array.prototype.push()
2020-04-14 13:40:04 +02:00
Brian Gianforcaro
d74ad81402
js/LibJS: Move test functions to pure javascript.
...
The addition of assert functions to Userland/js
was done before we had load(..) implemented. Now
that it exists, it seems like the right move the
test helper functions to pure javascript instead
of poluting js with random global functions.
2020-04-14 12:55:31 +02:00
Stephan Unverwerth
9477efe970
LibJS: Handle HTML-style comments
2020-04-14 12:54:09 +02:00
Stephan Unverwerth
8f82f6c574
LibJS: Add more number test cases for #1680
2020-04-13 17:23:22 +02:00