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)} ` ); });