| var hasBasicBlockExecuted = $vm.hasBasicBlockExecuted; |
| |
| load("./driver/driver.js"); |
| |
| var a, b, c; |
| function testSwitch(s) { |
| switch (s) { |
| case "foo": |
| return a; |
| case "bar": |
| return b; |
| default: |
| return c; |
| } |
| } |
| |
| assert(!hasBasicBlockExecuted(testSwitch, "switch"), "should not have executed yet."); |
| |
| testSwitch("foo"); |
| assert(hasBasicBlockExecuted(testSwitch, "switch"), "should have executed."); |
| assert(hasBasicBlockExecuted(testSwitch, "return a"), "should have executed."); |
| assert(!hasBasicBlockExecuted(testSwitch, "return b"), "should not have executed yet."); |
| assert(!hasBasicBlockExecuted(testSwitch, "return c"), "should not have executed yet."); |
| |
| testSwitch("bar"); |
| assert(hasBasicBlockExecuted(testSwitch, "return b"), "should have executed."); |
| assert(!hasBasicBlockExecuted(testSwitch, "return c"), "should not have executed yet."); |
| |
| testSwitch(""); |
| assert(hasBasicBlockExecuted(testSwitch, "return c"), "should have executed."); |