Bug 1892041 - Part 2: Update test262. r=spidermonkey-reviewers,dminor
[gecko.git] / js / src / tests / test262 / built-ins / DataView / prototype / setFloat16 / toindex-byteoffset.js
blob20c537e6d9140647a95dfda7047f985ba8157a2c
1 // |reftest| skip -- Float16Array is not supported
2 // Copyright (C) 2024 Kevin Gibbons. All rights reserved.
3 // This code is governed by the BSD license found in the LICENSE file.
5 /*---
6 esid: sec-dataview.prototype.setfloat16
7 description: >
8   ToIndex conversions on byteOffset
9 features: [Float16Array]
10 ---*/
12 var buffer = new ArrayBuffer(6);
13 var sample = new DataView(buffer, 0);
15 var obj1 = {
16   valueOf: function() {
17     return 3;
18   }
21 var obj2 = {
22   toString: function() {
23     return 4;
24   }
27 sample.setFloat16(0, 0);
28 sample.setFloat16(-0, 42);
29 assert.sameValue(sample.getFloat16(0), 42, "-0");
31 sample.setFloat16(3, 0);
32 sample.setFloat16(obj1, 42);
33 assert.sameValue(sample.getFloat16(3), 42, "object's valueOf");
35 sample.setFloat16(4, 0);
36 sample.setFloat16(obj2, 42);
37 assert.sameValue(sample.getFloat16(4), 42, "object's toString");
39 sample.setFloat16(0, 0);
40 sample.setFloat16("", 42);
41 assert.sameValue(sample.getFloat16(0), 42, "the Empty string");
43 sample.setFloat16(0, 0);
44 sample.setFloat16("0", 42);
45 assert.sameValue(sample.getFloat16(0), 42, "string '0'");
47 sample.setFloat16(2, 0);
48 sample.setFloat16("2", 42);
49 assert.sameValue(sample.getFloat16(2), 42, "string '2'");
51 sample.setFloat16(1, 0);
52 sample.setFloat16(true, 42);
53 assert.sameValue(sample.getFloat16(1), 42, "true");
55 sample.setFloat16(0, 0);
56 sample.setFloat16(false, 42);
57 assert.sameValue(sample.getFloat16(0), 42, "false");
59 sample.setFloat16(0, 0);
60 sample.setFloat16(NaN, 42);
61 assert.sameValue(sample.getFloat16(0), 42, "NaN");
63 sample.setFloat16(0, 0);
64 sample.setFloat16(null, 42);
65 assert.sameValue(sample.getFloat16(0), 42, "null");
67 sample.setFloat16(0, 0);
68 sample.setFloat16(0.1, 42);
69 assert.sameValue(sample.getFloat16(0), 42, "0.1");
71 sample.setFloat16(0, 0);
72 sample.setFloat16(0.9, 42);
73 assert.sameValue(sample.getFloat16(0), 42, "0.9");
75 sample.setFloat16(1, 0);
76 sample.setFloat16(1.1, 42);
77 assert.sameValue(sample.getFloat16(1), 42, "1.1");
79 sample.setFloat16(1, 0);
80 sample.setFloat16(1.9, 42);
81 assert.sameValue(sample.getFloat16(1), 42, "1.9");
83 sample.setFloat16(0, 0);
84 sample.setFloat16(-0.1, 42);
85 assert.sameValue(sample.getFloat16(0), 42, "-0.1");
87 sample.setFloat16(0, 0);
88 sample.setFloat16(-0.99999, 42);
89 assert.sameValue(sample.getFloat16(0), 42, "-0.99999");
91 sample.setFloat16(0, 0);
92 sample.setFloat16(undefined, 42);
93 assert.sameValue(sample.getFloat16(0), 42, "undefined");
95 sample.setFloat16(0, 7);
96 sample.setFloat16();
97 assert.sameValue(sample.getFloat16(0), NaN, "no arg");
99 reportCompare(0, 0);