This commit is contained in:
dcode
2019-05-20 23:10:06 +02:00
parent f73d807d5a
commit 3e480d9423
108 changed files with 123377 additions and 48800 deletions

View File

@ -1,15 +1,6 @@
import "collector/dummy";
import {
utoa32,
itoa32,
utoa64,
itoa64,
dtoa
} from "util/number";
import { utoa32, itoa32, utoa64, itoa64, dtoa } from "util/number";
// preliminary
var str: string = "hi, I'm a string";
var nullStr: string;
@ -76,10 +67,6 @@ assert(str.lastIndexOf(", I", -1) == -1);
assert(str.lastIndexOf("i", 0) == -1);
assert(str.lastIndexOf("hi", 0) == 0);
export function getString(): string {
return str;
}
assert(parseInt("0") == 0);
assert(parseInt("1") == 1);
assert(parseInt("0b101") == 0b101);
@ -95,9 +82,11 @@ assert(parseFloat("0.1") == 0.1);
assert(parseFloat(".25") == 0.25);
assert(parseFloat(".1foobar") == 0.1);
var c = "a" + "b";
assert(c == "ab");
assert(c != "a");
{
let c = "a" + "b";
assert(c == "ab");
assert(c != "a");
}
assert("" == "");
assert("" != nullStr);
assert(nullStr != "");
@ -131,9 +120,11 @@ assert(!("" > ""));
assert("" >= "");
assert("" <= "");
var a = String.fromCodePoint(0xFF61);
var b = String.fromCodePoint(0xD800) + String.fromCodePoint(0xDC02);
assert(a > b);
{
let a = String.fromCodePoint(0xFF61);
let b = String.fromCodePoint(0xD800) + String.fromCodePoint(0xDC02);
assert(a > b);
}
assert("123".length == 3);
@ -157,40 +148,43 @@ assert(str.slice(-11, -6) == "defgh");
assert(str.slice(4, 3) == "");
assert(str.slice(0, -1) == "abcdefghijklm");
var sa: string[];
{
let sa: string[];
sa = "".split();
assert(sa.length == 1 && sa[0] == "");
sa = "".split("");
assert(sa.length == 0);
sa = "".split(",");
assert(sa.length == 1 && sa[0] == "");
sa = "a,b,c".split(".");
assert(sa.length == 1 && sa[0] == "a,b,c");
sa = "a,b,c".split(",");
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "a, b, c".split(", ");
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "a,b,,c".split(",");
assert(sa.length == 4 && sa[0] == "a" && sa[1] == "b" && sa[2] == "" && sa[3] == "c");
sa = ",a,b,c".split(",");
assert(sa.length == 4 && sa[0] == "" && sa[1] == "a" && sa[2] == "b" && sa[3] == "c");
sa = "a,b,c,".split(",");
assert(sa.length == 4 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c" && sa[3] == "");
sa = "abc".split("");
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "abc".split("", 0);
assert(sa.length == 0);
sa = "abc".split("", 1);
assert(sa.length == 1 && sa[0] == "a");
sa = "a,b,c".split(",", 1);
assert(sa.length == 1 && sa[0] == "a");
sa = "abc".split("", 4);
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "abc".split("", -1);
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "a,b,c".split(",", -1);
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "".split();
assert(sa.length == 1 && sa[0] == "");
sa = "".split("");
assert(sa.length == 0);
sa = "".split(",");
assert(sa.length == 1 && sa[0] == "");
sa = "a,b,c".split(".");
assert(sa.length == 1 && sa[0] == "a,b,c");
sa = "a,b,c".split(",");
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
/*sa = "a, b, c".split(", ");
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "a,b,,c".split(",");
assert(sa.length == 4 && sa[0] == "a" && sa[1] == "b" && sa[2] == "" && sa[3] == "c");
sa = ",a,b,c".split(",");
assert(sa.length == 4 && sa[0] == "" && sa[1] == "a" && sa[2] == "b" && sa[3] == "c");
sa = "a,b,c,".split(",");
assert(sa.length == 4 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c" && sa[3] == "");
sa = "abc".split("");
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "abc".split("", 0);
assert(sa.length == 0);
sa = "abc".split("", 1);
assert(sa.length == 1 && sa[0] == "a");
sa = "a,b,c".split(",", 1);
assert(sa.length == 1 && sa[0] == "a");
sa = "abc".split("", 4);
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "abc".split("", -1);
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
sa = "a,b,c".split(",", -1);
assert(sa.length == 3 && sa[0] == "a" && sa[1] == "b" && sa[2] == "c");
*/
}
assert(itoa32(0) == "0");
assert(itoa32(1) == "1");
@ -303,3 +297,11 @@ assert(dtoa(0.000035689) == "0.000035689");
// assert(dtoa(f32.MAX_VALUE) == "3.4028234663852886e+38"); // FIXME
// assert(dtoa(f32.EPSILON) == "1.1920928955078125e-7"); // FIXME
export function getString(): string {
return str;
}
// Unleak
str = changetype<string>(0);