Robert Krimen
7721396b67
Fix Date tests to always mock UTC
2014-04-13 15:07:29 -07:00
Robert Krimen
ddca88af9b
Add compilation (Script, vm.Compile, etc.)
2014-04-13 15:04:32 -07:00
Robert Krimen
7163cd7841
Skip unexported fields, begin json.Marshaler support
...
* The "reflect" package is willing to expose unexported fields in structs (a little suprising).
* Skip unexported fields when enumerating or trying to access (pretend they don't exist).
* Allow structs that implement json.Marshaler to work as expected in a JSON.stringify call.
If we let the runtime try to access unexported fields, it'll cause a panic.
This fixes #64
2014-04-12 11:53:04 -07:00
Robert Krimen
ba4c8b0769
Fix documentation
2014-04-11 18:23:34 -07:00
Robert Krimen
9d7eadf70f
Simplify the commandline client (otto)
2014-04-11 18:13:46 -07:00
Robert Krimen
f04cfab02d
Add ability to parse []byte, *bytes.Buffer, io.Reader
2014-04-11 18:07:57 -07:00
Robert Krimen
6e3ed1b99d
Tighten test comparisons instead of squashing everything to a string
2014-04-11 18:06:18 -07:00
Robert Krimen
029f0bbd63
Fix parseInt if ErrRange occurs (fallback to float64)
2014-04-11 18:05:54 -07:00
Robert Krimen
ad8a97c028
New parser
...
* Faster, more straightforward, etc.
* More advanced object literals (get ..., set ...)
* More tests using JavaScript from the wild (http://cdnjs.com/ )
2014-04-10 20:42:25 -07:00
Robert Krimen
ec106f69e0
Add Object.Keys()
...
This fixes #62
2014-04-03 18:25:53 -07:00
Robert Krimen
0c82879349
Stop checking against 1.0.3 for release
2014-03-16 09:05:28 -07:00
Daniel Cannon
07737f86b9
Add ability to call struct methods
...
This fixes #60
This is incompatible with go 1.0.3
2014-03-16 09:04:00 -07:00
Daniel Cannon
661a61c5a0
Fix toValue not properly converting type aliases
...
This fixes #61
2014-03-16 08:46:20 -07:00
Robert Krimen
6f0e24ae2d
Fix Array.prototype.reduce, .reduceRight
...
Fix false-positives in underscore testing
Fix test (missing document because we're not in a browser)
2014-03-13 22:39:17 +01:00
Robert Krimen
73cdc7031e
newnewNode => newNewNode
2014-02-21 23:06:20 -08:00
Robert Krimen
aef9bfcb9a
Fix "memory leak" by gelcapping panic values with _exception
...
Basically, the Go runtime sees the gelcap shell of the exception,
which dissolves (payload is set to nil) once we catch the error.
This prevents the Go runtime from hanging onto a heavy object for the
panic log (or whatever it is doing with the panic value).
This fixes #59
2014-02-21 18:24:07 -08:00
Robert Krimen
1f3aef2086
Fix Date.prototype.setTime
...
This fixes #58
2014-02-18 20:37:54 -08:00
Robert Krimen
e01dde79ed
More tests for .Copy()
...
This fixes #57
2014-02-16 21:41:16 -08:00
Robert Krimen
70e6bec5e0
Make sure to set the Otto/runtime dependency when copying
...
This is a problem in #57
2014-02-16 21:22:30 -08:00
Robert Krimen
2ea54739df
terst
2014-02-16 11:07:10 -08:00
Robert Krimen
5aa653244a
Fix Put to see set/get properties
2014-02-15 10:20:33 -08:00
Robert Krimen
333bb23c07
Guard against _nilGetSetObject sneaking in
2014-02-14 23:23:39 -08:00
Robert Krimen
99263cd960
Clarify AccessorDescriptor logic in DefineOwnProperty even more
2014-02-14 22:33:27 -08:00
Robert Krimen
acf0a991f7
Can set a setter/getter if absent (8.12.9 / 10.a.ii.1)
2014-02-14 22:23:15 -08:00
Robert Krimen
87a212ca60
Fix for get/set: undefined is actually a getter/setter
2014-02-14 21:47:50 -08:00
Robert Krimen
7a2ed55010
Fix assumption that property.value is Value
2014-02-14 20:06:31 -08:00
Robert Krimen
9c45463cd6
Preserve existing get/set unless explicitly undefined
2014-02-14 19:46:37 -08:00
Robert Krimen
ee1cce94ef
If set === undefined => writable = false
2014-02-13 21:38:20 -08:00
Robert Krimen
57e0a468ac
Fix a few aspects of accessor properties
2014-02-13 21:30:26 -08:00
Tim Jurcka
dd88ce83b8
Call getter/setter if property is AccessorDescriptor
...
This fixes #36
This fixes #56
2014-02-12 21:52:42 -08:00
Robert Krimen
c3cd59909c
Provide early warning of missing functionality (set:/get:)
...
This is a bandaid for #56
2014-02-10 21:15:40 -08:00
Robert Krimen
f0159cfec0
Add note about setTimeout/setInterval
...
This involves #53
2014-02-01 16:52:57 -08:00
Robert Krimen
096cd7e450
Add ability to interrupt the runtime
...
This fixes #12 , #35
2014-02-01 15:49:17 -08:00
Robert Krimen
8cd34bce0a
Fix groups.google.com link
2014-02-01 12:05:08 -08:00
Robert Krimen
4fc2e41b28
Add link to godoc.org
...
This fixes #52
2014-02-01 12:01:52 -08:00
Tim Jurcka
5fe23327c9
Add JSON
...
This closes #37 , #11
2014-02-01 11:32:21 -08:00
Robert Krimen
329e5afb2c
Add objectLength
2014-02-01 11:09:14 -08:00
Robert Krimen
41e5803a57
Fix Value.isArray => isArray
2014-02-01 11:09:14 -08:00
Robert Krimen
ee02d532e6
Fully implement multi-argument setHours/setMinutes/setFullYear/...
2014-01-26 10:03:26 -08:00
Robert Krimen
ba0837d685
Fix Date.prototype.set(UTC)FullYear.length = 3
2014-01-25 12:17:07 -08:00
Robert Krimen
75f314ab90
Fix Date.prototype.set(UTC)Month.length = 2
2014-01-25 12:15:54 -08:00
Robert Krimen
8664a2c303
Fix Date.prototype.set(UTC)Hours.length = 4
2014-01-25 12:14:34 -08:00
Robert Krimen
22a7846e7a
Fix Date.prototype.set(UTC)Minutes.length = 3
2014-01-25 12:14:30 -08:00
Robert Krimen
aef285c917
Fix Date.prototype.set(UTC)Seconds.length = 2
2014-01-25 12:09:54 -08:00
Robert Krimen
0ba238b0b3
Fix Date.UTC.length = 7
2014-01-25 12:07:08 -08:00
Robert Krimen
a8ade89afd
Fix Date.parse.length = 1
2014-01-25 12:05:44 -08:00
Robert Krimen
b95251bd97
Document problematic date/time behavior
2014-01-25 11:50:37 -08:00
Robert Krimen
f578229e36
Fix Date(...) to be different from new Date(...)
2014-01-25 11:14:38 -08:00
Robert Krimen
def5c4837d
Fix Date.parse to parse RFC1123
2014-01-25 11:13:30 -08:00
Robert Krimen
302b2f0cbf
Fix Math.pow(-1, +Infinity) => NaN
2014-01-25 10:52:23 -08:00