13af6ab5fSopenharmony_ci/*
23af6ab5fSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
33af6ab5fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
43af6ab5fSopenharmony_ci * you may not use this file except in compliance with the License.
53af6ab5fSopenharmony_ci * You may obtain a copy of the License at
63af6ab5fSopenharmony_ci *
73af6ab5fSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
83af6ab5fSopenharmony_ci *
93af6ab5fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
103af6ab5fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
113af6ab5fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123af6ab5fSopenharmony_ci * See the License for the specific language governing permissions and
133af6ab5fSopenharmony_ci * limitations under the License.
143af6ab5fSopenharmony_ci */
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_cifunction testTypeConvert() {
173af6ab5fSopenharmony_ci    let a = 0;
183af6ab5fSopenharmony_ci    if (a == 0 && a == 0.0) {
193af6ab5fSopenharmony_ci        print("good");
203af6ab5fSopenharmony_ci    } else {
213af6ab5fSopenharmony_ci        print("bad")
223af6ab5fSopenharmony_ci    }
233af6ab5fSopenharmony_ci    if (a == "0" || a === "0" || a == false || a === false) {
243af6ab5fSopenharmony_ci        print("good1");
253af6ab5fSopenharmony_ci    } else {
263af6ab5fSopenharmony_ci        print("good2");
273af6ab5fSopenharmony_ci    }
283af6ab5fSopenharmony_ci    if (a <= "0" || a >= "0" || a <= false || a >= false) {
293af6ab5fSopenharmony_ci        print("good3");
303af6ab5fSopenharmony_ci    } else {
313af6ab5fSopenharmony_ci        print("good4");
323af6ab5fSopenharmony_ci    }
333af6ab5fSopenharmony_ci    if (a < "0" || a > "0" || a < false || a > false) {
343af6ab5fSopenharmony_ci        print("good5");
353af6ab5fSopenharmony_ci    } else {
363af6ab5fSopenharmony_ci        print("good6");
373af6ab5fSopenharmony_ci    }
383af6ab5fSopenharmony_ci}
393af6ab5fSopenharmony_ci
403af6ab5fSopenharmony_cifunction testIntNumber() {
413af6ab5fSopenharmony_ci    let init = 1;
423af6ab5fSopenharmony_ci    let a = init;
433af6ab5fSopenharmony_ci    if (false) {
443af6ab5fSopenharmony_ci        a = 10;
453af6ab5fSopenharmony_ci    }
463af6ab5fSopenharmony_ci    if (a != 1 || a == 0 || a !== 1 || a === 0 || a < 0 || a > 1 || a <= 0 || a >= 2) {
473af6ab5fSopenharmony_ci        print("bad");
483af6ab5fSopenharmony_ci    } else {
493af6ab5fSopenharmony_ci        print("good");
503af6ab5fSopenharmony_ci    }
513af6ab5fSopenharmony_ci}
523af6ab5fSopenharmony_ci
533af6ab5fSopenharmony_cifunction testFloatNumber() {
543af6ab5fSopenharmony_ci    let init = 0.1;
553af6ab5fSopenharmony_ci    let a = init;
563af6ab5fSopenharmony_ci    if (false) {
573af6ab5fSopenharmony_ci        a = 10.0;
583af6ab5fSopenharmony_ci    }
593af6ab5fSopenharmony_ci    if (a != 0.1 || a == 1.1 || a !== 0.1 || a === 1.1 || a < 0.1 || a > 0.1 || a <= 0.01 || a >= 1.1) {
603af6ab5fSopenharmony_ci        print("bad");
613af6ab5fSopenharmony_ci    } else {
623af6ab5fSopenharmony_ci        print("good");
633af6ab5fSopenharmony_ci    }
643af6ab5fSopenharmony_ci}
653af6ab5fSopenharmony_ci
663af6ab5fSopenharmony_ci
673af6ab5fSopenharmony_cifunction testBool() {
683af6ab5fSopenharmony_ci    let init = false;
693af6ab5fSopenharmony_ci    let a = init;
703af6ab5fSopenharmony_ci    if (a) {
713af6ab5fSopenharmony_ci        a = true;
723af6ab5fSopenharmony_ci    }
733af6ab5fSopenharmony_ci    if (a != false || a == true || a !== false || a === true || a < false || a > true) {
743af6ab5fSopenharmony_ci        print("bad");
753af6ab5fSopenharmony_ci    } else {
763af6ab5fSopenharmony_ci        print("good");
773af6ab5fSopenharmony_ci    }
783af6ab5fSopenharmony_ci}
793af6ab5fSopenharmony_ci
803af6ab5fSopenharmony_cifunction testString() {
813af6ab5fSopenharmony_ci    let init = "0";
823af6ab5fSopenharmony_ci    let a = init;
833af6ab5fSopenharmony_ci    if (false) {
843af6ab5fSopenharmony_ci        a = "1";
853af6ab5fSopenharmony_ci    }
863af6ab5fSopenharmony_ci    if (a != "0" || a == "1" || a !== "0" || a === "1") {
873af6ab5fSopenharmony_ci        print("bad");
883af6ab5fSopenharmony_ci    } else {
893af6ab5fSopenharmony_ci        print("good");
903af6ab5fSopenharmony_ci    }
913af6ab5fSopenharmony_ci    // not folding </<=/>/>= for strings
923af6ab5fSopenharmony_ci    if (a <= "0" || a >= "1" || a < "0" || a > "1") {
933af6ab5fSopenharmony_ci        print("good2");
943af6ab5fSopenharmony_ci    } else {
953af6ab5fSopenharmony_ci        print("good3");
963af6ab5fSopenharmony_ci    }
973af6ab5fSopenharmony_ci}
983af6ab5fSopenharmony_ci
993af6ab5fSopenharmony_cifunction testBBStruct() {
1003af6ab5fSopenharmony_ci    if (false || true) {
1013af6ab5fSopenharmony_ci        print("good");
1023af6ab5fSopenharmony_ci    }
1033af6ab5fSopenharmony_ci    if (false && true) {
1043af6ab5fSopenharmony_ci        print("bad");
1053af6ab5fSopenharmony_ci    }
1063af6ab5fSopenharmony_ci    if (true && false) {
1073af6ab5fSopenharmony_ci        print("bad");
1083af6ab5fSopenharmony_ci    }
1093af6ab5fSopenharmony_ci    if (false) {
1103af6ab5fSopenharmony_ci        if (true) {
1113af6ab5fSopenharmony_ci            print("bad");
1123af6ab5fSopenharmony_ci        }
1133af6ab5fSopenharmony_ci    }
1143af6ab5fSopenharmony_ci    if (true) {
1153af6ab5fSopenharmony_ci        if (false) {
1163af6ab5fSopenharmony_ci            print("bad");
1173af6ab5fSopenharmony_ci        }
1183af6ab5fSopenharmony_ci    }
1193af6ab5fSopenharmony_ci    while (false) {
1203af6ab5fSopenharmony_ci        print("bad");
1213af6ab5fSopenharmony_ci    }
1223af6ab5fSopenharmony_ci}
1233af6ab5fSopenharmony_ci
1243af6ab5fSopenharmony_citestTypeConvert();
1253af6ab5fSopenharmony_citestIntNumber();
1263af6ab5fSopenharmony_citestFloatNumber();
1273af6ab5fSopenharmony_citestBool();
1283af6ab5fSopenharmony_citestString();
1293af6ab5fSopenharmony_citestBBStruct();