From 3f108ec1e79f4a0228e96178aa77af273851acc2 Mon Sep 17 00:00:00 2001 From: Ilmir Usmanov Date: Thu, 31 Jul 2014 23:16:24 +0400 Subject: [PATCH] Add asserts for testing and add test for 'for' loops --- tests/assert.js | 42 ++++++++++++++++++++++++++++++++++++++++++ tests/jerry/for.js | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 tests/assert.js create mode 100644 tests/jerry/for.js diff --git a/tests/assert.js b/tests/assert.js new file mode 100644 index 000000000..586dc06b5 --- /dev/null +++ b/tests/assert.js @@ -0,0 +1,42 @@ +// 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 assertTrue (what) { + if (what !== true) + exit (1); +} + +function assertFalse (what) { + if (what !== false) + exit (1); +} + +function assertNull (what) { + if (what !== null) + exit (1); +} + +function assertNotNull (what) { + if (what === null) + exit (1); +} + +function assertEquals (arg1, arg2) { + if (arg1 !== arg2) + exit (1); +} + +function assertUnreachable () { + exit (1); +} diff --git a/tests/jerry/for.js b/tests/jerry/for.js new file mode 100644 index 000000000..b4f3ff25c --- /dev/null +++ b/tests/jerry/for.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 i = 0; +for (; i < 100; i++) {} +assertEquals (i, 100); + +for (var j = 0; j < 100; j++) {} +assertEquals (i, 100); + +for (i = 0;;) { + if (i == 100) { + break; + assertUnreachable (); + } + i++; +} +assertEquals (i, 100); + +for (i = 0; i < 10; i++) { + for (j = 0; j < 10; j++) {} +} +assertEquals (i, 100); +assertEquals (j, 100);