| Index: test/mjsunit/harmony/dataview-accessors.js
|
| diff --git a/test/mjsunit/harmony/dataview-accessors.js b/test/mjsunit/harmony/dataview-accessors.js
|
| index b655a4164a14d338a12a02a94ed5b59e22e0aed4..c57841c4941a69f4fb85595c61101712f7243f35 100644
|
| --- a/test/mjsunit/harmony/dataview-accessors.js
|
| +++ b/test/mjsunit/harmony/dataview-accessors.js
|
| @@ -294,12 +294,93 @@ function TestSetters() {
|
| runFloatTestCases(false, 7);
|
|
|
| runNegativeIndexTests(false);
|
| -
|
| }
|
|
|
| TestGetters();
|
| TestSetters();
|
|
|
| +function CheckOutOfRangeInt8(value, expected) {
|
| + var view = new DataView(new ArrayBuffer(100));
|
| + assertSame(undefined, view.setInt8(0, value));
|
| + assertSame(expected, view.getInt8(0));
|
| + assertSame(undefined, view.setInt8(0, value, true));
|
| + assertSame(expected, view.getInt8(0, true));
|
| +}
|
| +
|
| +function CheckOutOfRangeUint8(value, expected) {
|
| + var view = new DataView(new ArrayBuffer(100));
|
| + assertSame(undefined, view.setUint8(0, value));
|
| + assertSame(expected, view.getUint8(0));
|
| + assertSame(undefined, view.setUint8(0, value, true));
|
| + assertSame(expected, view.getUint8(0, true));
|
| +}
|
| +
|
| +function CheckOutOfRangeInt16(value, expected) {
|
| + var view = new DataView(new ArrayBuffer(100));
|
| + assertSame(undefined, view.setInt16(0, value));
|
| + assertSame(expected, view.getInt16(0));
|
| + assertSame(undefined, view.setInt16(0, value, true));
|
| + assertSame(expected, view.getInt16(0, true));
|
| +}
|
| +
|
| +function CheckOutOfRangeUint16(value, expected) {
|
| + var view = new DataView(new ArrayBuffer(100));
|
| + assertSame(undefined, view.setUint16(0, value));
|
| + assertSame(expected, view.getUint16(0));
|
| + assertSame(undefined, view.setUint16(0, value, true));
|
| + assertSame(expected, view.getUint16(0, true));
|
| +}
|
| +
|
| +function CheckOutOfRangeInt32(value, expected) {
|
| + var view = new DataView(new ArrayBuffer(100));
|
| + assertSame(undefined, view.setInt32(0, value));
|
| + assertSame(expected, view.getInt32(0));
|
| + assertSame(undefined, view.setInt32(0, value, true));
|
| + assertSame(expected, view.getInt32(0, true));
|
| +}
|
| +
|
| +function CheckOutOfRangeUint32(value, expected) {
|
| + var view = new DataView(new ArrayBuffer(100));
|
| + assertSame(undefined, view.setUint32(0, value));
|
| + assertSame(expected, view.getUint32(0));
|
| + assertSame(undefined, view.setUint32(0, value, true));
|
| + assertSame(expected, view.getUint32(0, true));
|
| +}
|
| +
|
| +function TestOutOfRange() {
|
| + CheckOutOfRangeInt8(0x80, -0x80);
|
| + CheckOutOfRangeInt8(0x1000, 0);
|
| + CheckOutOfRangeInt8(-0x81, 0x7F);
|
| +
|
| + CheckOutOfRangeUint8(0x100, 0);
|
| + CheckOutOfRangeUint8(0x1000, 0);
|
| + CheckOutOfRangeUint8(-0x80, 0x80);
|
| + CheckOutOfRangeUint8(-1, 0xFF);
|
| + CheckOutOfRangeUint8(-0xFF, 1);
|
| +
|
| + CheckOutOfRangeInt16(0x8000, -0x8000);
|
| + CheckOutOfRangeInt16(0x10000, 0);
|
| + CheckOutOfRangeInt16(-0x8001, 0x7FFF);
|
| +
|
| + CheckOutOfRangeUint16(0x10000, 0);
|
| + CheckOutOfRangeUint16(0x100000, 0);
|
| + CheckOutOfRangeUint16(-0x8000, 0x8000);
|
| + CheckOutOfRangeUint16(-1, 0xFFFF);
|
| + CheckOutOfRangeUint16(-0xFFFF, 1);
|
| +
|
| + CheckOutOfRangeInt32(0x80000000, -0x80000000);
|
| + CheckOutOfRangeInt32(0x100000000, 0);
|
| + CheckOutOfRangeInt32(-0x80000001, 0x7FFFFFFF);
|
| +
|
| + CheckOutOfRangeUint32(0x100000000, 0);
|
| + CheckOutOfRangeUint32(0x1000000000, 0);
|
| + CheckOutOfRangeUint32(-0x80000000, 0x80000000);
|
| + CheckOutOfRangeUint32(-1, 0xFFFFFFFF);
|
| + CheckOutOfRangeUint32(-0xFFFFFFFF, 1);
|
| +}
|
| +
|
| +TestOutOfRange();
|
| +
|
| function TestGeneralAccessors() {
|
| var a = new DataView(new ArrayBuffer(256));
|
| function CheckAccessor(name) {
|
|
|