diff --git a/tests/jerry-test-suite/06/06-001.js b/tests/jerry-test-suite/06/06-001.js new file mode 100644 index 000000000..efb09c3ad --- /dev/null +++ b/tests/jerry-test-suite/06/06-001.js @@ -0,0 +1,16 @@ +// 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 str = "a\u000Ab"; +assert(str[1] === '\n'); diff --git a/tests/jerry-test-suite/06/06-002.js b/tests/jerry-test-suite/06/06-002.js new file mode 100644 index 000000000..053889190 --- /dev/null +++ b/tests/jerry-test-suite/06/06-002.js @@ -0,0 +1,29 @@ +// 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. + +function c(arg) +{ + var obj = new Object(); + obj.print = function () { + f = arg; + }; + return obj; +} + +a = c(5); +b = c(6); + +a.print.toString = 7; + +assert(typeof a.print.toString !== typeof b.print.toString); diff --git a/tests/jerry-test-suite/06/06-003.js b/tests/jerry-test-suite/06/06-003.js new file mode 100644 index 000000000..9d57688a0 --- /dev/null +++ b/tests/jerry-test-suite/06/06-003.js @@ -0,0 +1,30 @@ +// 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 obj = new Object(); + +function c(arg) +{ + var obj = new Object(); + obj.par = arg; + obj.print = function () { + return arg; + }; + return obj; +} + +var a = c(5); +var b = c(6); +assert(a.print() + b.par === 11); + diff --git a/tests/jerry-test-suite/06/06-004.js b/tests/jerry-test-suite/06/06-004.js new file mode 100644 index 000000000..715c28faf --- /dev/null +++ b/tests/jerry-test-suite/06/06-004.js @@ -0,0 +1,30 @@ +// 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 arg = 3; +function a() { + return 5 + arg; +} + +arg = 4; +var b = function () { + return 6 + arg; +}; + +arg = 5; +c = function e() { + return 7 + arg; +}; + +assert(a() + b() + c() === 33); diff --git a/tests/jerry-test-suite/06/06-005.js b/tests/jerry-test-suite/06/06-005.js new file mode 100644 index 000000000..43ff7c7d0 --- /dev/null +++ b/tests/jerry-test-suite/06/06-005.js @@ -0,0 +1,18 @@ +// 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 = "\u0410\u0411"; +var b = "\u0509\u0413"; + +assert(a < b); diff --git a/tests/jerry-test-suite/07/07.06/07.06.01/07.06.01-001.js b/tests/jerry-test-suite/07/07.06/07.06.01/07.06.01-001.js new file mode 100644 index 000000000..9a5942666 --- /dev/null +++ b/tests/jerry-test-suite/07/07.06/07.06.01/07.06.01-001.js @@ -0,0 +1,15 @@ +// 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 let = 1; diff --git a/tests/jerry-test-suite/07/07.08/07.08.05/07.08.05-001.js b/tests/jerry-test-suite/07/07.08/07.08.05/07.08.05-001.js new file mode 100644 index 000000000..f1d7f6da2 --- /dev/null +++ b/tests/jerry-test-suite/07/07.08/07.08.05/07.08.05-001.js @@ -0,0 +1,15 @@ +// 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. + +/a[a-z]/.exec("abcdefghi"); diff --git a/tests/jerry-test-suite/07/07.09/07.09-001.js b/tests/jerry-test-suite/07/07.09/07.09-001.js new file mode 100644 index 000000000..dda651d7e --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-001.js @@ -0,0 +1,16 @@ +// 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. + +{ 1 +2 } 3 \ No newline at end of file diff --git a/tests/jerry-test-suite/07/07.09/07.09-002.js b/tests/jerry-test-suite/07/07.09/07.09-002.js new file mode 100644 index 000000000..23d611c06 --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-002.js @@ -0,0 +1,27 @@ +// 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. + +function test() +{ + var a = 1, b = 2; + + return + a + b +} + +var v = test(); + +assert(v !== 3); + +assert(typeof v === "undefined") diff --git a/tests/jerry-test-suite/07/07.09/07.09-003.js b/tests/jerry-test-suite/07/07.09/07.09-003.js new file mode 100644 index 000000000..5ddb05186 --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-003.js @@ -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 b = 4, c = 5; + +a = b +++c + +assert(a === 4 && c === 6); diff --git a/tests/jerry-test-suite/07/07.09/07.09-004.js b/tests/jerry-test-suite/07/07.09/07.09-004.js new file mode 100644 index 000000000..8c8650258 --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-004.js @@ -0,0 +1,32 @@ +// 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 obj = new Object(); + +function c(arg) +{ + var obj = new Object(); + obj.par = arg; + obj.print = function () { + return arg; + } + return obj; +} + +var a, b = 1, d = 2, e = 3; + +a = b + c + (d + e).print() + +assert(a === 6); \ No newline at end of file diff --git a/tests/jerry-test-suite/07/07.09/07.09-005.js b/tests/jerry-test-suite/07/07.09/07.09-005.js new file mode 100644 index 000000000..7e706a273 --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-005.js @@ -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 b = 4, c = 5; + +a = b +--c + +assert(a === 4 && c === 4); diff --git a/tests/jerry-test-suite/07/07.09/07.09-006.js b/tests/jerry-test-suite/07/07.09/07.09-006.js new file mode 100644 index 000000000..8b4b8cd66 --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-006.js @@ -0,0 +1,31 @@ +// 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 mainloop = 1, cnt = 0; + +for (var i = 0; i < 10; ++i) +{ + for (var j = 0; j < 10; ++j) + { + if (j == 6) + { + continue + mainloop + } + + ++cnt; + } +} + +assert(cnt == 90); \ No newline at end of file diff --git a/tests/jerry-test-suite/07/07.09/07.09-007.js b/tests/jerry-test-suite/07/07.09/07.09-007.js new file mode 100644 index 000000000..1993a4f11 --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-007.js @@ -0,0 +1,31 @@ +// 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 mainloop = 1, cnt = 0; + +for (var i = 0; i < 10; ++i) +{ + for (var j = 0; j < 10; ++j) + { + if (j == 6) + { + break + mainloop + } + + ++cnt; + } +} + +assert(cnt == 60); diff --git a/tests/jerry-test-suite/07/07.09/07.09-008.js b/tests/jerry-test-suite/07/07.09/07.09-008.js new file mode 100644 index 000000000..9c8991bca --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-008.js @@ -0,0 +1,23 @@ +// 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. + +function test() +{ + var a = 10, b = 5; + var c = a + b + + return c; +} + +assert(test() == 15); diff --git a/tests/jerry-test-suite/07/07.09/07.09-009.js b/tests/jerry-test-suite/07/07.09/07.09-009.js new file mode 100644 index 000000000..84c6c795a --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-009.js @@ -0,0 +1,19 @@ +// 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, b = 3, c = 30; + a = b + c} + +assert (a == 33); diff --git a/tests/jerry-test-suite/07/07.09/07.09-010.js b/tests/jerry-test-suite/07/07.09/07.09-010.js new file mode 100644 index 000000000..ff79f83ad --- /dev/null +++ b/tests/jerry-test-suite/07/07.09/07.09-010.js @@ -0,0 +1,17 @@ +// 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 (glob === 34); + +var glob = 34 diff --git a/tests/jerry-test-suite/08/08.01/08.01-001.js b/tests/jerry-test-suite/08/08.01/08.01-001.js new file mode 100644 index 000000000..eb7fd64d3 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-001.js @@ -0,0 +1,16 @@ +// 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; +assert(typeof (a) === "undefined"); diff --git a/tests/jerry-test-suite/08/08.01/08.01-002.js b/tests/jerry-test-suite/08/08.01/08.01-002.js new file mode 100644 index 000000000..1e046d84f --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-002.js @@ -0,0 +1,17 @@ +// 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 o = {}; + +asssert(typeof (o.empty) === "undefined"); diff --git a/tests/jerry-test-suite/08/08.01/08.01-003.js b/tests/jerry-test-suite/08/08.01/08.01-003.js new file mode 100644 index 000000000..262266d29 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-003.js @@ -0,0 +1,18 @@ +// 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; +var b = null; + +assert(a == b); diff --git a/tests/jerry-test-suite/08/08.01/08.01-004.js b/tests/jerry-test-suite/08/08.01/08.01-004.js new file mode 100644 index 000000000..ec014e7d9 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-004.js @@ -0,0 +1,16 @@ +// 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; +assert(!a); diff --git a/tests/jerry-test-suite/08/08.01/08.01-005.js b/tests/jerry-test-suite/08/08.01/08.01-005.js new file mode 100644 index 000000000..8b11b47c2 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-005.js @@ -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. + +a = foo(); + +assert(typeof (a) === "undefined"); + +function foo() { +} \ No newline at end of file diff --git a/tests/jerry-test-suite/08/08.01/08.01-006.js b/tests/jerry-test-suite/08/08.01/08.01-006.js new file mode 100644 index 000000000..d44565515 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-006.js @@ -0,0 +1,15 @@ +// 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(typeof (void 0) === "undefined"); diff --git a/tests/jerry-test-suite/08/08.01/08.01-007.js b/tests/jerry-test-suite/08/08.01/08.01-007.js new file mode 100644 index 000000000..2dcfb5bc5 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-007.js @@ -0,0 +1,15 @@ +// 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(undefined === void 0); diff --git a/tests/jerry-test-suite/08/08.01/08.01-008.js b/tests/jerry-test-suite/08/08.01/08.01-008.js new file mode 100644 index 000000000..3b9458e74 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-008.js @@ -0,0 +1,16 @@ +// 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 x; +assert(x === void 0); diff --git a/tests/jerry-test-suite/08/08.01/08.01-009.js b/tests/jerry-test-suite/08/08.01/08.01-009.js new file mode 100644 index 000000000..81a52d6b2 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-009.js @@ -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 x; +assert(test1() === void 0); + +function test1(x) { + return x; +} \ No newline at end of file diff --git a/tests/jerry-test-suite/08/08.01/08.01-010.js b/tests/jerry-test-suite/08/08.01/08.01-010.js new file mode 100644 index 000000000..5495fa118 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-010.js @@ -0,0 +1,23 @@ +// 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(test()); + +function test(arg) +{ + if (typeof (arg) === "undefined") + return 1; + else + return 0; +} diff --git a/tests/jerry-test-suite/08/08.01/08.01-011.js b/tests/jerry-test-suite/08/08.01/08.01-011.js new file mode 100644 index 000000000..5495fa118 --- /dev/null +++ b/tests/jerry-test-suite/08/08.01/08.01-011.js @@ -0,0 +1,23 @@ +// 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(test()); + +function test(arg) +{ + if (typeof (arg) === "undefined") + return 1; + else + return 0; +} diff --git a/tests/jerry-test-suite/08/08.02/08.02-001.js b/tests/jerry-test-suite/08/08.02/08.02-001.js new file mode 100644 index 000000000..0e0e39527 --- /dev/null +++ b/tests/jerry-test-suite/08/08.02/08.02-001.js @@ -0,0 +1,15 @@ +// 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 x = null; diff --git a/tests/jerry-test-suite/08/08.02/08.02-002.js b/tests/jerry-test-suite/08/08.02/08.02-002.js new file mode 100644 index 000000000..947aeea06 --- /dev/null +++ b/tests/jerry-test-suite/08/08.02/08.02-002.js @@ -0,0 +1,15 @@ +// 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(typeof null == 'object'); diff --git a/tests/jerry-test-suite/08/08.03/08.03-001.js b/tests/jerry-test-suite/08/08.03/08.03-001.js new file mode 100644 index 000000000..836c6e0a2 --- /dev/null +++ b/tests/jerry-test-suite/08/08.03/08.03-001.js @@ -0,0 +1,17 @@ +// 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 = true; +assert(a); + diff --git a/tests/jerry-test-suite/08/08.03/08.03-002.js b/tests/jerry-test-suite/08/08.03/08.03-002.js new file mode 100644 index 000000000..23278d40c --- /dev/null +++ b/tests/jerry-test-suite/08/08.03/08.03-002.js @@ -0,0 +1,17 @@ +// 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 = false; +assert(!a); + diff --git a/tests/jerry-test-suite/08/08.03/08.03-003.js b/tests/jerry-test-suite/08/08.03/08.03-003.js new file mode 100644 index 000000000..75c73dc22 --- /dev/null +++ b/tests/jerry-test-suite/08/08.03/08.03-003.js @@ -0,0 +1,15 @@ +// 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(!(false == true)); diff --git a/tests/jerry-test-suite/08/08.03/08.03-004.js b/tests/jerry-test-suite/08/08.03/08.03-004.js new file mode 100644 index 000000000..5da277901 --- /dev/null +++ b/tests/jerry-test-suite/08/08.03/08.03-004.js @@ -0,0 +1,15 @@ +// 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(!(false === true)); diff --git a/tests/jerry-test-suite/08/08.04/08.04-001.js b/tests/jerry-test-suite/08/08.04/08.04-001.js new file mode 100644 index 000000000..4601c43fe --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-001.js @@ -0,0 +1,16 @@ +// 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. + +a = ''; +assert(typeof a == "string"); diff --git a/tests/jerry-test-suite/08/08.04/08.04-002.js b/tests/jerry-test-suite/08/08.04/08.04-002.js new file mode 100644 index 000000000..d7f0f8718 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-002.js @@ -0,0 +1,15 @@ +// 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("x\0a" < "x\0b") && ("x\0b" < "x\0c")); diff --git a/tests/jerry-test-suite/08/08.04/08.04-003.js b/tests/jerry-test-suite/08/08.04/08.04-003.js new file mode 100644 index 000000000..5802ee9ec --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-003.js @@ -0,0 +1,16 @@ +// 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 str = "test"; +assert(str.constructor === String); diff --git a/tests/jerry-test-suite/08/08.04/08.04-004.js b/tests/jerry-test-suite/08/08.04/08.04-004.js new file mode 100644 index 000000000..956182421 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-004.js @@ -0,0 +1,16 @@ +// 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 s = 'hello'; +asssert(s[0] == 'h'); diff --git a/tests/jerry-test-suite/08/08.04/08.04-005.js b/tests/jerry-test-suite/08/08.04/08.04-005.js new file mode 100644 index 000000000..4d6f714a0 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-005.js @@ -0,0 +1,16 @@ +// 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 s = 'hello'; +assert(s[5] == undefined); diff --git a/tests/jerry-test-suite/08/08.04/08.04-006.js b/tests/jerry-test-suite/08/08.04/08.04-006.js new file mode 100644 index 000000000..ed8e83338 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-006.js @@ -0,0 +1,17 @@ +// 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 str = 'ABC'; +var strObj = new String('ABC'); +assert(str.constructor === strObj.constructor); diff --git a/tests/jerry-test-suite/08/08.04/08.04-007.js b/tests/jerry-test-suite/08/08.04/08.04-007.js new file mode 100644 index 000000000..288c70d11 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-007.js @@ -0,0 +1,17 @@ +// 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 str = 'ABC'; +var strObj = new String('ABC'); +assert(str == strObj); diff --git a/tests/jerry-test-suite/08/08.04/08.04-008.js b/tests/jerry-test-suite/08/08.04/08.04-008.js new file mode 100644 index 000000000..6af48e971 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-008.js @@ -0,0 +1,18 @@ +// 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 str = 'ABC'; +var strObj = new String('ABC'); + +assert(str !== strObj); \ No newline at end of file diff --git a/tests/jerry-test-suite/08/08.04/08.04-009.js b/tests/jerry-test-suite/08/08.04/08.04-009.js new file mode 100644 index 000000000..bebf1bf19 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-009.js @@ -0,0 +1,19 @@ +// 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 str = ""; +var strObj = new String(""); +var strObj_ = new String(); + +assert(str.constructor === strObj.constructor); diff --git a/tests/jerry-test-suite/08/08.04/08.04-010.js b/tests/jerry-test-suite/08/08.04/08.04-010.js new file mode 100644 index 000000000..4aee58390 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-010.js @@ -0,0 +1,19 @@ +// 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 str = ""; +var strObj = new String(""); +var strObj_ = new String(); + +assert(str.constructor === strObj_.constructor); diff --git a/tests/jerry-test-suite/08/08.04/08.04-011.js b/tests/jerry-test-suite/08/08.04/08.04-011.js new file mode 100644 index 000000000..ad4b0b9b4 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-011.js @@ -0,0 +1,19 @@ +// 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 str = ""; +var strObj = new String(""); +var strObj_ = new String(); + +assert(str == strObj); diff --git a/tests/jerry-test-suite/08/08.04/08.04-012.js b/tests/jerry-test-suite/08/08.04/08.04-012.js new file mode 100644 index 000000000..ecea17f44 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-012.js @@ -0,0 +1,19 @@ +// 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 str = ""; +var strObj = new String(""); +var strObj_ = new String(); + +assert(str !== strObj); diff --git a/tests/jerry-test-suite/08/08.04/08.04-013.js b/tests/jerry-test-suite/08/08.04/08.04-013.js new file mode 100644 index 000000000..2c77d7828 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-013.js @@ -0,0 +1,18 @@ +// 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 str = ""; +var strObj = new String; + +assert(str.constructor === strObj.constructor); diff --git a/tests/jerry-test-suite/08/08.04/08.04-014.js b/tests/jerry-test-suite/08/08.04/08.04-014.js new file mode 100644 index 000000000..1eee8c7ed --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-014.js @@ -0,0 +1,18 @@ +// 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 str = ""; +var strObj = new String; + +assert(str == strObj); diff --git a/tests/jerry-test-suite/08/08.04/08.04-015.js b/tests/jerry-test-suite/08/08.04/08.04-015.js new file mode 100644 index 000000000..62d37e9a1 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-015.js @@ -0,0 +1,18 @@ +// 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 str = ""; +var strObj = new String; + +assert(str !== strObj); diff --git a/tests/jerry-test-suite/08/08.04/08.04-016.js b/tests/jerry-test-suite/08/08.04/08.04-016.js new file mode 100644 index 000000000..07856c56e --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-016.js @@ -0,0 +1,18 @@ +// 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 str = ""; +var strObj = new String; + +assert(typeof str != typeof strObj); diff --git a/tests/jerry-test-suite/08/08.04/08.04-017.js b/tests/jerry-test-suite/08/08.04/08.04-017.js new file mode 100644 index 000000000..2183c52f3 --- /dev/null +++ b/tests/jerry-test-suite/08/08.04/08.04-017.js @@ -0,0 +1,16 @@ +// 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 __str__ = "\u0041\u0042\u0043" + 'ABC' +assert(__str__ === 'ABCABC'); diff --git a/tests/jerry-test-suite/08/08.05/08.05-001.js b/tests/jerry-test-suite/08/08.05/08.05-001.js new file mode 100644 index 000000000..3d11a7596 --- /dev/null +++ b/tests/jerry-test-suite/08/08.05/08.05-001.js @@ -0,0 +1,16 @@ +// 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. + +a = 0x3e7; +assert(a == 999); diff --git a/tests/jerry-test-suite/08/08.05/08.05-002.js b/tests/jerry-test-suite/08/08.05/08.05-002.js new file mode 100644 index 000000000..a70cd2fae --- /dev/null +++ b/tests/jerry-test-suite/08/08.05/08.05-002.js @@ -0,0 +1,15 @@ +// 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(typeof -Infinity == 'number'); diff --git a/tests/jerry-test-suite/08/08.05/08.05-003.js b/tests/jerry-test-suite/08/08.05/08.05-003.js new file mode 100644 index 000000000..2ef484aad --- /dev/null +++ b/tests/jerry-test-suite/08/08.05/08.05-003.js @@ -0,0 +1,15 @@ +// 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(0 > -Infinity); diff --git a/tests/jerry-test-suite/08/08.12/08.12.02/08.12.02-001.js b/tests/jerry-test-suite/08/08.12/08.12.02/08.12.02-001.js new file mode 100644 index 000000000..c2e888ba2 --- /dev/null +++ b/tests/jerry-test-suite/08/08.12/08.12.02/08.12.02-001.js @@ -0,0 +1,26 @@ +// 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 prot = { + b: 3 +}; + +function Custom() { +} + +Custom.prototype = prot; + +var obj = new Custom(); + +assert(obj.b === 3); diff --git a/tests/jerry-test-suite/10/10.03/10.03.01/10.03.01-001.js b/tests/jerry-test-suite/10/10.03/10.03.01/10.03.01-001.js new file mode 100644 index 000000000..50c8da74e --- /dev/null +++ b/tests/jerry-test-suite/10/10.03/10.03.01/10.03.01-001.js @@ -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. + +a = 10; + +function foo() { + var b = 20; + + assert(a + b === 30); +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.01/12.01-001.js b/tests/jerry-test-suite/12/12.01/12.01-001.js new file mode 100644 index 000000000..31c2b90fe --- /dev/null +++ b/tests/jerry-test-suite/12/12.01/12.01-001.js @@ -0,0 +1,16 @@ +// 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. + +{ +} diff --git a/tests/jerry-test-suite/12/12.01/12.01-002.js b/tests/jerry-test-suite/12/12.01/12.01-002.js new file mode 100644 index 000000000..c7931fbec --- /dev/null +++ b/tests/jerry-test-suite/12/12.01/12.01-002.js @@ -0,0 +1,23 @@ +// 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. + +function test() +{ + { + return 1; + } + return 0; +} + +assert(test()); diff --git a/tests/jerry-test-suite/12/12.01/12.01-003.js b/tests/jerry-test-suite/12/12.01/12.01-003.js new file mode 100644 index 000000000..a06ac3a2b --- /dev/null +++ b/tests/jerry-test-suite/12/12.01/12.01-003.js @@ -0,0 +1,15 @@ +// 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. + +{;;} diff --git a/tests/jerry-test-suite/12/12.01/12.01-004.js b/tests/jerry-test-suite/12/12.01/12.01-004.js new file mode 100644 index 000000000..f5a03dbc9 --- /dev/null +++ b/tests/jerry-test-suite/12/12.01/12.01-004.js @@ -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 a = null; + ; + a = 'null'; +} + +assert(a === 'null'); diff --git a/tests/jerry-test-suite/12/12.01/12.01-005.js b/tests/jerry-test-suite/12/12.01/12.01-005.js new file mode 100644 index 000000000..609f3204c --- /dev/null +++ b/tests/jerry-test-suite/12/12.01/12.01-005.js @@ -0,0 +1,27 @@ +// 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 = null; + ; + } + { + { + } + } + a = 'null'; +} + +assert(a === 'null'); diff --git a/tests/jerry-test-suite/12/12.02/12.02-001.js b/tests/jerry-test-suite/12/12.02/12.02-001.js new file mode 100644 index 000000000..f55460793 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-001.js @@ -0,0 +1,16 @@ +// 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; +assert(a === undefined); diff --git a/tests/jerry-test-suite/12/12.02/12.02-002.js b/tests/jerry-test-suite/12/12.02/12.02-002.js new file mode 100644 index 000000000..91aa23b88 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-002.js @@ -0,0 +1,16 @@ +// 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 = 12345; +assert(a === 12345); diff --git a/tests/jerry-test-suite/12/12.02/12.02-003.js b/tests/jerry-test-suite/12/12.02/12.02-003.js new file mode 100644 index 000000000..f33237f38 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-003.js @@ -0,0 +1,16 @@ +// 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 = null; +assert(a === null); diff --git a/tests/jerry-test-suite/12/12.02/12.02-004.js b/tests/jerry-test-suite/12/12.02/12.02-004.js new file mode 100644 index 000000000..18bd38973 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-004.js @@ -0,0 +1,17 @@ +// 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 = undefined; + +assert(a === undefined); diff --git a/tests/jerry-test-suite/12/12.02/12.02-005.js b/tests/jerry-test-suite/12/12.02/12.02-005.js new file mode 100644 index 000000000..a5f9c7ea6 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-005.js @@ -0,0 +1,17 @@ +// 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 = "undefined"; + +assert(a === "undefined"); diff --git a/tests/jerry-test-suite/12/12.02/12.02-006.js b/tests/jerry-test-suite/12/12.02/12.02-006.js new file mode 100644 index 000000000..c8df4c7ae --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-006.js @@ -0,0 +1,17 @@ +// 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 = 'undefined'; + +assert(a === "undefined"); diff --git a/tests/jerry-test-suite/12/12.02/12.02-007.js b/tests/jerry-test-suite/12/12.02/12.02-007.js new file mode 100644 index 000000000..fc5bb8d16 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-007.js @@ -0,0 +1,17 @@ +// 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 = 'undefined'; + +assert(a === 'undefined'); diff --git a/tests/jerry-test-suite/12/12.02/12.02-008.js b/tests/jerry-test-suite/12/12.02/12.02-008.js new file mode 100644 index 000000000..1b8472154 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-008.js @@ -0,0 +1,17 @@ +// 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 = false, b = true; + +assert(a === false && b === true); diff --git a/tests/jerry-test-suite/12/12.02/12.02-009.js b/tests/jerry-test-suite/12/12.02/12.02-009.js new file mode 100644 index 000000000..fa5ff042d --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-009.js @@ -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 a = 1, + b, + c = 4; + +b = a + c; + +assert(b === 5); diff --git a/tests/jerry-test-suite/12/12.02/12.02-010.js b/tests/jerry-test-suite/12/12.02/12.02-010.js new file mode 100644 index 000000000..dd0de613f --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-010.js @@ -0,0 +1,17 @@ +// 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, b = 3.14, c; + +assert(a === undefined && b === 3.14 && c === undefined) diff --git a/tests/jerry-test-suite/12/12.02/12.02-011.js b/tests/jerry-test-suite/12/12.02/12.02-011.js new file mode 100644 index 000000000..ac959e22a --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-011.js @@ -0,0 +1,17 @@ +// 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, b, c; + +assert(a === undefined && b === undefined && c === undefined); diff --git a/tests/jerry-test-suite/12/12.02/12.02-012.js b/tests/jerry-test-suite/12/12.02/12.02-012.js new file mode 100644 index 000000000..cfafeab1c --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-012.js @@ -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 /* + // + */ + _a1 = 2; + +assert(_a1 === 2); diff --git a/tests/jerry-test-suite/12/12.02/12.02-013.js b/tests/jerry-test-suite/12/12.02/12.02-013.js new file mode 100644 index 000000000..561698c63 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-013.js @@ -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 /* + // + */ + _a$1 = 2; + +assert(_a$1 === 2); diff --git a/tests/jerry-test-suite/12/12.02/12.02-014.js b/tests/jerry-test-suite/12/12.02/12.02-014.js new file mode 100644 index 000000000..b9c7caa63 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-014.js @@ -0,0 +1,18 @@ +// 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 = 2; +assert($a === 2); diff --git a/tests/jerry-test-suite/12/12.02/12.02-015.js b/tests/jerry-test-suite/12/12.02/12.02-015.js new file mode 100644 index 000000000..1491b93c3 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-015.js @@ -0,0 +1,17 @@ +// 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 = 12 + "abc"; + +assert(a === "12abc"); diff --git a/tests/jerry-test-suite/12/12.02/12.02-016.js b/tests/jerry-test-suite/12/12.02/12.02-016.js new file mode 100644 index 000000000..fbd886e7a --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-016.js @@ -0,0 +1,18 @@ +// 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 = {}; +var b = typeof (a); + +assert(b === "object" && b === typeof (Object()) && b === typeof ({})); diff --git a/tests/jerry-test-suite/12/12.02/12.02-018.js b/tests/jerry-test-suite/12/12.02/12.02-018.js new file mode 100644 index 000000000..42259a13f --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-018.js @@ -0,0 +1,17 @@ +// 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 = []; + +assert(a instanceof Array && a.length === 0); diff --git a/tests/jerry-test-suite/12/12.02/12.02-019.js b/tests/jerry-test-suite/12/12.02/12.02-019.js new file mode 100644 index 000000000..f2aaedf15 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-019.js @@ -0,0 +1,18 @@ +// 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 = 2 + +assert(a === 2); diff --git a/tests/jerry-test-suite/12/12.02/12.02-020.js b/tests/jerry-test-suite/12/12.02/12.02-020.js new file mode 100644 index 000000000..7b02170b0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-020.js @@ -0,0 +1,17 @@ +// 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 = RegExp(); + +assert(a instanceof RegExp); diff --git a/tests/jerry-test-suite/12/12.02/12.02-021.js b/tests/jerry-test-suite/12/12.02/12.02-021.js new file mode 100644 index 000000000..a589fcf21 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-021.js @@ -0,0 +1,17 @@ +// 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 = new Date(); + +assert(a instanceof Date); diff --git a/tests/jerry-test-suite/12/12.02/12.02-022.js b/tests/jerry-test-suite/12/12.02/12.02-022.js new file mode 100644 index 000000000..125029109 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02-022.js @@ -0,0 +1,18 @@ +// 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 = 1; +var b = a; + +assert(a === b); diff --git a/tests/jerry-test-suite/12/12.02/12.02.01/12.02.01-001.js b/tests/jerry-test-suite/12/12.02/12.02.01/12.02.01-001.js new file mode 100644 index 000000000..3f129e338 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02.01/12.02.01-001.js @@ -0,0 +1,33 @@ +// 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. + +/* + + s.ryabkova + + Check that in non strict mode variable with name "eval" could be created + + + var, eval, if + + +*/ +function main() +{ + var eval = 1 + if (eval === 1 && typeof(eval) === "number") + return 1; + else + return 0; +} diff --git a/tests/jerry-test-suite/12/12.02/12.02.01/12.02.01-002.js b/tests/jerry-test-suite/12/12.02/12.02.01/12.02.01-002.js new file mode 100644 index 000000000..caee256a1 --- /dev/null +++ b/tests/jerry-test-suite/12/12.02/12.02.01/12.02.01-002.js @@ -0,0 +1,34 @@ +// 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. + +/* + + s.ryabkova + + Check that in non strict mode variable with name "arguments" + could be created + + + var, arguments, if + + +*/ +function main() +{ + var arguments=2; + if (arguments === 2 && typeof(arguments) === "number") + return 1; + else + return 0; +} diff --git a/tests/jerry-test-suite/12/12.03/12.03-001.js b/tests/jerry-test-suite/12/12.03/12.03-001.js new file mode 100644 index 000000000..98b54fa6e --- /dev/null +++ b/tests/jerry-test-suite/12/12.03/12.03-001.js @@ -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. + +function test() +{ + ; + return 1;;;;;; +} + +test(); diff --git a/tests/jerry-test-suite/12/12.03/12.03-002.js b/tests/jerry-test-suite/12/12.03/12.03-002.js new file mode 100644 index 000000000..c7bbf056c --- /dev/null +++ b/tests/jerry-test-suite/12/12.03/12.03-002.js @@ -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. + +function test() +{ + ;;;;;; + return 1 +} + +test(); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.03/12.03-003.js b/tests/jerry-test-suite/12/12.03/12.03-003.js new file mode 100644 index 000000000..3db63a0d8 --- /dev/null +++ b/tests/jerry-test-suite/12/12.03/12.03-003.js @@ -0,0 +1,18 @@ +// 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="ab;c" +; +; +assert (a === 'ab;c'); diff --git a/tests/jerry-test-suite/12/12.04/12.04-001.js b/tests/jerry-test-suite/12/12.04/12.04-001.js new file mode 100644 index 000000000..e5963e879 --- /dev/null +++ b/tests/jerry-test-suite/12/12.04/12.04-001.js @@ -0,0 +1,16 @@ +// 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 = 5, b = 1; +(a + b); diff --git a/tests/jerry-test-suite/12/12.04/12.04-002.js b/tests/jerry-test-suite/12/12.04/12.04-002.js new file mode 100644 index 000000000..cad8c1a99 --- /dev/null +++ b/tests/jerry-test-suite/12/12.04/12.04-002.js @@ -0,0 +1,16 @@ +// 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 = 5, b = 1; +a = a && b; diff --git a/tests/jerry-test-suite/12/12.04/12.04-003.js b/tests/jerry-test-suite/12/12.04/12.04-003.js new file mode 100644 index 000000000..d30168145 --- /dev/null +++ b/tests/jerry-test-suite/12/12.04/12.04-003.js @@ -0,0 +1,16 @@ +// 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, b, c +a = 2, b = 3, c = 4 diff --git a/tests/jerry-test-suite/12/12.04/12.04-004.js b/tests/jerry-test-suite/12/12.04/12.04-004.js new file mode 100644 index 000000000..8ea2a9fda --- /dev/null +++ b/tests/jerry-test-suite/12/12.04/12.04-004.js @@ -0,0 +1,17 @@ +// 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 +a = function () { +} diff --git a/tests/jerry-test-suite/12/12.05/12.05-001.js b/tests/jerry-test-suite/12/12.05/12.05-001.js new file mode 100644 index 000000000..e9e268879 --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-001.js @@ -0,0 +1,23 @@ +// 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. + +function test() +{ + if (true) { + return 1; + } + assert(false); +} + +test(); diff --git a/tests/jerry-test-suite/12/12.05/12.05-002.js b/tests/jerry-test-suite/12/12.05/12.05-002.js new file mode 100644 index 000000000..def94262d --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-002.js @@ -0,0 +1,22 @@ +// 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. + +function test() +{ + if (false) { + assert(false); + } +} + +test(); diff --git a/tests/jerry-test-suite/12/12.05/12.05-003.js b/tests/jerry-test-suite/12/12.05/12.05-003.js new file mode 100644 index 000000000..23f3afd10 --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-003.js @@ -0,0 +1,25 @@ +// 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. + +function test() +{ + if (true) + { + return 1; + } + else + assert(false); +} + +test(); diff --git a/tests/jerry-test-suite/12/12.05/12.05-004.js b/tests/jerry-test-suite/12/12.05/12.05-004.js new file mode 100644 index 000000000..c27337d97 --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-004.js @@ -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. + +function test() +{ + if (false) + assert(false); + else { + return 1; + } +} + +test(); diff --git a/tests/jerry-test-suite/12/12.05/12.05-005.js b/tests/jerry-test-suite/12/12.05/12.05-005.js new file mode 100644 index 000000000..6a11fbe5e --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-005.js @@ -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. + +function test() +{ + if(true); +} + +test(); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.05/12.05-006.js b/tests/jerry-test-suite/12/12.05/12.05-006.js new file mode 100644 index 000000000..21def01bd --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-006.js @@ -0,0 +1,16 @@ +// 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 = 'w\0', b = 'w\0'; +assert(a === b); diff --git a/tests/jerry-test-suite/12/12.05/12.05-007.js b/tests/jerry-test-suite/12/12.05/12.05-007.js new file mode 100644 index 000000000..0d0572dfb --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-007.js @@ -0,0 +1,28 @@ +// 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 = 1, b = 2; +var c; +if (a === 1) +{ + if (b === 1) + c = 3; +} +else +if (b === 2) + c = 5; +else + c = 7; + +assert(c === undefined); diff --git a/tests/jerry-test-suite/12/12.05/12.05-008.js b/tests/jerry-test-suite/12/12.05/12.05-008.js new file mode 100644 index 000000000..1d6c5f03a --- /dev/null +++ b/tests/jerry-test-suite/12/12.05/12.05-008.js @@ -0,0 +1,27 @@ +// 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 = 1, b = 2; +var c; +if (a === 1) + if (b === 1) + c = 3; + else + if (b === 2) + c = 5; + else + c = 7; + +assert(c === 5); + \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-001.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-001.js new file mode 100644 index 000000000..debf4f7ab --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-001.js @@ -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 cnt = 1; +do + cnt++; +while (cnt < 10); + +assert(cnt === 10); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-002.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-002.js new file mode 100644 index 000000000..5c5020630 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-002.js @@ -0,0 +1,22 @@ +// 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 cnt = 1; +do +{ + cnt++; + if (cnt === 42) { + break; + } +} while (true); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-003.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-003.js new file mode 100644 index 000000000..fcad68f69 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-003.js @@ -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 cnt = 1; +do { + cnt++; + + if (cnt === 10) + { + break; + } +} +while (0, 1); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-004.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-004.js new file mode 100644 index 000000000..2c5a1c889 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-004.js @@ -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 obj = new Object(); +do +{ + obj.x = "defined"; +} +while (delete obj.x); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-005.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-005.js new file mode 100644 index 000000000..d934514c0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-005.js @@ -0,0 +1,19 @@ +// 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 x = 1 / 3; +do +{ +} +while (x === 3 / 9); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-006.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-006.js new file mode 100644 index 000000000..f4f57ec6c --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-006.js @@ -0,0 +1,22 @@ +// 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 cnt = 1; +do +{ + cnt++; +} +while (false); + +assert(cnt === 2); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-007.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-007.js new file mode 100644 index 000000000..809c4e9cc --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-007.js @@ -0,0 +1,22 @@ +// 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 cnt = 1; +do +{ + cnt++; +} +while (!"string"); + +assert(cnt === 2); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-008.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-008.js new file mode 100644 index 000000000..0052be7b1 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-008.js @@ -0,0 +1,22 @@ +// 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 cnt = 0; +do +{ + cnt++; +} +while (!(cnt & 0x8000)); + +assert(cnt == 32768); diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-009.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-009.js new file mode 100644 index 000000000..fccfcf114 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-009.js @@ -0,0 +1,25 @@ +// 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 cnt = 0; +do +{ + cnt++; +} +while + (cnt < 10 + ); + +assert(cnt === 10); + diff --git a/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-010.js b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-010.js new file mode 100644 index 000000000..36ac0fce7 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.01/12.06.01-010.js @@ -0,0 +1,32 @@ +// 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 cnt = 0; + +function test() +{ + do + { + cnt++; + if (cnt === 8) + return 1; + } + while (cnt < 10); + + return 0; +} + +var r = test(); + +assert(cnt === 8 && r === 1); diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-001.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-001.js new file mode 100644 index 000000000..811ba0f0e --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-001.js @@ -0,0 +1,19 @@ +// 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 cnt = 25; +while (cnt) + cnt--; + +assert(cnt === 0); diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-002.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-002.js new file mode 100644 index 000000000..4a4c8c22c --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-002.js @@ -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 cnt = 0; + +while (1) { + cnt++; + if (cnd === 10) + break; +} diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-003.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-003.js new file mode 100644 index 000000000..6bec187e0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-003.js @@ -0,0 +1,22 @@ +// 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 cnt = 0; +while ((1234 - 34) % 23 - 1234 * 23.222) +{ + cnt++; + if (cnt === 10) + break; +} + diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-004.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-004.js new file mode 100644 index 000000000..50a6d2ef0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-004.js @@ -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 cnt = 33; + +while ("") + cnt /= 2; + +assert(cnt === 33); diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-005.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-005.js new file mode 100644 index 000000000..cef99982f --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-005.js @@ -0,0 +1,23 @@ +// 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 bVal = true; +var val = "test"; + +while (!bVal) +{ + val += " of while"; +} + +asssert(val === "test"); diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-006.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-006.js new file mode 100644 index 000000000..d384626f3 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-006.js @@ -0,0 +1,23 @@ +// 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 bitField = 0x1000000; +var cnt = 0; + +while (bitField >>= 1) +{ + cnt++; +} + +assert(cnt === 24); diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-007.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-007.js new file mode 100644 index 000000000..8cf7d11c4 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-007.js @@ -0,0 +1,28 @@ +// 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 bitField = 0x1000000; +var cnt = 0; + +while + ( + bitField >>= 1 && + true + ) +{ + cnt++; +} + +assert(cnt === 24); diff --git a/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-008.js b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-008.js new file mode 100644 index 000000000..7aab875e2 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.02/12.06.02-008.js @@ -0,0 +1,30 @@ +// 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 cnt = 25; + +function test() +{ + while (cnt) + { + cnt--; + if (cnt === 3) + return 1; + } + return 0; +} + +r = test(); + +assert(cnt === 3 && r === 1); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-001.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-001.js new file mode 100644 index 000000000..a73178a3e --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-001.js @@ -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 cnt = 1; + +for (var i = 0; i < 10; i++) + cnt++; + +assert(cnt === 11 && i === 10); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-002.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-002.js new file mode 100644 index 000000000..263fee5c6 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-002.js @@ -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 cond = 1.999; +var cnt = 0; + +for (; cond < 10.333; cond += 1.121) + cnt++; + +assert(cnt == 8); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-003.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-003.js new file mode 100644 index 000000000..6b95b50a9 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-003.js @@ -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 i; + +for (i = 0; ; i += 5) +{ + if (i === 100) + break; +} diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-004.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-004.js new file mode 100644 index 000000000..9576cc717 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-004.js @@ -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 i; + +for (i = 1; i < 20; ) + i *= 2; + +assert(i === 32); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-005.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-005.js new file mode 100644 index 000000000..3baae7a0a --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-005.js @@ -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 i = 0; +for (; ; ) +{ + if (i++ === 100) + break; +} + diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-006.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-006.js new file mode 100644 index 000000000..b5f21ada2 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-006.js @@ -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 sum = 0; +for (var i = 1; i <= 10; i++) +{ + for (var j = 1; j <= 5; j++) + { + sum += i * j; + } +} + +assert(sum === 825); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-007.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-007.js new file mode 100644 index 000000000..288ade639 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-007.js @@ -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 sum = 0; +for (var i = 1, j = 1, k = 1; i + j + k <= 100; i++, j += 2, k += 3) +{ + sum += i + j + k; +} + +assert(sum == 867); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-008.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-008.js new file mode 100644 index 000000000..0711b148d --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-008.js @@ -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 sum = 1; + +for (var i = 0; i < 10; i++, sum *= i) + ; + +assert(sum === 3628800); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-009.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-009.js new file mode 100644 index 000000000..920a1b997 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-009.js @@ -0,0 +1,22 @@ +// 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 init; + +for (init = (129 - 8) / 11; init != 11; ) +{ + init = 33; +} + +assert(init == 11); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-010.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-010.js new file mode 100644 index 000000000..7482e5278 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-010.js @@ -0,0 +1,27 @@ +// 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. + +for + ( + var i = 0 + ; + i < 10 + ; + i++ + ) +{ + i++; +} + +assert(i == 10); diff --git a/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-011.js b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-011.js new file mode 100644 index 000000000..e0c16cdaf --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.03/12.06.03-011.js @@ -0,0 +1,30 @@ +// 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 i; + +function test() +{ + for (i = 0; i < 10; i++) + { + if (i === 4) + return 1; + } + + return 0; +} + +var r = test(); + +assert(r === 1 && i === 4); diff --git a/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-001.js b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-001.js new file mode 100644 index 000000000..a89c4b9c1 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-001.js @@ -0,0 +1,22 @@ +// 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 o = {a: 1, b: 2, c: 3}; + +for (var p in o) +{ + o[p] += 4; +} + +assert(o.a === 5 && o.b === 6 && o.c === 7); diff --git a/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-002.js b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-002.js new file mode 100644 index 000000000..2f9452f08 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-002.js @@ -0,0 +1,25 @@ +// 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 = new Array(1, 2, 3, 4, 5, 6, 7); +a.eight = 8; + +var p; +for (p in a) +{ + a[p] += 1; +} + +assert(a[0] === 2 && a[1] === 3 && a[2] === 4 && a[3] === 5 && + a[4] === 6 && a[5] === 7 && a[6] === 8 && a['eight'] === 9); diff --git a/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-003.js b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-003.js new file mode 100644 index 000000000..0d5926381 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-003.js @@ -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 a = null; + +for (var p in a) +{ + assert(false); +} diff --git a/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-004.js b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-004.js new file mode 100644 index 000000000..381590908 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-004.js @@ -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 a; + +for (var p in a) +{ + assert(false); +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-005.js b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-005.js new file mode 100644 index 000000000..bd081bc5c --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-005.js @@ -0,0 +1,31 @@ +// 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 = {basep: "base"}; + +function dConstr() +{ + this.derivedp = "derived"; +} +dConstr.prototype = b; + +var d = new dConstr(); + +for (var p in d) +{ + d[p] += "A"; +} + +assert(d.basep === "baseA" && d.derivedp === "derivedA"); diff --git a/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-006.js b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-006.js new file mode 100644 index 000000000..2788b98f5 --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-006.js @@ -0,0 +1,26 @@ +// 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 o = {a: 1, b: 2, c: 3}; + +for + ( + var + p in o + ) +{ + o[p] += 4; +} + +assert(o.a === 5 && o.b === 6 && o.c === 7); diff --git a/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-007.js b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-007.js new file mode 100644 index 000000000..34658f18e --- /dev/null +++ b/tests/jerry-test-suite/12/12.06/12.06.04/12.06.04-007.js @@ -0,0 +1,32 @@ +// 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 o = {a: 1, b: 2, c: 3, d: 4, e: 5}; + +function test() +{ + for (var p in o) + { + if (p === 'c') + return 1; + + o[p] += 4; + } + return 0; +} + +var r = test(); + +assert(((o.a === 5 && o.b === 6 && o.c === 3) || + (o.c === 3 && o.d === 8 && o.e === 9)) && r === 1); diff --git a/tests/jerry-test-suite/12/12.07/12.07-001.js b/tests/jerry-test-suite/12/12.07/12.07-001.js new file mode 100644 index 000000000..b96ab516d --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-001.js @@ -0,0 +1,26 @@ +// 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 sum = 0; +for (var i = 0; i < 10; i++) +{ + if (i === 5) + { + continue; + } + + sum += i; +} + +assert(sum === 40); diff --git a/tests/jerry-test-suite/12/12.07/12.07-002.js b/tests/jerry-test-suite/12/12.07/12.07-002.js new file mode 100644 index 000000000..898f9774b --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-002.js @@ -0,0 +1,25 @@ +// 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 sum = 0; +for (var i = 0; i < 10; i++) + for (var j = 0; j < 20; j++) + { + if (j > 9) + continue; + + sum += 1; + } + +assert(sum === 100); diff --git a/tests/jerry-test-suite/12/12.07/12.07-003.js b/tests/jerry-test-suite/12/12.07/12.07-003.js new file mode 100644 index 000000000..748833b95 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-003.js @@ -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 o = {p1: 1, p2: 2, p3: {p1: 100, p2: 200, p3: 100}, p4: 4, p5: 5}, sum = 0; + +top: + for (var p in o) +{ + if (p === "p2") + continue; + + if (typeof (o[p]) === "object") + { + for (var pp in o[p]) + { + if (pp === "p2") + continue top; + + sum += o[p][pp]; + } + } + + sum += 20; + +} + +assert(sum === 160); diff --git a/tests/jerry-test-suite/12/12.07/12.07-004.js b/tests/jerry-test-suite/12/12.07/12.07-004.js new file mode 100644 index 000000000..3679f4862 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-004.js @@ -0,0 +1,25 @@ +// 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 o = {a: 1, b: 2, c: 3}; + +ForLabel: + for (var p in o) +{ + if (p === "b") + continue ForLabel; + o[p] += 4; +} + +assert(o.a === 5 && o.b === 2 && o.c === 7); diff --git a/tests/jerry-test-suite/12/12.07/12.07-005.js b/tests/jerry-test-suite/12/12.07/12.07-005.js new file mode 100644 index 000000000..b99d786a1 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-005.js @@ -0,0 +1,28 @@ +// 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 sum = 0; + +ForLabel: + for (var i = 0; i < 10; i++) +{ + if (i === 5) + { + continue ForLabel; + } + + sum += i; +} + +assert(sum === 40); diff --git a/tests/jerry-test-suite/12/12.07/12.07-006.js b/tests/jerry-test-suite/12/12.07/12.07-006.js new file mode 100644 index 000000000..ce91ffd61 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-006.js @@ -0,0 +1,30 @@ +// 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 sum = 0; +top: + for (var i = 0; i < 10; i++) +{ + for (var j = 0; j < 20; j++) + { + if (j > 9 && i % 2) + continue top; + + sum += 1; + } + + sum += 1; +} + +assert(sum === 155); diff --git a/tests/jerry-test-suite/12/12.07/12.07-007.js b/tests/jerry-test-suite/12/12.07/12.07-007.js new file mode 100644 index 000000000..9f362d5f6 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-007.js @@ -0,0 +1,28 @@ +// 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 mask = 0xff0f; +var numZeroes = 0; + +while (mask) +{ + mask >>= 1; + + if (mask & 1) + continue; + + numZeroes++; +} + +assert(numZeroes === 5); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.07/12.07-008.js b/tests/jerry-test-suite/12/12.07/12.07-008.js new file mode 100644 index 000000000..ffb7e9da2 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-008.js @@ -0,0 +1,33 @@ +// 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 i = 10; +var cnt = 0; + +while (i-- > 0) +{ + if (i % 2) + continue; + + var j = 0; + while (j++ < 20) + { + if (j % 2 === 0) + continue; + cnt++; + } + +} + +assert(cnt === 50); diff --git a/tests/jerry-test-suite/12/12.07/12.07-009.js b/tests/jerry-test-suite/12/12.07/12.07-009.js new file mode 100644 index 000000000..60a484d78 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-009.js @@ -0,0 +1,28 @@ +// 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 sum = 0, i = 0; + +WhileLabel: + while (++i < 10) +{ + if (i === 5) + { + continue WhileLabel; + } + + sum += i; +} + +assert(sum === 40); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.07/12.07-010.js b/tests/jerry-test-suite/12/12.07/12.07-010.js new file mode 100644 index 000000000..9133ff23d --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-010.js @@ -0,0 +1,32 @@ +// 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 sum = 0; +var i = 0, j = 0; +top: + while (i++ < 10) +{ + j = 0; + while (j++ < 20) + { + if (j > 9 && i % 2) + continue top; + + sum += 1; + } + + sum += 1; +} + +assert(sum === 150); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.07/12.07-011.js b/tests/jerry-test-suite/12/12.07/12.07-011.js new file mode 100644 index 000000000..960f8b2b3 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-011.js @@ -0,0 +1,28 @@ +// 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 mask = 0xff0f; +var numZeroes = 0; + +do +{ + mask >>= 1; + + if (mask & 1) + continue; + + numZeroes++; +} while (mask); + +assert(numZeroes === 5); diff --git a/tests/jerry-test-suite/12/12.07/12.07-012.js b/tests/jerry-test-suite/12/12.07/12.07-012.js new file mode 100644 index 000000000..e8339be83 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-012.js @@ -0,0 +1,34 @@ +// 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 i = 10; +var cnt = 0; + +do +{ + if (i % 2) + continue; + + var j = 0; + do + { + if (j % 2 === 0) + continue; + cnt++; + } + while (j++ < 20) +} +while (i-- > 0); + +assert(cnt === 60); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.07/12.07-013.js b/tests/jerry-test-suite/12/12.07/12.07-013.js new file mode 100644 index 000000000..46b211fd9 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-013.js @@ -0,0 +1,29 @@ +// 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 sum = 0, i = 0; + +DoWhileLabel: + do +{ + if (i === 5) + { + continue DoWhileLabel; + } + + sum += i; +} +while (++i < 10); + +assert(sum === 40); diff --git a/tests/jerry-test-suite/12/12.07/12.07-014.js b/tests/jerry-test-suite/12/12.07/12.07-014.js new file mode 100644 index 000000000..194ca2325 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-014.js @@ -0,0 +1,35 @@ +// 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 sum = 0; +var i = 0, j = 0; +top: + do +{ + j = 0; + + do + { + if (j > 9 && i % 2) + continue top; + + sum += 1; + } + while (j++ < 20); + + sum += 1; +} +while (i++ < 10); + +assert(sum === 182); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.07/12.07-015.js b/tests/jerry-test-suite/12/12.07/12.07-015.js new file mode 100644 index 000000000..6636b74c7 --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-015.js @@ -0,0 +1,26 @@ +// 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 o = {p1: 1, p2: 2, p3: 3, p4: 4, p5: 5}, sum = 0; +for (var p in o) +{ + if (p == "p3") + { + continue; + } + + sum += o[p]; +} + +assert(sum == 12) diff --git a/tests/jerry-test-suite/12/12.07/12.07-016.js b/tests/jerry-test-suite/12/12.07/12.07-016.js new file mode 100644 index 000000000..febca40ad --- /dev/null +++ b/tests/jerry-test-suite/12/12.07/12.07-016.js @@ -0,0 +1,36 @@ +// 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 o = {p1: 1, p2: 2, p3: {p1: 100, p2: 200}, p4: 4, p5: 5}, sum = 0; +for (var p in o) +{ + if (p === "p2") + continue; + + if (typeof (o[p]) === "object") + { + for (var pp in o[p]) + { + if (pp === "p2") + continue; + + sum += o[p][pp]; + } + } + else { + sum += o[p]; + } +} + +assert(sum === 110); diff --git a/tests/jerry-test-suite/12/12.08/12.08-001.js b/tests/jerry-test-suite/12/12.08/12.08-001.js new file mode 100644 index 000000000..16b23915b --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-001.js @@ -0,0 +1,47 @@ +// 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 o = {p1: 1, + p2: {p1: 100, p2: 200, p3: 100}, + p3: 4, + p4: 7, + p5: 124686, + p6: {p1: 100, p2: 200, p3: 100}, + p7: 1}, +sum = 0; + + +for (var p in o) +{ + if (p === "p4") + break; + + if (typeof (o[p]) === "object") + { + top: + for (var pp in o[p]) + { + if (pp === "p2") + break top; + + sum += o[p][pp]; + } + } + + sum += 20; + +} + +assert(sum === 160); + diff --git a/tests/jerry-test-suite/12/12.08/12.08-002.js b/tests/jerry-test-suite/12/12.08/12.08-002.js new file mode 100644 index 000000000..c1f64199e --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-002.js @@ -0,0 +1,45 @@ +// 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 o = {p1: 1, + p2: {p1: 100, p2: 200, p3: 100}, + p3: 4, + p4: 7, + p5: 124686, + p6: {p1: 100, p2: 200, p3: 100}, + p7: 1}, +sum = 0; + +for (var p in o) +{ + if (p === "p4") + break; + + if (typeof (o[p]) === "object") + { + for (var pp in o[p]) + { + if (pp === "p2") + break; + + sum += o[p][pp]; + } + } + else + { + sum += 20; + } +} + +assert(sum === 140); diff --git a/tests/jerry-test-suite/12/12.08/12.08-003.js b/tests/jerry-test-suite/12/12.08/12.08-003.js new file mode 100644 index 000000000..7e098fdc4 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-003.js @@ -0,0 +1,26 @@ +// 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 sum = 0; +for (var i = 0; i < 10; i++) +{ + if (i === 5) + { + break; + } + + sum += i; +} + +assert(sum === 10); diff --git a/tests/jerry-test-suite/12/12.08/12.08-004.js b/tests/jerry-test-suite/12/12.08/12.08-004.js new file mode 100644 index 000000000..80a97a986 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-004.js @@ -0,0 +1,28 @@ +// 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. + +function main() +{ + var sum = 0; + for (var i = 0; i < 10; i++) + for (var j = 0; j < 20; j++) + { + if (j === 10) + break; + + sum += 1; + } +} + +assert(sum === 100); diff --git a/tests/jerry-test-suite/12/12.08/12.08-005.js b/tests/jerry-test-suite/12/12.08/12.08-005.js new file mode 100644 index 000000000..f85ee2808 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-005.js @@ -0,0 +1,28 @@ +// 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 sum = 0; + +ForLabel: + for (var i = 0; i < 10; i++) +{ + if (i === 5) + { + break ForLabel; + } + + sum += i; +} + +assert(sum === 10); diff --git a/tests/jerry-test-suite/12/12.08/12.08-006.js b/tests/jerry-test-suite/12/12.08/12.08-006.js new file mode 100644 index 000000000..18ee2e9fe --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-006.js @@ -0,0 +1,30 @@ +// 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 sum = 0; +top: + for (var i = 0; i < 10; i++) +{ + for (var j = 0; j < 20; j++) + { + if (j > 9 && i % 2) + break top; + + sum += 1; + } + + sum += 1; +} + +assert(sum === 31); diff --git a/tests/jerry-test-suite/12/12.08/12.08-007.js b/tests/jerry-test-suite/12/12.08/12.08-007.js new file mode 100644 index 000000000..d86e71f99 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-007.js @@ -0,0 +1,27 @@ +// 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 mask = 0xff0f; +var numOnes = 0; + +while (mask) +{ + if (!(mask & 1)) + break; + + mask >>= 1; + numOnes++; +} + +assert(numOnes === 4); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.08/12.08-008.js b/tests/jerry-test-suite/12/12.08/12.08-008.js new file mode 100644 index 000000000..a356415c7 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-008.js @@ -0,0 +1,33 @@ +// 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 i = 9; +var cnt = 0; + +while (i-- > 0) +{ + if (i % 2) + break; + + var j = 0; + while (j++ < 20) + { + if (j % 2 === 0) + break; + cnt++; + } + +} + +assert(cnt === 1); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.08/12.08-009.js b/tests/jerry-test-suite/12/12.08/12.08-009.js new file mode 100644 index 000000000..df3ae6d39 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-009.js @@ -0,0 +1,29 @@ +// 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 sum = 0, i = 0; + +WhileLabel: + while (++i < 10) +{ + if (i === 5) + { + break WhileLabel; + } + + sum += i; +} + +assert(sum === 10); diff --git a/tests/jerry-test-suite/12/12.08/12.08-010.js b/tests/jerry-test-suite/12/12.08/12.08-010.js new file mode 100644 index 000000000..9e396deca --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-010.js @@ -0,0 +1,32 @@ +// 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 sum = 0; +var i = 0, j = 0; +top: + while (i++ < 10) +{ + j = 0; + while (j++ < 20) + { + if (j > 9 && i % 2) + break top; + + sum += 1; + } + + sum += 1; +} + +assert(sum === 9); diff --git a/tests/jerry-test-suite/12/12.08/12.08-011.js b/tests/jerry-test-suite/12/12.08/12.08-011.js new file mode 100644 index 000000000..f41b66cd8 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-011.js @@ -0,0 +1,27 @@ +// 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 mask = 0xff0f; +var numOnes = 0; + +do +{ + if (!(mask & 1)) + break; + + mask >>= 1; + numOnes++; +} while (mask); + +assert(numOnes === 4); diff --git a/tests/jerry-test-suite/12/12.08/12.08-012.js b/tests/jerry-test-suite/12/12.08/12.08-012.js new file mode 100644 index 000000000..242c167aa --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-012.js @@ -0,0 +1,34 @@ +// 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 i = 10; +var cnt = 0; + +do +{ + var j = 0; + do + { + if (j % 2 === 0) + break; + cnt++; + } + while (j++ < 20) + + if (i % 2) + break; +} +while (i-- > 0); + +assert(cnt === 0); diff --git a/tests/jerry-test-suite/12/12.08/12.08-013.js b/tests/jerry-test-suite/12/12.08/12.08-013.js new file mode 100644 index 000000000..d4881aa5c --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-013.js @@ -0,0 +1,29 @@ +// 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 sum = 0, i = 0; + +DoWhileLabel: + do +{ + if (i === 5) + { + break DoWhileLabel; + } + + sum += i; +} +while (++i < 10); + +assert(sum === 10); diff --git a/tests/jerry-test-suite/12/12.08/12.08-014.js b/tests/jerry-test-suite/12/12.08/12.08-014.js new file mode 100644 index 000000000..fe8eccc0b --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-014.js @@ -0,0 +1,35 @@ +// 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 sum = 0; +var i = 0, j = 0; +top: + do +{ + j = 0; + + do + { + if (j > 9 && i % 2) + break top; + + sum += 1; + } + while (j++ < 20); + + sum += 1; +} +while (i++ < 10); + +assert(sum === 32); diff --git a/tests/jerry-test-suite/12/12.08/12.08-015.js b/tests/jerry-test-suite/12/12.08/12.08-015.js new file mode 100644 index 000000000..f04cbf59d --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-015.js @@ -0,0 +1,26 @@ +// 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 o = {p1: 1, p2: 2, p3: 3, p4: 1, p5: 2}, sum = 0; +for (var p in o) +{ + if (p === "p3") + { + break; + } + + sum += o[p]; +} + +assert(sum === 3); diff --git a/tests/jerry-test-suite/12/12.08/12.08-016.js b/tests/jerry-test-suite/12/12.08/12.08-016.js new file mode 100644 index 000000000..35cd2df3e --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-016.js @@ -0,0 +1,36 @@ +// 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 o = {p1: 1, p2: 2, p3: {p1: 150, p2: 200, p3: 130, p4: 20}, p4: 4, p5: 46}, sum = 0; +for (var p in o) +{ + if (p === "p4") + continue; + + if (typeof (o[p]) === "object") + { + for (var pp in o[p]) + { + if (pp === "p2") + break; + + sum += o[p][pp]; + } + } + else { + sum += o[p]; + } +} + +assert(sum === 199); diff --git a/tests/jerry-test-suite/12/12.08/12.08-017.js b/tests/jerry-test-suite/12/12.08/12.08-017.js new file mode 100644 index 000000000..6fd6d392b --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-017.js @@ -0,0 +1,25 @@ +// 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 o = {a: 1, b: 2, c: 3}; + +ForLabel: + for (var p in o) +{ + if (p === "b") + break ForLabel; + o[p] += 4; +} + +assert(o.a + o.b + o.c === 10); diff --git a/tests/jerry-test-suite/12/12.08/12.08-018.js b/tests/jerry-test-suite/12/12.08/12.08-018.js new file mode 100644 index 000000000..b771e97a3 --- /dev/null +++ b/tests/jerry-test-suite/12/12.08/12.08-018.js @@ -0,0 +1,45 @@ +// 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 o = {p1: 1, + p2: {p1: 100, p2: 200, p3: 100}, + p3: 4, + p4: 7, + p5: 124686, + p6: {p1: 100, p2: 200, p3: 100}, + p7: 1}, +sum = 0; + +top: + for (var p in o) +{ + if (p === "p4") + break; + + if (typeof (o[p]) === "object") + { + for (var pp in o[p]) + { + if (pp === "p2") + break top; + + sum += o[p][pp]; + } + } + + sum += 20; + +} + +assert(sum === 120) diff --git a/tests/jerry-test-suite/12/12.09/12.09-001.js b/tests/jerry-test-suite/12/12.09/12.09-001.js new file mode 100644 index 000000000..8a909f372 --- /dev/null +++ b/tests/jerry-test-suite/12/12.09/12.09-001.js @@ -0,0 +1,28 @@ +// 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 r = test() + +assert(typeof r == 'object' && r.prop1 === "property1" && r.prop2 === 2 && r.prop3 === false); + +function test() +{ + var o = { + prop1: "property1", + prop2: 2, + prop3: false + }; + + return o; +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.09/12.09-002.js b/tests/jerry-test-suite/12/12.09/12.09-002.js new file mode 100644 index 000000000..d5cc3e73a --- /dev/null +++ b/tests/jerry-test-suite/12/12.09/12.09-002.js @@ -0,0 +1,22 @@ +// 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 r = test() + +assert(r === 1); + +function test() +{ + return ((23 << 2) + 8) / 100; +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.09/12.09-003.js b/tests/jerry-test-suite/12/12.09/12.09-003.js new file mode 100644 index 000000000..2237be593 --- /dev/null +++ b/tests/jerry-test-suite/12/12.09/12.09-003.js @@ -0,0 +1,22 @@ +// 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 r = test() + +assert(r === 33); + +function test() +{ + return 33; +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.09/12.09-004.js b/tests/jerry-test-suite/12/12.09/12.09-004.js new file mode 100644 index 000000000..861372de0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.09/12.09-004.js @@ -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 r = test() + +assert(r == undefined); + +function test() +{ + var r = 1; + return + r; +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.09/12.09-005.js b/tests/jerry-test-suite/12/12.09/12.09-005.js new file mode 100644 index 000000000..ae40f1d2b --- /dev/null +++ b/tests/jerry-test-suite/12/12.09/12.09-005.js @@ -0,0 +1,27 @@ +// 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 r = test() + +assert(r === 100); + +function test() +{ + function internal() + { + return 100; + } + + return internal(); +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.09/12.09-006.js b/tests/jerry-test-suite/12/12.09/12.09-006.js new file mode 100644 index 000000000..a7506cf3d --- /dev/null +++ b/tests/jerry-test-suite/12/12.09/12.09-006.js @@ -0,0 +1,27 @@ +// 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 r = test() + +assert(typeof r == 'function'); + +function test() +{ + function internal() + { + return 100; + } + + return internal; +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.10/12.10-001.js b/tests/jerry-test-suite/12/12.10/12.10-001.js new file mode 100644 index 000000000..86181ab81 --- /dev/null +++ b/tests/jerry-test-suite/12/12.10/12.10-001.js @@ -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 x, y; + +with (Math) { + x = cos(PI); +} + +assert(x == -1); diff --git a/tests/jerry-test-suite/12/12.10/12.10-002.js b/tests/jerry-test-suite/12/12.10/12.10-002.js new file mode 100644 index 000000000..d0f18e5cc --- /dev/null +++ b/tests/jerry-test-suite/12/12.10/12.10-002.js @@ -0,0 +1,19 @@ +// 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 o = {prop: "property"}; + +with (o) { + assert(prop == "property"); +} diff --git a/tests/jerry-test-suite/12/12.10/12.10-003.js b/tests/jerry-test-suite/12/12.10/12.10-003.js new file mode 100644 index 000000000..d0f18e5cc --- /dev/null +++ b/tests/jerry-test-suite/12/12.10/12.10-003.js @@ -0,0 +1,19 @@ +// 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 o = {prop: "property"}; + +with (o) { + assert(prop == "property"); +} diff --git a/tests/jerry-test-suite/12/12.10/12.10-004.js b/tests/jerry-test-suite/12/12.10/12.10-004.js new file mode 100644 index 000000000..721db51e4 --- /dev/null +++ b/tests/jerry-test-suite/12/12.10/12.10-004.js @@ -0,0 +1,30 @@ +// 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 x; + +function test() +{ + with (Math) + { + x = abs(-396); + return 1; + } + + return 0; +} + +var r = test(); + +assert(r === 1 && x === 396); diff --git a/tests/jerry-test-suite/12/12.10/12.10-005.js b/tests/jerry-test-suite/12/12.10/12.10-005.js new file mode 100644 index 000000000..761a48c9a --- /dev/null +++ b/tests/jerry-test-suite/12/12.10/12.10-005.js @@ -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. + +with ({}) +{ + var x = "abc"; +} + +assert(x === "abc"); diff --git a/tests/jerry-test-suite/12/12.10/12.10-006.js b/tests/jerry-test-suite/12/12.10/12.10-006.js new file mode 100644 index 000000000..48c9cb19b --- /dev/null +++ b/tests/jerry-test-suite/12/12.10/12.10-006.js @@ -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. + +assert(test("hello") == "hello" && typeof test({}) == "object" && test({arg: "hello"}) == "hello") + +function test(arg) { + with (arg) { + return arg; + } +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.10/12.10-007.js b/tests/jerry-test-suite/12/12.10/12.10-007.js new file mode 100644 index 000000000..9fb0c0ad3 --- /dev/null +++ b/tests/jerry-test-suite/12/12.10/12.10-007.js @@ -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 x, y; + +with + ( + Math) +{ + x = cos(PI); +} + +assert(x == -1); diff --git a/tests/jerry-test-suite/12/12.11/12.11-001.js b/tests/jerry-test-suite/12/12.11/12.11-001.js new file mode 100644 index 000000000..d3a5af490 --- /dev/null +++ b/tests/jerry-test-suite/12/12.11/12.11-001.js @@ -0,0 +1,22 @@ +// 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. + +switch (1) { + case 0: + assert(false); + case 1: + break; + default: + assert(false); +} diff --git a/tests/jerry-test-suite/12/12.11/12.11-002.js b/tests/jerry-test-suite/12/12.11/12.11-002.js new file mode 100644 index 000000000..8601c79e0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.11/12.11-002.js @@ -0,0 +1,32 @@ +// 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 matchesCount = 0; + +switch ("key") { + case "key": + ++matchesCount; + break; + case "key": + ++matchesCount; + break; + case "another key": + ++matchesCount; + break; + default: + ++matchesCount; + break; +} + +assert(matchesCount === 1 ? 1 : 0); diff --git a/tests/jerry-test-suite/12/12.11/12.11-003.js b/tests/jerry-test-suite/12/12.11/12.11-003.js new file mode 100644 index 000000000..b607e35dd --- /dev/null +++ b/tests/jerry-test-suite/12/12.11/12.11-003.js @@ -0,0 +1,22 @@ +// 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. + +switch (1) { + case true: + assert(false); + case false: + break; + default: + assert(false); +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.11/12.11-004.js b/tests/jerry-test-suite/12/12.11/12.11-004.js new file mode 100644 index 000000000..20d997575 --- /dev/null +++ b/tests/jerry-test-suite/12/12.11/12.11-004.js @@ -0,0 +1,28 @@ +// 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 counter = 0; + +switch ("key") { + case "key": + ++counter; + case "another key": + ++counter; + case "another key2": + ++counter; + default: + ++counter; +} + +assert(counter == 4 ? 1 : 0); diff --git a/tests/jerry-test-suite/12/12.11/12.11-005.js b/tests/jerry-test-suite/12/12.11/12.11-005.js new file mode 100644 index 000000000..a1458aca9 --- /dev/null +++ b/tests/jerry-test-suite/12/12.11/12.11-005.js @@ -0,0 +1,16 @@ +// 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. + +switch (1) { +} diff --git a/tests/jerry-test-suite/12/12.11/12.11-006.js b/tests/jerry-test-suite/12/12.11/12.11-006.js new file mode 100644 index 000000000..15131d9cb --- /dev/null +++ b/tests/jerry-test-suite/12/12.11/12.11-006.js @@ -0,0 +1,25 @@ +// 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. + +function fact(n) +{ + return n < 2 ? 1 : n * fact(n - 1); +} + +switch (fact(5)) { + case 5 * fact(4): + break; + default: + assert(false); +} \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.11/12.11-007.js b/tests/jerry-test-suite/12/12.11/12.11-007.js new file mode 100644 index 000000000..b07a8c693 --- /dev/null +++ b/tests/jerry-test-suite/12/12.11/12.11-007.js @@ -0,0 +1,22 @@ +// 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. + +switch ("key") { + case "another key": + assert(false); + default: + break; + case "another key2": + assert(false); +} diff --git a/tests/jerry-test-suite/12/12.12/12.12-001.js b/tests/jerry-test-suite/12/12.12/12.12-001.js new file mode 100644 index 000000000..38f331d8c --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-001.js @@ -0,0 +1,18 @@ +// 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. + +loop: + while (true) { + break loop; +} diff --git a/tests/jerry-test-suite/12/12.12/12.12-002.js b/tests/jerry-test-suite/12/12.12/12.12-002.js new file mode 100644 index 000000000..59963530f --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-002.js @@ -0,0 +1,22 @@ +// 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. + +loop: + while (true) { + do { + for (; true; ) { + break loop; + } + } while (true); +} diff --git a/tests/jerry-test-suite/12/12.12/12.12-003.js b/tests/jerry-test-suite/12/12.12/12.12-003.js new file mode 100644 index 000000000..747899734 --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-003.js @@ -0,0 +1,23 @@ +// 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. + +switchMark: + switch (1) { + case 0: + break; + case 1: + break switchMark; + case 2: + assert(false); +} diff --git a/tests/jerry-test-suite/12/12.12/12.12-004.js b/tests/jerry-test-suite/12/12.12/12.12-004.js new file mode 100644 index 000000000..c2853c70f --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-004.js @@ -0,0 +1,22 @@ +// 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 i = 0; + +whileMark: + while (i < 10) { + ++i; + continue whileMark; + assert(false); +} diff --git a/tests/jerry-test-suite/12/12.12/12.12-005.js b/tests/jerry-test-suite/12/12.12/12.12-005.js new file mode 100644 index 000000000..43f4753a6 --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-005.js @@ -0,0 +1,19 @@ +// 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. + +whileMark: + for (i = 0; i < 10; ++i) { + continue whileMark; + assert(false); +} diff --git a/tests/jerry-test-suite/12/12.12/12.12-006.js b/tests/jerry-test-suite/12/12.12/12.12-006.js new file mode 100644 index 000000000..0de1955a0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-006.js @@ -0,0 +1,22 @@ +// 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 x = 0; +lablemark: + if (x < 6) { + ++x; + break lablemark; +} + +assert(x !== 6); diff --git a/tests/jerry-test-suite/12/12.12/12.12-007.js b/tests/jerry-test-suite/12/12.12/12.12-007.js new file mode 100644 index 000000000..369eca2b0 --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-007.js @@ -0,0 +1,26 @@ +// 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 x = 0; +for (i = 0; i < 10; ++i) { + for (j = 0; j < 10; ++j) { + lablemark: + for (k = 0; k < 10; ++k) { + ++x; + break lablemark; + } + } +} + +assert(x == 100) \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.12/12.12-008.js b/tests/jerry-test-suite/12/12.12/12.12-008.js new file mode 100644 index 000000000..2957584fc --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-008.js @@ -0,0 +1,26 @@ +// 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 x = 0; +for (i = 0; i < 10; ++i) { + lablemark: + for (j = 0; j < 10; ++j) { + for (k = 0; k < 10; ++k) { + ++x; + break lablemark; + } + } +} + +assert(x == 10) diff --git a/tests/jerry-test-suite/12/12.12/12.12-009.js b/tests/jerry-test-suite/12/12.12/12.12-009.js new file mode 100644 index 000000000..94ac35f7f --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-009.js @@ -0,0 +1,26 @@ +// 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 x = 0; +lablemark: + for (i = 0; i < 10; ++i) { + for (j = 0; j < 10; ++j) { + for (k = 0; k < 10; ++k) { + ++x; + break lablemark; + } + } +} + +assert(x == 1) \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.12/12.12-010.js b/tests/jerry-test-suite/12/12.12/12.12-010.js new file mode 100644 index 000000000..b0967fcf2 --- /dev/null +++ b/tests/jerry-test-suite/12/12.12/12.12-010.js @@ -0,0 +1,26 @@ +// 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 x = 0; +for (i = 0; i < 10; ++i) { + lablemark: + for (j = 0; j < 10; ++j) { + for (k = 0; k < 10; ++k) { + ++x; + continue lablemark; + } + } +} + +assert(x == 100) diff --git a/tests/jerry-test-suite/12/12.13/12.13-001.js b/tests/jerry-test-suite/12/12.13/12.13-001.js new file mode 100644 index 000000000..495bcccc2 --- /dev/null +++ b/tests/jerry-test-suite/12/12.13/12.13-001.js @@ -0,0 +1,27 @@ +// 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. + +function test() +{ + try { + if (true) { + throw "error"; + } + } catch (e) { + return 0; + } + return 1; +} + +assert(test()); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.13/12.13-002.js b/tests/jerry-test-suite/12/12.13/12.13-002.js new file mode 100644 index 000000000..e27299867 --- /dev/null +++ b/tests/jerry-test-suite/12/12.13/12.13-002.js @@ -0,0 +1,27 @@ +// 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. + +function test() +{ + try { + while (true) { + throw "error"; + } + } catch (e) { + return 0; + } + return 1; +} + +assert(test); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.13/12.13-003.js b/tests/jerry-test-suite/12/12.13/12.13-003.js new file mode 100644 index 000000000..6549821d6 --- /dev/null +++ b/tests/jerry-test-suite/12/12.13/12.13-003.js @@ -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. + +function d() { + throw "exception"; +} +function c() { + d(); +} +function b() { + c(); +} +function a() { + b(); +} + +function test() +{ + try { + a(); + } catch (e) { + return 0; + } + return 1; +} + +assert(test()); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.14/12.14-001.js b/tests/jerry-test-suite/12/12.14/12.14-001.js new file mode 100644 index 000000000..a8023845c --- /dev/null +++ b/tests/jerry-test-suite/12/12.14/12.14-001.js @@ -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. + +try { + try { + throw "error"; + } catch (e) { + throw e; + } +} catch (e) { +} + +assert(false); diff --git a/tests/jerry-test-suite/12/12.14/12.14-002.js b/tests/jerry-test-suite/12/12.14/12.14-002.js new file mode 100644 index 000000000..1643094af --- /dev/null +++ b/tests/jerry-test-suite/12/12.14/12.14-002.js @@ -0,0 +1,26 @@ +// 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. + +function test() +{ + try { + var x = 1; + } catch (e) { + return 1; + } + + return 0; +} + +assert(test()); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.14/12.14-003.js b/tests/jerry-test-suite/12/12.14/12.14-003.js new file mode 100644 index 000000000..479e2f2f8 --- /dev/null +++ b/tests/jerry-test-suite/12/12.14/12.14-003.js @@ -0,0 +1,26 @@ +// 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. + +function test() +{ + try { + throw 1; + } catch (e) { + return e === 1 ? 0 : 1; + } + + return 1; +} + +assert (test); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.14/12.14-004.js b/tests/jerry-test-suite/12/12.14/12.14-004.js new file mode 100644 index 000000000..530c33954 --- /dev/null +++ b/tests/jerry-test-suite/12/12.14/12.14-004.js @@ -0,0 +1,28 @@ +// 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. + +function test() +{ + try { + throw "error"; + } catch (e) { + return 1; + } finally { + return 0; + } + + return 1; +} + +assert(test); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.14/12.14-005.js b/tests/jerry-test-suite/12/12.14/12.14-005.js new file mode 100644 index 000000000..47aea7a8e --- /dev/null +++ b/tests/jerry-test-suite/12/12.14/12.14-005.js @@ -0,0 +1,27 @@ +// 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. + +function test() +{ + try { + throw "error"; + } catch (e) { + return 0; + } finally { + } + + return 1; +} + +assert(test()); \ No newline at end of file diff --git a/tests/jerry-test-suite/12/12.14/12.14-006.js b/tests/jerry-test-suite/12/12.14/12.14-006.js new file mode 100644 index 000000000..a914bb1e4 --- /dev/null +++ b/tests/jerry-test-suite/12/12.14/12.14-006.js @@ -0,0 +1,26 @@ +// 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. + +function test() +{ + try { + var x = 1; + } finally { + return 0; + } + + return 1; +} + +assert(test()); \ No newline at end of file diff --git a/tests/jerry-test-suite/13/13-001.js b/tests/jerry-test-suite/13/13-001.js new file mode 100644 index 000000000..859d1eabb --- /dev/null +++ b/tests/jerry-test-suite/13/13-001.js @@ -0,0 +1,22 @@ +// 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 = 1; +for (var i = 1; i < 10; ++i) +{ + b *= i; +} +var c = b; + +assert(c == 362880); diff --git a/tests/jerry-test-suite/13/13-002.js b/tests/jerry-test-suite/13/13-002.js new file mode 100644 index 000000000..50c8f7ed1 --- /dev/null +++ b/tests/jerry-test-suite/13/13-002.js @@ -0,0 +1,19 @@ +// 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. + +function foo() { + return 1; +} + +assert(foo() === 1); diff --git a/tests/jerry-test-suite/13/13-003.js b/tests/jerry-test-suite/13/13-003.js new file mode 100644 index 000000000..1b210bcbc --- /dev/null +++ b/tests/jerry-test-suite/13/13-003.js @@ -0,0 +1,17 @@ +// 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(function (param1, param2) { + return 1; +}(true, "blah") === 1); diff --git a/tests/jerry-test-suite/13/13-004.js b/tests/jerry-test-suite/13/13-004.js new file mode 100644 index 000000000..5e1d00139 --- /dev/null +++ b/tests/jerry-test-suite/13/13-004.js @@ -0,0 +1,18 @@ +// 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. + +function foo() { +} + +assert(typeof foo === "function"); diff --git a/tests/jerry-test-suite/13/13-005.js b/tests/jerry-test-suite/13/13-005.js new file mode 100644 index 000000000..befe8c6e8 --- /dev/null +++ b/tests/jerry-test-suite/13/13-005.js @@ -0,0 +1,22 @@ +// 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 foo = 1; //override + +assert (foo === 1); + +function foo() +{ + return 1; +} diff --git a/tests/jerry-test-suite/13/13-006.js b/tests/jerry-test-suite/13/13-006.js new file mode 100644 index 000000000..5b1b1c215 --- /dev/null +++ b/tests/jerry-test-suite/13/13-006.js @@ -0,0 +1,18 @@ +// 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. + +function foo() { +} + +assert(foo() === undefined); diff --git a/tests/jerry-test-suite/13/13-007.js b/tests/jerry-test-suite/13/13-007.js new file mode 100644 index 000000000..499c704cf --- /dev/null +++ b/tests/jerry-test-suite/13/13-007.js @@ -0,0 +1,19 @@ +// 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. + +function foo(arg) { + return ++arg; +} + +assert(foo(1) === 2); diff --git a/tests/jerry-test-suite/13/13-008.js b/tests/jerry-test-suite/13/13-008.js new file mode 100644 index 000000000..7d2cbda5b --- /dev/null +++ b/tests/jerry-test-suite/13/13-008.js @@ -0,0 +1,19 @@ +// 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. + +function foo(params) { + return arguments.length; +} + +assert(foo(1, 'e', true, 5) === 4); diff --git a/tests/jerry-test-suite/13/13-009.js b/tests/jerry-test-suite/13/13-009.js new file mode 100644 index 000000000..48860f667 --- /dev/null +++ b/tests/jerry-test-suite/13/13-009.js @@ -0,0 +1,25 @@ +// 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 check = typeof (foo) === "function"; + +var foo = 1; + +check = check && (foo === 1); + +function foo() { + return 1; +} + +assert(check); diff --git a/tests/jerry-test-suite/13/13-010.js b/tests/jerry-test-suite/13/13-010.js new file mode 100644 index 000000000..f6837554c --- /dev/null +++ b/tests/jerry-test-suite/13/13-010.js @@ -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. + +function foo() { + return 1; +} +var object = new Object; +object.fun = foo; + +assert(object.fun() === 1); diff --git a/tests/jerry-test-suite/13/13-011.js b/tests/jerry-test-suite/13/13-011.js new file mode 100644 index 000000000..d9be2acff --- /dev/null +++ b/tests/jerry-test-suite/13/13-011.js @@ -0,0 +1,19 @@ +// 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. + +function foo(param1) { + return delete arguments; //arguments is non-configurable +} + +assert(foo("param")); diff --git a/tests/jerry-test-suite/13/13-012.js b/tests/jerry-test-suite/13/13-012.js new file mode 100644 index 000000000..c50dfbc86 --- /dev/null +++ b/tests/jerry-test-suite/13/13-012.js @@ -0,0 +1,25 @@ +// 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. + +function foo(a, b, c, d) { + var deleted = true; + for (i = 0; i < arguments.length; i++) + { + delete arguments[i]; + deleted = deleted && (typeof (arguments[i]) === "undefined"); + } + return deleted; +} + +assert(foo("A", "F", 1, true) === true); diff --git a/tests/jerry-test-suite/13/13-013.js b/tests/jerry-test-suite/13/13-013.js new file mode 100644 index 000000000..ca65910ba --- /dev/null +++ b/tests/jerry-test-suite/13/13-013.js @@ -0,0 +1,19 @@ +// 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. + +function foo(arguments) { + return arguments; +} + +assert(foo(1) === 1); diff --git a/tests/jerry-test-suite/13/13.01/13.01-001.js b/tests/jerry-test-suite/13/13.01/13.01-001.js new file mode 100644 index 000000000..145fa1ab8 --- /dev/null +++ b/tests/jerry-test-suite/13/13.01/13.01-001.js @@ -0,0 +1,18 @@ +// 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. + +function arguments(param) { + return 1; +} +assert(arguments()); diff --git a/tests/jerry-test-suite/13/13.02/13.02-001.js b/tests/jerry-test-suite/13/13.02/13.02-001.js new file mode 100644 index 000000000..90a65570e --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-001.js @@ -0,0 +1,19 @@ +// 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 foo = function () { + this.caller = 123; +}; +var f = new foo(); +assert(f.caller === 123); diff --git a/tests/jerry-test-suite/13/13.02/13.02-002.js b/tests/jerry-test-suite/13/13.02/13.02-002.js new file mode 100644 index 000000000..a49453ae0 --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-002.js @@ -0,0 +1,32 @@ +// 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 foo = function (c, y) { +}; +var check = foo.hasOwnProperty("length") && foo.length === 2; + +foo.length = 12; +if (foo.length === 12) + check = false; + +for (p in foo) +{ + if (p === "length") + check = false; +} +delete foo.length; +if (!foo.hasOwnProperty("length")) + check = false; + +assert(check === true); diff --git a/tests/jerry-test-suite/13/13.02/13.02-003.js b/tests/jerry-test-suite/13/13.02/13.02-003.js new file mode 100644 index 000000000..21d8795e8 --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-003.js @@ -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. + +function foo(arg) { + arg.prop = 3; +} +var obj = new Object(); +foo(obj); + +assert(obj.prop === 3); diff --git a/tests/jerry-test-suite/13/13.02/13.02-004.js b/tests/jerry-test-suite/13/13.02/13.02-004.js new file mode 100644 index 000000000..e7b1ec623 --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-004.js @@ -0,0 +1,22 @@ +// 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. + +function foo(arg) { + arg += 3; +} + +var num = 1; +foo(num); // by value + +assert(num === 1); diff --git a/tests/jerry-test-suite/13/13.02/13.02-005.js b/tests/jerry-test-suite/13/13.02/13.02-005.js new file mode 100644 index 000000000..b3ae08dad --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-005.js @@ -0,0 +1,19 @@ +// 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. + +function foo() { + return null; +} + +assert(foo() === null); diff --git a/tests/jerry-test-suite/13/13.02/13.02-006.js b/tests/jerry-test-suite/13/13.02/13.02-006.js new file mode 100644 index 000000000..2c3f81d6a --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-006.js @@ -0,0 +1,19 @@ +// 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. + +function foo() { + return; +} + +assert(foo() === undefined); diff --git a/tests/jerry-test-suite/13/13.02/13.02-007.js b/tests/jerry-test-suite/13/13.02/13.02-007.js new file mode 100644 index 000000000..1e62c0ed9 --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-007.js @@ -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 obj = new function foo() +{ + this.prop = 1; +}; + +assert(obj.prop === 1); diff --git a/tests/jerry-test-suite/13/13.02/13.02-008.js b/tests/jerry-test-suite/13/13.02/13.02-008.js new file mode 100644 index 000000000..885a310ff --- /dev/null +++ b/tests/jerry-test-suite/13/13.02/13.02-008.js @@ -0,0 +1,18 @@ +// 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. + +function func() { +} + +assert(Function.prototype.isPrototypeOf(func));