blob: e4dc2f8bccd450a9e9b788b0b744a830c1527126 [file] [log] [blame]
export const description = `
Flow control tests for interesting complex cases.
`;
import { makeTestGroup } from '../../../../common/framework/test_group.js';
import { AllFeaturesMaxLimitsGPUTest } from '../../../gpu_test.js';
import { runFlowControlTest } from './harness.js';
export const g = makeTestGroup(AllFeaturesMaxLimitsGPUTest);
g.test('continue_in_switch_in_for_loop')
.desc('Test flow control for a continue statement in a switch, in a for-loop')
.params(u => u.combine('preventValueOptimizations', [true, false]))
.fn(t => {
runFlowControlTest(
t,
f =>
`
${f.expect_order(0)}
for (var i = ${f.value(0)}; i < 3; i++) {
${f.expect_order(1, 4, 6)}
switch (i) {
case 2: {
${f.expect_order(7)}
break;
}
case 1: {
${f.expect_order(5)}
continue;
}
default: {
${f.expect_order(2)}
break;
}
}
${f.expect_order(3, 8)}
}
${f.expect_order(9)}
`
);
});