1
0
mirror of https://github.com/robertkrimen/otto synced 2025-10-12 20:27:30 +08:00
Commit Graph

719 Commits

Author SHA1 Message Date
Robert Krimen
58e455b80f Mock location as UTC for date testing 2013-05-05 11:26:34 -07:00
Robert Krimen
d1d4d939ea Add Object.isSealed & Object.isFrozen 2013-05-05 10:35:32 -07:00
Robert Krimen
2e20275e07 Add check for testing against the release version of Go 2013-05-05 10:23:18 -07:00
Robert Krimen
696272f7d6 Fix Local/UTC conversion discrepancy in newDateTime 2013-05-05 09:18:16 -07:00
Robert Krimen
683e3956aa Add Object.isExtensible & Object.preventExtensions...
...and fix the deep implementation of defineOwnProperty
so that they can work (more or less) properly
2013-05-03 22:24:51 +02:00
Robert Krimen
2e0fe63a64 Fix: parse_statement.go:184: function ends without a return statement 2013-05-02 23:17:18 +02:00
Robert Krimen
6c5259a651 Add Object.toLocaleString 2013-05-02 21:06:22 +02:00
Robert Krimen
fb974ca5db Do not throw a TypeError when trying to set global, ignoreCase, source, etc. 2013-05-02 20:23:07 +02:00
Robert Krimen
596af0a836 Fix RegExp.prototype.toString .length & .prototype 2013-05-02 20:23:07 +02:00
Robert Krimen
bc84827b09 Fix RegExp.prototype.test .length & .prototype 2013-05-02 20:23:07 +02:00
Robert Krimen
fc569ab73a Fix RegExp.prototype.exec .length & .prototype 2013-05-02 20:23:07 +02:00
Robert Krimen
36a7419812 After a successful global RegExp.exec match, index shift the result 2013-05-02 20:23:07 +02:00
Robert Krimen
f9879057a6 Partially implement new Object(...) 2013-05-02 20:23:07 +02:00
Robert Krimen
78ab288e0a Another RegExp test 2013-05-02 20:23:07 +02:00
Robert Krimen
b078bacaf7 Set the prototype of Math to the global object prototype 2013-05-02 20:23:07 +02:00
Robert Krimen
b4a6286aa7 Use RegExp._RegExp.Flags when doing new RegExp(RegExp) 2013-05-02 20:23:07 +02:00
Robert Krimen
5c5dfbf501 Use RegExp.source (not RegExp.toString) when doing new RegExp(RegExp) 2013-05-02 20:23:06 +02:00
Robert Krimen
74a8739188 Cannot supply flags when constructing one RegExp from another 2013-05-02 20:23:06 +02:00
Robert Krimen
de97589c43 RegExp(/xyzzy/) & RegExp(/xyzzy/, undefined) will return a reference to the exact same /xyzzy/ object...
...instead of creating a new copy
2013-05-02 20:23:06 +02:00
Robert Krimen
1628647e05 For RegExp.exec, return the rune index in the string, not the byte index 2013-05-02 20:23:06 +02:00
Robert Krimen
70e8c14c94 Fix broken multiline RegExp behavior
Was actually not being passed through, oops...
2013-05-02 20:23:06 +02:00
Robert Krimen
c8c3533f67 Make note of different RegExp behavior 2013-05-02 20:23:06 +02:00
Robert Krimen
0420accca6 Include .input, .index in the result of a successful RegExp.exec(...) 2013-05-02 20:23:06 +02:00
Robert Krimen
5f5cc09fbc Fix broken RegExp syntax: \c 2013-05-02 20:23:06 +02:00
Robert Krimen
4c85422172 Make encodeURI correspond to the 15.1.3.3 algorithm and encodeURIComponent ito 15.1.3.4 2013-05-02 20:23:06 +02:00
Robert Krimen
83d4565b22 Make decodeURI correspond to the 15.1.3.1 algorithm and decodeURIComponent ito 15.1.3.2 2013-05-02 20:23:06 +02:00
Robert Krimen
149f94f9fb Fix that we were using a non-runtime toValue method with go_array, go_map, and go_struct
This will fix #13
2013-04-30 00:36:46 +02:00
Robert Krimen
b477d8eaed Fix isNaN/isFinite .length & .prototype 2013-04-30 00:18:00 +02:00
Robert Krimen
16030f4b6f Make parseInt behavior correspond to the 15.1.2.3 algorithm 2013-04-30 00:18:00 +02:00
Robert Krimen
a6d6f26c01 Parse float literals of the kind ".01", ".0..." properly 2013-04-30 00:17:59 +02:00
Robert Krimen
b5e40f8a85 Make parseInt behavior correspond to the 15.1.2.2 algorithm 2013-04-28 17:33:00 +02:00
Robert Krimen
2ec9b0843c eval is not a constructor 2013-04-28 11:29:20 +02:00
Robert Krimen
6a4e5a904e eval.prototype === undefined 2013-04-28 11:25:06 +02:00
Robert Krimen
2c4c22ca81 eval.length === 1 2013-04-28 11:24:39 +02:00
Robert Krimen
cc112ca544 Set the prototype of the global object to be the object prototype 2013-04-28 11:00:21 +02:00
Robert Krimen
dfa7a59c6f Always declare a function if an identifier is given 2013-04-27 23:00:22 +02:00
Robert Krimen
cfd5635e46 Fix iterator evaluation to return the proper result if a break happens 2013-04-27 22:03:12 +02:00
Robert Krimen
cc243b17d7 Can now attach a label to a block and have it break properly 2013-04-27 15:52:46 +02:00
Robert Krimen
8ab608b974 Makefile for building of otto/otto*
Fix stray dbg(...) in runtime
2013-04-26 09:27:49 +02:00
Robert Krimen
bf7b0bc5d2 Fix test to pass regardless of time zone (always UTC) 2013-04-26 09:27:20 +02:00
Robert Krimen
d5ced8c71f Slightly better error return on an uncaught panic 2013-04-20 22:30:27 -07:00
Robert Krimen
2277e46d05 tryEvaluate => tryCatchEvaluate 2013-04-20 22:13:19 -07:00
Robert Krimen
2b3f317e3a Finally should still run even if Catch has break, continue, return, etc. 2013-04-20 21:59:42 -07:00
Robert Krimen
8d09167814 HasInstance should only exist on a Function 2013-04-20 21:41:00 -07:00
Robert Krimen
2642607a58 Fix HasInstance to recurse the prototype hierarchy 2013-04-20 20:03:34 -07:00
Robert Krimen
3f54041eb6 Make sure to evaluate (compare) in the proper order 2013-04-20 19:39:52 -07:00
Robert Krimen
4abba5f6c6 For DefaultValue: HintString (not HintNumber) if object is a Date 2013-04-20 19:16:17 -07:00
Robert Krimen
01f5fae58f Date(...) => string (Not an object) 2013-04-20 19:09:27 -07:00
Robert Krimen
7624bc44fe Date() => string (Not an object) 2013-04-20 18:59:58 -07:00
Robert Krimen
345c4705f9 Improve function declaration: adhere more closely to the specification 2013-04-17 16:13:19 -07:00