Refactor code to use ToInteger (#3224)

Fixes #3325
Fixes #3237

JerryScript-DCO-1.0-Signed-off-by: Daniella Barsony bella@inf.u-szeged.hu
This commit is contained in:
Daniella Barsony
2019-12-09 12:07:26 +01:00
committed by Robert Fancsik
parent 5ceffd209e
commit 89db9253c8
15 changed files with 399 additions and 409 deletions
+4 -5
View File
@@ -168,11 +168,10 @@ gettersSetters.forEach (function (propName) {
var view = new DataView (buffer)
/* ES2015 24.2.1.{1, 2}.6 (numberIndex != getIndex) */
try {
view[propName] (1.5);
assert (false);
} catch (e) {
assert (e instanceof RangeError);
if (propName.indexOf("get") !== -1) {
assert(view[propName] (1.5) === 0);
} else {
assert(view[propName] (1.5) === undefined);
}
/* ES2015 24.2.1.{1, 2}.6 (getIndex < 0) */
@@ -0,0 +1,17 @@
// Copyright JS Foundation and other contributors, http://js.foundation
//
// 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 arrayBufferVar1 = new ArrayBuffer(12, 8);
var arrayVar1 = new Uint8Array(arrayBufferVar1, 9);
arrayVar1.lastIndexOf(15, -Math.LOG10E);
+23
View File
@@ -0,0 +1,23 @@
// Copyright JS Foundation and other contributors, http://js.foundation
//
// 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 text = 'x';
assert (text.charAt(0) === "x");
assert (text.charAt(-0.1) === "x");
assert (text.charAt(-0.5) === "x");
assert (text.charAt(-0.9) === "x");
assert (text.charAt(0.85) === "x");
assert (text.charAt(-0.5) !== "");
assert (text.charAt(0.85) !== "");