(begin, end, gap, handle_case)
| 399 | |
| 400 | (function TestLargeSwitch() { |
| 401 | function LargeSwitchGenerator(begin, end, gap, handle_case) { |
| 402 | var str = "function asmModule() {\ |
| 403 | \"use asm\";\ |
| 404 | function main(x) {\ |
| 405 | x = x|0;\ |
| 406 | switch(x|0) {"; |
| 407 | for (var i = begin; i <= end; i = i + gap) { |
| 408 | str = str.concat("case ", i.toString(), ": ", handle_case(i)); |
| 409 | } |
| 410 | str = str.concat("default: return -1;\ |
| 411 | }\ |
| 412 | return -2;\ |
| 413 | }\ |
| 414 | return {main: main}; }"); |
| 415 | |
| 416 | var decl = eval('(' + str + ')'); |
| 417 | var wasm = decl(); |
| 418 | assertValidAsm(decl); |
| 419 | return wasm; |
| 420 | } |
| 421 | |
| 422 | var handle_case = function(k) { |
| 423 | return "return ".concat(k, ";"); |
no test coverage detected