[WHLSL] Move WHLSL tests to their own folder
[WebKit-https.git] / LayoutTests / webgpu / whlsl / postfix-prefix.html
1 <!DOCTYPE html>
2 <html>
3 <meta charset=utf-8>
4 <meta name="timeout" content="long">
5 <title>Test prefix/postfix.</title>
6 <script src="js/test-harness.js"></script>
7 <script src="../js/webgpu-functions.js"></script>
8 <script src="../../resources/testharness.js"></script>
9 <script src="../../resources/testharnessreport.js"></script>
10 <script>
11 const whlslTests = {};
12
13 whlslTests.prefixPlusPlus = async () =>
14 {
15     let program = `
16         int foo(int x)
17         {
18             ++x;
19             return x;
20         }
21     `;
22     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 65);
23 }
24
25 whlslTests.prefixPlusPlusResult = async () =>
26 {
27     let program = `
28         int foo(int x)
29         {
30             return ++x;
31         }
32     `;
33     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 65);
34 }
35
36 whlslTests.postfixPlusPlus = async () =>
37 {
38     let program = `
39         int foo(int x)
40         {
41             x++;
42             return x;
43         }
44     `;
45     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 65);
46 }
47
48 whlslTests.postfixPlusPlusResult = async () =>
49 {
50     let program = `
51         int foo(int x)
52         {
53             return x++;
54         }
55     `;
56     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 64);
57 }
58
59 whlslTests.prefixMinusMinus = async () =>
60 {
61     let program = `
62         int foo(int x)
63         {
64             --x;
65             return x;
66         }
67     `;
68     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 63);
69 }
70
71 whlslTests.prefixMinusMinusResult = async () =>
72 {
73     let program = `
74         int foo(int x)
75         {
76             return --x;
77         }
78     `;
79     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 63);
80 }
81
82 whlslTests.postfixMinusMinus = async () =>
83 {
84     let program = `
85         int foo(int x)
86         {
87             x--;
88             return x;
89         }
90     `;
91     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 63);
92 }
93
94 whlslTests.postfixMinusMinusResult = async () =>
95 {
96     let program = `
97         int foo(int x)
98         {
99             return x--;
100         }
101     `;
102     assert_equals(await callIntFunction(program, "foo", [makeInt(64)]), 64);
103 }
104
105 whlslTests.plusEquals = async () =>
106 {
107     let program = `
108         int foo(int x)
109         {
110             x += 42;
111             return x;
112         }
113     `;
114     assert_equals(await callIntFunction(program, "foo", [makeInt(385)]), 385 + 42);
115 }
116
117 whlslTests.plusEqualsResult = async () =>
118 {
119     let program = `
120         int foo(int x)
121         {
122             return x += 42;
123         }
124     `;
125     assert_equals(await callIntFunction(program, "foo", [makeInt(385)]), 385 + 42);
126 }
127
128 whlslTests.minusEquals = async () => {
129     let program = `
130         int foo(int x)
131         {
132             x -= 42;
133             return x;
134         }
135     `;
136     assert_equals(await callIntFunction(program, "foo", [makeInt(385)]), 385 - 42);
137 }
138
139 whlslTests.minusEqualsResult = async () => {
140     let program = `
141         int foo(int x)
142         {
143             return x -= 42;
144         }
145     `;
146     assert_equals(await callIntFunction(program, "foo", [makeInt(385)]), 385 - 42);
147 }
148
149 whlslTests.timesEquals = async () => {
150     let program = `
151         int foo(int x)
152         {
153             x *= 42;
154             return x;
155         }
156     `;
157     assert_equals(await callIntFunction(program, "foo", [makeInt(385)]), 385 * 42);
158 }
159
160 whlslTests.timesEqualsResult = async () => {
161     let program = `
162         int foo(int x)
163         {
164             return x *= 42;
165         }
166     `;
167     assert_equals(await callIntFunction(program, "foo", [makeInt(385)]), 385 * 42);
168 }
169
170 runTests(whlslTests);
171 </script>
172 </html>