()
| 31 | |
| 32 | // Test count operations involving constants |
| 33 | function test_count() { |
| 34 | var x = "foo"; |
| 35 | var y = "3"; |
| 36 | |
| 37 | x += x++; // ++ and -- apply ToNumber to their operand, even for postfix. |
| 38 | assertEquals(x, "fooNaN", "fooNaN test"); |
| 39 | x = "luft"; |
| 40 | x += ++x; |
| 41 | assertEquals(x, "luftNaN", "luftNaN test"); |
| 42 | |
| 43 | assertTrue(y++ === 3, "y++ === 3, where y = \"3\""); |
| 44 | y = 3; |
| 45 | assertEquals(y++, 3, "y++ == 3, where y = 3"); |
| 46 | y = "7.1"; |
| 47 | assertTrue(y++ === 7.1, "y++ === 7.1, where y = \"7.1\""); |
| 48 | var z = y = x = "9"; |
| 49 | assertEquals( z++ + (++y) + x++, 28, "z++ + (++y) + x++ == 28"); |
| 50 | z = y = x = 13; |
| 51 | assertEquals( z++ + (++y) + x++, 40, "z++ + (++y) + x++ == 40"); |
| 52 | z = y = x = -5.5; |
| 53 | assertEquals( z++ + (++y) + x++, -15.5, "z++ + (++y) + x++ == -15.5"); |
| 54 | |
| 55 | assertEquals(y, -4.5); |
| 56 | z = y; |
| 57 | z++; |
| 58 | assertEquals(y, -4.5); |
| 59 | z = y; |
| 60 | y++; |
| 61 | assertEquals(z, -4.5); |
| 62 | |
| 63 | y = 20; |
| 64 | z = y; |
| 65 | z++; |
| 66 | assertEquals(y, 20); |
| 67 | z = y; |
| 68 | y++; |
| 69 | assertEquals(z, 20); |
| 70 | } |
| 71 | |
| 72 | test_count(); |
| 73 |
no test coverage detected