@@ -296,3 +296,11 @@ func TestTypedArraySortComparatorReturnValueNegZero(t *testing.T) {
`
testScript1(SCRIPT, _undefined, t)
}
+
+func TestInt32ArrayNegativeIndex(t *testing.T) {
+ const SCRIPT = `
+ new Int32Array()[-1] === undefined;
+ `
+ testScript1(SCRIPT, valueTrue, t)
+}
@@ -454,7 +454,7 @@ func (a *float64Array) typeMatch(v Value) bool {
func (a *typedArrayObject) _getIdx(idx int) Value {
a.viewedArrayBuf.ensureNotDetached()
- if idx < a.length {
+ if 0 <= idx && idx < a.length {
return a.typedArray.get(idx + a.offset)
return nil