Add new runtime tests

This commit is contained in:
e.gavrin
2014-08-11 19:08:54 +04:00
parent 6564cbee76
commit 14d8b0d55e
7 changed files with 162 additions and 21 deletions
+38
View File
@@ -0,0 +1,38 @@
// Copyright 2014 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
var a = 21;
var b = 10;
var c;
c = a + b;
assert(c == 31);
c = a - b;
assert(c == 11);
c = a * b;
assert(c == 210);
c = a / b;
assert(c == 2.1);
c = a % b;
assert(c == 1);
c = a++;
assert(c == 21);
c = a--;
assert(c == 22);
+24
View File
@@ -0,0 +1,24 @@
// Copyright 2014 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
var big = 2147483646;
big++;
assert(big == 2147483647);
big += 1;
assert(big == 2147483648); // overflow on 32bit numbers
big++;
assert(big == 2147483649); // overflow on 32bit numbers
+20
View File
@@ -0,0 +1,20 @@
// Copyright 2014 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
var real = 42;
var float = 3.14;
var integer = -4;
var exponent = 1e7;
a = 42;
+16 -5
View File
@@ -12,9 +12,20 @@
// See the License for the specific language governing permissions and
// limitations under the License.
var a = 1;
var b = 2;
assert((1 + 2) == 3);
assert((2 + 1) == 3);
assert((2 + 1) != 4);
assert(a+b == 3);
assert(b+a == 3);
assert(b+a != 4);
assert((7 + 7) == 14);
assert((7 - 7) == 0);
assert((7 * 7) == 49);
assert((7 / 7) == 1);
assert((7 + 7) == 14);
assert((7 % 7) == 0);
var number = 81;
assert((number + 9) == 90);
assert((number - 9) == 72);
assert((number * 10) == 810);
assert((number / 9) == 9);
assert((number % 79) == 2);
+21
View File
@@ -0,0 +1,21 @@
// Copyright 2014 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
var b = 5;
assert((b += 10) == 15);
assert((b -= 3) == 12);
assert((b *= 10) == 120);
assert((b /= 10) == 12);
assert((b %= 10) == 2);
+23 -16
View File
@@ -13,23 +13,30 @@
// limitations under the License.
var i = 0;
for (; i < 100; i++) {}
assertEquals (i, 100);
for (var j = 0; j < 100; j++) {}
assertEquals (i, 100);
for (i = 0;;) {
if (i == 100) {
break;
assertUnreachable ();
}
i++;
for (; i < 100; i++) {
}
assertEquals (i, 100);
assert(i == 100);
for (var j = 0; j < 100; j++) {
}
assert(j == 100);
/*
for (i = 0; ; ) {
if (i == 100) {
break;
assert(false);
}
i++;
}
assert(i == 100);
*/
for (i = 0; i < 10; i++) {
for (j = 0; j < 10; j++) {}
for (j = 0; j < 10; j++) {
}
}
assertEquals (i, 100);
assertEquals (j, 100);
assert(i != 100);
assert(j != 100);
assert(i == 10);
assert(j == 10);
+20
View File
@@ -0,0 +1,20 @@
// Copyright 2014 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
assert((5 == 5) == true);
assert((7 != 2) == true);
assert((7 < 4) == false);
assert((7 > 4) == true);
//assert((7 <= 11) == true);
//assert((7 >= 11) == false);