blob: 09fef42bc864c770b3312c0b56941ce2ddf6b60d [file] [log] [blame]
<!DOCTYPE html>
<html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Bad add.</title>
<script src="js/whlsl-test-harness.js"></script>
<script src="js/webgpu-functions.js"></script>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
const whlslTests = {};
whlslTests.casts = async () =>
{
let program = `
struct Foo {
int x;
}
struct Bar {
int y;
}
operator Bar(Foo foo) {
Bar b;
b.y = foo.x + 7;
return b;
}
int baz(int z) {
Foo foo;
foo.x = z;
Bar b = Bar(foo);
return b.y;
}
`;
assert_equals(await callIntFunction(program, "baz", [makeInt(6)]), 13);
}
whlslTests.selfCasts = async () =>
{
let program = `
struct Foo {
int x;
}
int foo()
{
Foo foo;
foo.x = 21;
Foo bar = Foo(foo);
bar.x = 42;
return foo.x + bar.x;
}
`;
assert_equals(await callIntFunction(program, "foo", []), 21 + 42);
}
runTests(whlslTests);
</script>
</html>