@@ -125,15 +125,19 @@ class TestHScript extends TestCase {
125125 assertScript (" var f:(x:Int)->(Int, Int)->Int = (x:Int) -> (y:Int, z:Int) -> x + y + z; f(3)(1, 2)" , 6 , null , true );
126126 assertScript (" var a = 10; var b = 5; a - -b" , 15 );
127127 assertScript (" var a = 10; var b = 5; a - b / 2" , 7.5 );
128- assertScript (" var a; a" , null );
129- assertScript (" var a = 1, b = 5; a + b;" , 6 );
130- assertScript (" var a, b = 5; if (a == null) a = 2; a + b;" , 7 );
131- assertScript (" var a:Int; a" , null , null , true );
132- assertScript (" var a:Int = 1, b:Int = 5; a + b;" , 6 , null , true );
133- assertScript (" var a:Int, b:Int = 5; if (a == null) a = 2; a + b;" , 7 , null , true );
128+ assertScript (" var a; a" , null );
129+ assertScript (" var a = 1, b = 5; a + b;" , 6 );
130+ assertScript (" var a, b = 5; if (a == null) a = 2; a + b;" , 7 );
131+ assertScript (" var a:Int; a" , null , null , true );
132+ assertScript (" var a:Int = 1, b:Int = 5; a + b;" , 6 , null , true );
133+ assertScript (" var a:Int, b:Int = 5; if (a == null) a = 2; a + b;" , 7 , null , true );
134134 assertScript (" false && xxx" , false );
135135 assertScript (" true || xxx" , true );
136136 assertScript (" [for( x in arr ) switch( x ) { case 1: 55; case 3: 66; default: 0; }].join(':')" ,' 55:0:66' ,{ arr : [1 ,2 ,3 ] });
137+ assertScript (" switch( x ) { case 1: 55; case 3: 66; default: 0; }" ,66 ,{ x : 3 });
138+ assertScript (" var a = 1; switch( b ) { default: a = 2; }; a" , 2 , { b : 2 });
139+ assertScript (" var a = 1; switch( b ) { case 2: a = 100; default: a = 2; }; a" , 100 , { b : 2 });
140+ assertScript (" var a = 3; switch( b ) { case 2: if (a == 1) { a = 100; } else { a = 99; }; default: a = 2; }; a" , 99 , { b : 2 });
137141 }
138142
139143 function testNullFieldAccess (): Void {
@@ -256,4 +260,4 @@ class TestHScript extends TestCase {
256260 #end
257261 }
258262
259- }
263+ }
0 commit comments