| Index: test/mjsunit/harmony/dataview-accessors.js
|
| diff --git a/test/mjsunit/harmony/dataview-accessors.js b/test/mjsunit/harmony/dataview-accessors.js
|
| index c54f8cc20d056ecdfdc05000af1df8d63c4017b6..d1bd6210bf8e984f04f7ab002d239e9674f68e19 100644
|
| --- a/test/mjsunit/harmony/dataview-accessors.js
|
| +++ b/test/mjsunit/harmony/dataview-accessors.js
|
| @@ -400,12 +400,8 @@ function TestGeneralAccessors() {
|
| assertThrows(function() { f(); }, TypeError);
|
| f.call(a, 0, 0); // should not throw
|
| assertThrows(function() { f.call({}, 0, 0); }, TypeError);
|
| - assertThrows(function() { f.call(a); }, TypeError);
|
| - if (name.indexOf("set") == 0) {
|
| - assertThrows(function() { f.call(a, 1); }, TypeError);
|
| - } else {
|
| - f.call(a, 1); // should not throw
|
| - }
|
| + f.call(a);
|
| + f.call(a, 1); // should not throw
|
| }
|
| CheckAccessor("getUint8");
|
| CheckAccessor("setUint8");
|
| @@ -429,33 +425,27 @@ TestGeneralAccessors();
|
|
|
| function TestInsufficientArguments() {
|
| var a = new DataView(new ArrayBuffer(256));
|
| + function CheckInsuficientArguments(type) {
|
| + var expectedValue = type === "Float32" || type === "Float64" ? NaN : 0;
|
| + var offset = getElementSize(type);
|
|
|
| - assertThrows(function() { a.getUint8(); }, TypeError);
|
| - assertThrows(function() { a.getInt8(); }, TypeError);
|
| - assertThrows(function() { a.getUint16(); }, TypeError);
|
| - assertThrows(function() { a.getInt16(); }, TypeError);
|
| - assertThrows(function() { a.getUint32(); }, TypeError);
|
| - assertThrows(function() { a.getInt32(); }, TypeError);
|
| - assertThrows(function() { a.getFloat32(); }, TypeError);
|
| - assertThrows(function() { a.getFloat64(); }, TypeError);
|
| -
|
| - assertThrows(function() { a.setUint8(); }, TypeError);
|
| - assertThrows(function() { a.setInt8(); }, TypeError);
|
| - assertThrows(function() { a.setUint16(); }, TypeError);
|
| - assertThrows(function() { a.setInt16(); }, TypeError);
|
| - assertThrows(function() { a.setUint32(); }, TypeError);
|
| - assertThrows(function() { a.setInt32(); }, TypeError);
|
| - assertThrows(function() { a.setFloat32(); }, TypeError);
|
| - assertThrows(function() { a.setFloat64(); }, TypeError);
|
| -
|
| - assertThrows(function() { a.setUint8(1) }, TypeError);
|
| - assertThrows(function() { a.setInt8(1) }, TypeError);
|
| - assertThrows(function() { a.setUint16(1) }, TypeError);
|
| - assertThrows(function() { a.setInt16(1) }, TypeError);
|
| - assertThrows(function() { a.setUint32(1) }, TypeError);
|
| - assertThrows(function() { a.setInt32(1) }, TypeError);
|
| - assertThrows(function() { a.setFloat32(1) }, TypeError);
|
| - assertThrows(function() { a.setFloat64(1) }, TypeError);
|
| + assertSame(undefined, a["set" + type](0, 7));
|
| + assertSame(undefined, a["set" + type]());
|
| + assertSame(expectedValue, a["get" + type]());
|
| +
|
| + assertSame(undefined, a["set" + type](offset, 7));
|
| + assertSame(undefined, a["set" + type](offset));
|
| + assertSame(expectedValue, a["get" + type](offset));
|
| + }
|
| +
|
| + CheckInsuficientArguments("Uint8");
|
| + CheckInsuficientArguments("Int8");
|
| + CheckInsuficientArguments("Uint16");
|
| + CheckInsuficientArguments("Int16");
|
| + CheckInsuficientArguments("Uint32");
|
| + CheckInsuficientArguments("Int32");
|
| + CheckInsuficientArguments("Float32");
|
| + CheckInsuficientArguments("Float64");
|
| }
|
|
|
| TestInsufficientArguments();
|
|
|