浏览代码

investigating Issue #34 (incorrect CASE syntax)

Vladislav Folts 11 年之前
父节点
当前提交
12b9b9e409
共有 3 个文件被更改,包括 15 次插入0 次删除
  1. 5 0
      test/expected/case.js
  2. 8 0
      test/input/case.ob
  3. 2 0
      test/test_unit.js

+ 5 - 0
test/expected/case.js

@@ -8,6 +8,11 @@ var byte = 0;
 var c = 0;
 var $c;
 $c = i1;
+$c = i1;
+$c = i1;
+if ($c === 1){
+	b1 = false;
+}
 $c = 123;
 if ($c === 1){
 	b1 = true;

+ 8 - 0
test/input/case.ob

@@ -13,6 +13,14 @@ VAR i: INTEGER;
 BEGIN    
 	CASE i1 OF END;
 
+	CASE i1 OF
+		|
+	END;
+
+	CASE i1 OF
+		| 1: b1 := FALSE
+	END;
+
 	CASE 123 OF 1: b1 := TRUE END;
 
 	CASE i1 OF 

+ 2 - 0
test/test_unit.js

@@ -763,6 +763,8 @@ var testSuite = {
               "CONST ci = 15; cc = \"A\";"
             + "VAR c1: CHAR; b1: BOOLEAN; i1, i2: INTEGER; byte: BYTE; p: POINTER TO RECORD END;"),
     pass("CASE i1 OF END",
+         "CASE i1 OF | END",
+         "CASE i1 OF | 0: b1 := TRUE END",
          "CASE i1 OF 0: b1 := TRUE END",
          "CASE c1 OF \"A\": b1 := TRUE END",
          "CASE byte OF 3: b1 := TRUE END",