0 | pass | pass | Side Effect in Array Indexing |
1 | pass | pass | Add one to var |
2 | pass | pass | $ is optional |
3 | pass | pass | SimpleVarSub within arith |
4 | pass | pass | BracedVarSub within ArithSub |
5 | pass | pass | Arith word part |
6 | pass | pass | Arith sub with word parts |
7 | pass | pass | Constant with quotes like '1' |
8 | pass | pass | Arith sub within arith sub |
9 | pass | pass | Backticks within arith sub |
10 | ok | ok | Invalid string to int |
| details | details | |
11 | pass | pass | Invalid string to int with strict_arith |
12 | pass | pass | Newline in the middle of expression |
13 | pass | pass | Ternary operator |
14 | pass | pass | Preincrement |
15 | pass | pass | Postincrement |
16 | pass | pass | Increment undefined variables |
17 | pass | pass | Increment and decrement array elements |
18 | pass | pass | Increment undefined variables with nounset |
19 | pass | pass | Comma operator (borrowed from C) |
20 | pass | pass | Augmented assignment |
21 | pass | pass | Comparison Ops |
22 | pass | pass | Logical Ops |
23 | pass | pass | Logical Ops Short Circuit |
24 | pass | pass | Bitwise ops |
25 | pass | pass | Unary minus and plus |
26 | pass | pass | No floating point |
27 | pass | pass | Array indexing in arith |
28 | pass | pass | Constants in base 36 |
29 | pass | pass | Constants in bases 2 to 64 |
30 | pass | pass | Multiple digit constants with base N |
31 | pass | pass | Dynamic base constants |
32 | pass | pass | Octal constant |
33 | pass | pass | Dynamic octal constant |
34 | pass | pass | Dynamic hex constants |
35 | pass | pass | Dynamic var names - result of runtime parse/eval |
36 | pass | pass | Recursive name evaluation is a result of runtime parse/eval |
37 | pass | pass | nounset with arithmetic |
38 | pass | pass | 64-bit integer doesn't overflow |
39 | pass | pass | More 64-bit ops |
40 | pass | pass | Invalid LValue |
41 | pass | pass | Invalid LValue that looks like array |
42 | pass | pass | Invalid LValue: two sets of brackets |
43 | pass | pass | Operator Precedence |
44 | pass | pass | Exponentiation with ** |
45 | pass | pass | Exponentiation operator has buggy precedence |
46 | pass | pass | Negative exponent |
47 | ok | ok | Comment not allowed in the middle of multiline arithmetic |
| details | details | |
48 | pass | pass | Add integer to indexed array (a[0] decay) |
49 | pass | pass | Add integer to associative array (a[0] decay) |
50 | ok | ok | Double subscript |
| details | details | |
51 | pass | pass | result of ArithSub -- array[0] decay |
52 | pass | pass | result of ArithSub -- assoc[0] decay |
53 | pass | pass | comma operator |
54 | pass | pass | assignment with dynamic var name |
55 | pass | pass | array assignment with dynamic array name |
56 | pass | pass | unary assignment with dynamic var name |
57 | pass | pass | unary array assignment with dynamic var name |
58 | pass | pass | Dynamic parsing of arithmetic |
59 | pass | pass | Dynamic parsing on empty string |
60 | pass | pass | nested ternary (bug fix) |
61 | pass | pass | 1 ? a=1 : b=2 ( bug fix) |
62 | pass | pass | Invalid constant |
63 | pass | pass | Negative numbers with integer division / |
64 | pass | pass | Negative numbers with % |