1/*
2 * Copyright (c) 2024 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 */
15declare function print(arg:any):string;
16let num1 = 0;
17let num2 = 0.01;
18let num3 = -0.01;
19let num4 = 10;
20let num5 = -10;
21let num6 = 100;
22let num7 = -100;
23let num8 = undefined;
24
25let str = "sd-93u498thikefnow8y3-0rh1nalksfnwo8y3t19-3r8hoiefnw";
26
27print(str.substring(0));
28
29print(str.substring(-0.01));
30
31print(str.substring(0.01));
32
33print(str.substring(100));
34
35print(str.substring(-100));
36
37print(str.substring(10));
38
39print(str.substring(-10));
40
41print(str.substring(undefined));
42
43print(str.substring(num4));
44
45print(str.substring(1, 2));
46
47print(str.substring(5, 7));
48
49print(str.substring(0, 0.01));
50
51print(str.substring(-0.01, 100));
52
53print(str.substring(-100, undefined));
54
55print(str.substring(num1, num4));
56
57print(str.substr(0));
58
59print(str.substr(-0.01));
60
61print(str.substr(0.01));
62
63print(str.substr(100));
64
65print(str.substr(-100));
66
67print(str.substr(10));
68
69print(str.substr(-10));
70
71print(str.substr(undefined));
72
73print(str.substr(num4));
74
75print(str.substr(1, 2));
76
77print(str.substr(5, 7));
78
79print(str.substr(0, 0.01));
80
81print(str.substr(-0.01, 100));
82
83print(str.substr(-100, undefined));
84
85print(str.substr(num1, num4));
86
87print(str.slice(0));
88
89print(str.slice(-0.01));
90
91print(str.slice(0.01));
92
93print(str.slice(100));
94
95print(str.slice(-100));
96
97print(str.slice(10));
98
99print(str.slice(-10));
100
101print(str.slice(undefined));
102
103print(str.slice(num4));
104
105print(str.slice(1, 2));
106
107print(str.slice(5, 7));
108
109print(str.slice(0, 0.01));
110
111print(str.slice(-0.01, 100));
112
113print(str.slice(-100, undefined));
114
115print(str.slice(num1, num4));