| description( |
| "Tests that the DFG knows that a function that appears like Math.max could potentially use value in arbitrary ways, and not just in a context that converts values to numbers." |
| ); |
| |
| function foo(f, array, i) { |
| return f(array[i], 2.5); |
| } |
| |
| function bar(value) { |
| return value; |
| } |
| |
| for (var i = 0; i < 200; ++i) { |
| var f, array, expected; |
| if (i == 190) { |
| f = "bar"; |
| array = "[, 1.5]"; |
| expected = "void 0"; |
| } else { |
| f = "Math.max"; |
| array = "[1.5]"; |
| expected = "Math.max(1.5, 2.5)"; |
| } |
| shouldBe("foo(" + f + ", " + array + ", 0)", expected); |
| } |
| |