1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15print(-0 == parseInt("-0"))
16
17print(isNaN(parseInt('0x  ')));
18
19print(isNaN(parseInt('0x  ', 16)));
20
21let result = null;
22let str = { toString: function() { result = "InvalidString"; throw null; } };
23let radix = { valueOf: function() { result = "InvalidRadix"; throw null; } };
24try { parseInt(str, radix); } catch (e) {}
25print(result);
26
27print(parseInt('4',16))
28print(parseInt('a',16))
29print(parseInt('a',26))
30print(parseInt('a',36))
31print(parseInt('a'))
32print(parseInt('0xa'))
33print(parseInt('123'))
34print(parseInt('0x123'))