Empirical compatibility

Spec conformance

Browse real results from the exact SharpTS revision running this site, from broad language areas down to individual built-ins and features.

Test262 · Interpreter

93.5%9823 / 10505 eligible testsECMAScript runtime semantics

Test262 · AOT compiler

93.9%9861 / 10505 eligible testsECMAScript runtime semantics

TypeScript · Diagnostics

36.0%192 / 534 eligible testsDiagnostic agreement with tsc

ECMAScript runtime

Test262 conformance

TC39 tests for JavaScript language and built-in runtime behavior, executed by both SharpTS backends.

  • Pass
  • Fail
  • Parse error
  • Type-check error
  • Runtime error
  • Timeout
  • Harness error
  • Skipped
FeatureInterpretedCompiled
Built-ins
93.6%9684 / 10341
871 skipped
93.9%+0.39714 / 10341
871 skipped
Array
89.8%2767 / 3081
0 skipped
90.2%+0.42778 / 3081
0 skipped
at
84.6%11 / 13
0 skipped
84.6%0.011 / 13
0 skipped
concat
75.4%52 / 69
0 skipped
76.8%+1.453 / 69
0 skipped
copyWithin
97.4%38 / 39
0 skipped
97.4%0.038 / 39
0 skipped
entries
75.0%9 / 12
0 skipped
75.0%0.09 / 12
0 skipped
every
97.7%213 / 218
0 skipped
98.2%+0.5214 / 218
0 skipped
fill
90.9%20 / 22
0 skipped
90.9%0.020 / 22
0 skipped
filter
93.8%227 / 242
0 skipped
93.8%0.0227 / 242
0 skipped
find
82.6%19 / 23
0 skipped
82.6%0.019 / 23
0 skipped
findIndex
82.6%19 / 23
0 skipped
82.6%0.019 / 23
0 skipped
findLast
79.2%19 / 24
0 skipped
79.2%0.019 / 24
0 skipped
findLastIndex
79.2%19 / 24
0 skipped
79.2%0.019 / 24
0 skipped
flat
68.4%13 / 19
0 skipped
68.4%0.013 / 19
0 skipped
flatMap
58.3%14 / 24
0 skipped
58.3%0.014 / 24
0 skipped
forEach
97.4%185 / 190
0 skipped
97.9%+0.5186 / 190
0 skipped
from
83.0%39 / 47
0 skipped
83.0%0.039 / 47
0 skipped
fromAsync
0.0%0 / 95
0 skipped
0.0%0.00 / 95
0 skipped
General
90.0%45 / 50
0 skipped
90.0%0.045 / 50
0 skipped
includes
83.3%25 / 30
0 skipped
83.3%0.025 / 30
0 skipped
indexOf
97.0%195 / 201
0 skipped
97.5%+0.5196 / 201
0 skipped
isArray
100.0%29 / 29
0 skipped
100.0%0.029 / 29
0 skipped
join
82.6%19 / 23
0 skipped
82.6%0.019 / 23
0 skipped
keys
75.0%9 / 12
0 skipped
75.0%0.09 / 12
0 skipped
lastIndexOf
97.5%193 / 198
0 skipped
98.0%+0.5194 / 198
0 skipped
length
93.3%28 / 30
0 skipped
93.3%0.028 / 30
0 skipped
map
92.6%200 / 216
0 skipped
93.1%+0.5201 / 216
0 skipped
of
50.0%8 / 16
0 skipped
50.0%0.08 / 16
0 skipped
pop
100.0%23 / 23
0 skipped
100.0%0.023 / 23
0 skipped
prototype
57.1%4 / 7
0 skipped
57.1%0.04 / 7
0 skipped
push
100.0%24 / 24
0 skipped
100.0%0.024 / 24
0 skipped
reduce
97.7%254 / 260
0 skipped
98.5%+0.8256 / 260
0 skipped
reduceRight
97.3%253 / 260
0 skipped
98.1%+0.8255 / 260
0 skipped
reverse
94.4%17 / 18
0 skipped
94.4%0.017 / 18
0 skipped
shift
100.0%20 / 20
0 skipped
100.0%0.020 / 20
0 skipped
slice
78.9%56 / 71
0 skipped
78.9%0.056 / 71
0 skipped
some
97.7%214 / 219
0 skipped
98.2%+0.5215 / 219
0 skipped
sort
92.6%50 / 54
0 skipped
92.6%0.050 / 54
0 skipped
splice
81.5%66 / 81
0 skipped
81.5%0.066 / 81
0 skipped
Symbol.iterator
100.0%1 / 1
0 skipped
100.0%0.01 / 1
0 skipped
Symbol.species
0.0%0 / 4
0 skipped
0.0%0.00 / 4
0 skipped
Symbol.unscopables
0.0%0 / 4
0 skipped
0.0%0.00 / 4
0 skipped
toLocaleString
75.0%9 / 12
0 skipped
75.0%0.09 / 12
0 skipped
toReversed
100.0%17 / 17
0 skipped
100.0%0.017 / 17
0 skipped
toSorted
100.0%21 / 21
0 skipped
100.0%0.021 / 21
0 skipped
toSpliced
100.0%30 / 30
0 skipped
100.0%0.030 / 30
0 skipped
toString
72.7%8 / 11
0 skipped
72.7%0.08 / 11
0 skipped
unshift
100.0%22 / 22
0 skipped
100.0%0.022 / 22
0 skipped
values
75.0%9 / 12
0 skipped
75.0%0.09 / 12
0 skipped
with
100.0%21 / 21
0 skipped
100.0%0.021 / 21
0 skipped
Boolean
98.0%50 / 51
0 skipped
98.0%0.050 / 51
0 skipped
constructor
100.0%1 / 1
0 skipped
100.0%0.01 / 1
0 skipped
General
96.0%24 / 25
0 skipped
96.0%0.024 / 25
0 skipped
prototype
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
toString
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
valueOf
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
Error
94.8%55 / 58
0 skipped
94.8%0.055 / 58
0 skipped
constructor
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
General
93.8%15 / 16
0 skipped
93.8%0.015 / 16
0 skipped
isError
83.3%10 / 12
0 skipped
83.3%0.010 / 12
0 skipped
message
100.0%1 / 1
0 skipped
100.0%0.01 / 1
0 skipped
name
100.0%1 / 1
0 skipped
100.0%0.01 / 1
0 skipped
prototype
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
toString
100.0%17 / 17
0 skipped
100.0%0.017 / 17
0 skipped
JSON
89.7%148 / 165
0 skipped
89.7%0.0148 / 165
0 skipped
General
100.0%6 / 6
0 skipped
100.0%0.06 / 6
0 skipped
isRawJSON
100.0%6 / 6
0 skipped
100.0%0.06 / 6
0 skipped
parse
89.6%69 / 77
0 skipped
89.6%0.069 / 77
0 skipped
rawJSON
90.0%9 / 10
0 skipped
90.0%0.09 / 10
0 skipped
stringify
87.9%58 / 66
0 skipped
87.9%0.058 / 66
0 skipped
Math
100.0%327 / 327
0 skipped
100.0%0.0327 / 327
0 skipped
abs
100.0%8 / 8
0 skipped
100.0%0.08 / 8
0 skipped
acos
100.0%8 / 8
0 skipped
100.0%0.08 / 8
0 skipped
acosh
100.0%7 / 7
0 skipped
100.0%0.07 / 7
0 skipped
asin
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
asinh
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
atan
100.0%7 / 7
0 skipped
100.0%0.07 / 7
0 skipped
atan2
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
atanh
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
cbrt
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
ceil
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
clz32
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
cos
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
cosh
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
E
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
exp
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
expm1
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
f16round
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
floor
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
fround
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
General
100.0%3 / 3
0 skipped
100.0%0.03 / 3
0 skipped
hypot
100.0%12 / 12
0 skipped
100.0%0.012 / 12
0 skipped
imul
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
LN10
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
LN2
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
log
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
log10
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
LOG10E
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
log1p
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
log2
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
LOG2E
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
max
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
min
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
PI
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
pow
100.0%28 / 28
0 skipped
100.0%0.028 / 28
0 skipped
random
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
round
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
sign
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
sin
100.0%8 / 8
0 skipped
100.0%0.08 / 8
0 skipped
sinh
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
sqrt
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
SQRT1_2
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
SQRT2
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
sumPrecise
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
tan
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
tanh
100.0%5 / 5
0 skipped
100.0%0.05 / 5
0 skipped
trunc
100.0%12 / 12
0 skipped
100.0%0.012 / 12
0 skipped
Number
99.7%339 / 340
0 skipped
99.7%0.0339 / 340
0 skipped
General
99.2%119 / 120
0 skipped
99.2%0.0119 / 120
0 skipped
isFinite
100.0%8 / 8
0 skipped
100.0%0.08 / 8
0 skipped
isInteger
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
isNaN
100.0%7 / 7
0 skipped
100.0%0.07 / 7
0 skipped
isSafeInteger
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
MAX_VALUE
100.0%4 / 4
0 skipped
100.0%0.04 / 4
0 skipped
MIN_VALUE
100.0%4 / 4
0 skipped
100.0%0.04 / 4
0 skipped
NEGATIVE_INFINITY
100.0%4 / 4
0 skipped
100.0%0.04 / 4
0 skipped
parseFloat
100.0%1 / 1
0 skipped
100.0%0.01 / 1
0 skipped
parseInt
100.0%1 / 1
0 skipped
100.0%0.01 / 1
0 skipped
POSITIVE_INFINITY
100.0%4 / 4
0 skipped
100.0%0.04 / 4
0 skipped
prototype
100.0%15 / 15
0 skipped
100.0%0.015 / 15
0 skipped
toExponential
100.0%15 / 15
0 skipped
100.0%0.015 / 15
0 skipped
toFixed
100.0%16 / 16
0 skipped
100.0%0.016 / 16
0 skipped
toLocaleString
100.0%4 / 4
0 skipped
100.0%0.04 / 4
0 skipped
toPrecision
100.0%17 / 17
0 skipped
100.0%0.017 / 17
0 skipped
toString
100.0%90 / 90
0 skipped
100.0%0.090 / 90
0 skipped
valueOf
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
Object
95.6%3257 / 3406
5 skipped
95.9%+0.23265 / 3406
5 skipped
__defineGetter__
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
__defineSetter__
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
__lookupGetter__
87.5%14 / 16
0 skipped
100.0%+12.516 / 16
0 skipped
__lookupSetter__
87.5%14 / 16
0 skipped
100.0%+12.516 / 16
0 skipped
__proto__
0.0%0 / 15
0 skipped
0.0%0.00 / 15
0 skipped
assign
100.0%38 / 38
0 skipped
100.0%0.038 / 38
0 skipped
constructor
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
create
100.0%320 / 320
0 skipped
100.0%0.0320 / 320
0 skipped
defineProperties
97.5%616 / 632
0 skipped
97.5%0.0616 / 632
0 skipped
defineProperty
96.8%1095 / 1131
0 skipped
97.0%+0.21097 / 1131
0 skipped
entries
85.7%18 / 21
0 skipped
85.7%0.018 / 21
0 skipped
freeze
86.8%46 / 53
0 skipped
86.8%0.046 / 53
0 skipped
fromEntries
44.0%11 / 25
0 skipped
44.0%0.011 / 25
0 skipped
General
96.7%59 / 61
0 skipped
96.7%0.059 / 61
0 skipped
getOwnPropertyDescriptor
98.7%306 / 310
0 skipped
98.7%0.0306 / 310
0 skipped
getOwnPropertyDescriptors
88.9%16 / 18
0 skipped
88.9%0.016 / 18
0 skipped
getOwnPropertyNames
93.3%42 / 45
0 skipped
95.6%+2.243 / 45
0 skipped
getOwnPropertySymbols
100.0%12 / 12
0 skipped
100.0%0.012 / 12
0 skipped
getPrototypeOf
94.9%37 / 39
0 skipped
94.9%0.037 / 39
0 skipped
groupBy
78.6%11 / 14
0 skipped
85.7%+7.112 / 14
0 skipped
hasOwn
95.2%59 / 62
0 skipped
95.2%0.059 / 62
0 skipped
hasOwnProperty
90.5%57 / 63
0 skipped
90.5%0.057 / 63
0 skipped
internals
100.0%6 / 6
0 skipped
100.0%0.06 / 6
0 skipped
is
100.0%21 / 21
0 skipped
100.0%0.021 / 21
0 skipped
isExtensible
100.0%38 / 38
0 skipped
100.0%0.038 / 38
0 skipped
isFrozen
93.2%55 / 59
0 skipped
93.2%0.055 / 59
0 skipped
isPrototypeOf
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
isSealed
97.0%32 / 33
0 skipped
97.0%0.032 / 33
0 skipped
keys
100.0%59 / 59
0 skipped
100.0%0.059 / 59
0 skipped
preventExtensions
100.0%40 / 40
0 skipped
100.0%0.040 / 40
0 skipped
propertyIsEnumerable
81.3%13 / 16
0 skipped
81.3%0.013 / 16
0 skipped
prototype
100.0%15 / 15
0 skipped
100.0%0.015 / 15
0 skipped
seal
95.7%89 / 93
1 skipped
95.7%0.089 / 93
1 skipped
setPrototypeOf
100.0%12 / 12
0 skipped
100.0%0.012 / 12
0 skipped
toLocaleString
100.0%12 / 12
0 skipped
100.0%0.012 / 12
0 skipped
toString
67.6%25 / 37
4 skipped
67.6%0.025 / 37
4 skipped
valueOf
90.0%18 / 20
0 skipped
90.0%0.018 / 20
0 skipped
values
85.0%17 / 20
0 skipped
85.0%0.017 / 20
0 skipped
Promise
87.1%590 / 677
0 skipped
88.9%+1.8602 / 677
0 skipped
all
96.9%95 / 98
0 skipped
96.9%0.095 / 98
0 skipped
allKeyed
100.0%18 / 18
0 skipped
100.0%0.018 / 18
0 skipped
allSettled
94.2%98 / 104
0 skipped
94.2%0.098 / 104
0 skipped
allSettledKeyed
100.0%19 / 19
0 skipped
100.0%0.019 / 19
0 skipped
any
94.7%89 / 94
0 skipped
94.7%0.089 / 94
0 skipped
catch
92.9%13 / 14
0 skipped
100.0%+7.114 / 14
0 skipped
finally
82.8%24 / 29
0 skipped
82.8%0.024 / 29
0 skipped
General
79.3%46 / 58
0 skipped
82.8%+3.448 / 58
0 skipped
prototype
83.3%5 / 6
0 skipped
83.3%0.05 / 6
0 skipped
race
89.4%84 / 94
0 skipped
89.4%0.084 / 94
0 skipped
reject
100.0%15 / 15
0 skipped
100.0%0.015 / 15
0 skipped
resolve
100.0%30 / 30
0 skipped
100.0%0.030 / 30
0 skipped
Symbol.species
0.0%0 / 5
0 skipped
0.0%0.00 / 5
0 skipped
then
66.7%50 / 75
0 skipped
78.7%+12.059 / 75
0 skipped
try
16.7%2 / 12
0 skipped
16.7%0.02 / 12
0 skipped
withResolvers
33.3%2 / 6
0 skipped
33.3%0.02 / 6
0 skipped
RegExp
93.7%956 / 1020
859 skipped
93.6%-0.1955 / 1020
859 skipped
CharacterClassEscapes
100.0%12 / 12
0 skipped
100.0%0.012 / 12
0 skipped
dotall
25.0%1 / 4
0 skipped
25.0%0.01 / 4
0 skipped
dotAll
87.5%7 / 8
0 skipped
87.5%0.07 / 8
0 skipped
escape
95.0%19 / 20
0 skipped
95.0%0.019 / 20
0 skipped
exec
94.7%72 / 76
3 skipped
94.7%0.072 / 76
3 skipped
flags
100.0%11 / 11
5 skipped
100.0%0.011 / 11
5 skipped
General
96.1%467 / 486
2 skipped
96.1%0.0467 / 486
2 skipped
global
80.0%8 / 10
0 skipped
80.0%0.08 / 10
0 skipped
hasIndices
0.0%0 / 0
8 skipped
0.0%0.00 / 0
8 skipped
ignoreCase
80.0%8 / 10
0 skipped
80.0%0.08 / 10
0 skipped
lookBehind
0.0%0 / 0
17 skipped
0.0%0.00 / 0
17 skipped
match-indices
0.0%0 / 0
14 skipped
0.0%0.00 / 0
14 skipped
multiline
80.0%8 / 10
0 skipped
80.0%0.08 / 10
0 skipped
named-groups
0.0%0 / 0
36 skipped
0.0%0.00 / 0
36 skipped
property-escapes
0.0%0 / 0
613 skipped
0.0%0.00 / 0
613 skipped
prototype
100.0%10 / 10
0 skipped
100.0%0.010 / 10
0 skipped
regexp-modifiers
82.9%58 / 70
0 skipped
82.9%0.058 / 70
0 skipped
source
58.3%7 / 12
0 skipped
58.3%0.07 / 12
0 skipped
sticky
87.5%7 / 8
0 skipped
87.5%0.07 / 8
0 skipped
Symbol.match
96.2%51 / 53
0 skipped
96.2%0.051 / 53
0 skipped
Symbol.matchAll
100.0%26 / 26
0 skipped
100.0%0.026 / 26
0 skipped
Symbol.replace
98.4%60 / 61
9 skipped
98.4%0.060 / 61
9 skipped
Symbol.search
95.7%22 / 23
0 skipped
95.7%0.022 / 23
0 skipped
Symbol.species
0.0%0 / 4
0 skipped
0.0%0.00 / 4
0 skipped
Symbol.split
93.2%41 / 44
0 skipped
90.9%-2.340 / 44
0 skipped
test
100.0%45 / 45
0 skipped
100.0%0.045 / 45
0 skipped
toString
100.0%9 / 9
0 skipped
100.0%0.09 / 9
0 skipped
unicode
87.5%7 / 8
0 skipped
87.5%0.07 / 8
0 skipped
unicodeSets
0.0%0 / 0
152 skipped
0.0%0.00 / 0
152 skipped
String
98.3%1195 / 1216
7 skipped
98.3%0.01195 / 1216
7 skipped
at
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
charAt
100.0%30 / 30
0 skipped
100.0%0.030 / 30
0 skipped
charCodeAt
100.0%25 / 25
0 skipped
100.0%0.025 / 25
0 skipped
codePointAt
100.0%16 / 16
0 skipped
100.0%0.016 / 16
0 skipped
concat
100.0%22 / 22
0 skipped
100.0%0.022 / 22
0 skipped
constructor
100.0%2 / 2
0 skipped
100.0%0.02 / 2
0 skipped
endsWith
100.0%27 / 27
0 skipped
100.0%0.027 / 27
0 skipped
fromCharCode
100.0%17 / 17
0 skipped
100.0%0.017 / 17
0 skipped
fromCodePoint
100.0%11 / 11
0 skipped
100.0%0.011 / 11
0 skipped
General
97.8%90 / 92
0 skipped
97.8%0.090 / 92
0 skipped
includes
100.0%27 / 27
0 skipped
100.0%0.027 / 27
0 skipped
indexOf
100.0%47 / 47
0 skipped
100.0%0.047 / 47
0 skipped
isWellFormed
100.0%8 / 8
0 skipped
100.0%0.08 / 8
0 skipped
lastIndexOf
100.0%25 / 25
0 skipped
100.0%0.025 / 25
0 skipped
localeCompare
100.0%13 / 13
0 skipped
100.0%0.013 / 13
0 skipped
match
100.0%48 / 48
3 skipped
100.0%0.048 / 48
3 skipped
matchAll
100.0%24 / 24
1 skipped
100.0%0.024 / 24
1 skipped
normalize
100.0%14 / 14
0 skipped
100.0%0.014 / 14
0 skipped
padEnd
100.0%13 / 13
0 skipped
100.0%0.013 / 13
0 skipped
padStart
100.0%13 / 13
0 skipped
100.0%0.013 / 13
0 skipped
prototype
100.0%7 / 7
0 skipped
100.0%0.07 / 7
0 skipped
raw
100.0%30 / 30
0 skipped
100.0%0.030 / 30
0 skipped
repeat
100.0%16 / 16
0 skipped
100.0%0.016 / 16
0 skipped
replace
96.3%52 / 54
1 skipped
96.3%0.052 / 54
1 skipped
replaceAll
86.7%39 / 45
0 skipped
86.7%0.039 / 45
0 skipped
search
100.0%41 / 41
2 skipped
100.0%0.041 / 41
2 skipped
slice
100.0%38 / 38
0 skipped
100.0%0.038 / 38
0 skipped
split
98.3%118 / 120
0 skipped
98.3%0.0118 / 120
0 skipped
startsWith
100.0%21 / 21
0 skipped
100.0%0.021 / 21
0 skipped
substring
100.0%46 / 46
0 skipped
100.0%0.046 / 46
0 skipped
Symbol.iterator
100.0%6 / 6
0 skipped
100.0%0.06 / 6
0 skipped
toLocaleLowerCase
92.9%26 / 28
0 skipped
92.9%0.026 / 28
0 skipped
toLocaleUpperCase
96.2%25 / 26
0 skipped
96.2%0.025 / 26
0 skipped
toLowerCase
90.0%27 / 30
0 skipped
90.0%0.027 / 30
0 skipped
toString
85.7%6 / 7
0 skipped
85.7%0.06 / 7
0 skipped
toUpperCase
96.2%25 / 26
0 skipped
96.2%0.025 / 26
0 skipped
toWellFormed
100.0%8 / 8
0 skipped
100.0%0.08 / 8
0 skipped
trim
100.0%129 / 129
0 skipped
100.0%0.0129 / 129
0 skipped
trimEnd
100.0%23 / 23
0 skipped
100.0%0.023 / 23
0 skipped
trimStart
100.0%23 / 23
0 skipped
100.0%0.023 / 23
0 skipped
valueOf
85.7%6 / 7
0 skipped
85.7%0.06 / 7
0 skipped
Language
84.8%139 / 164
8 skipped
89.6%+4.9147 / 164
8 skipped
expressions
84.8%139 / 164
8 skipped
89.6%+4.9147 / 164
8 skipped
call
81.2%69 / 85
7 skipped
85.9%+4.773 / 85
7 skipped
new
88.1%52 / 59
0 skipped
94.9%+6.856 / 59
0 skipped
property-accessors
90.0%18 / 20
1 skipped
90.0%0.018 / 20
1 skipped

Parser and type checker

TypeScript diagnostic conformance

Microsoft TypeScript cases where Pass means SharpTS diagnostics match tsc by source line and TS error code.

  • Pass
  • Fail
  • Parse error
  • Type-check error
  • Harness error
  • Skipped
FeatureDiagnostic match
Type system
36.0%192 / 534
0 skipped
classes
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
conditional
60.0%6 / 10
0 skipped
General
60.0%6 / 10
0 skipped
controlFlow
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
decorators
0.0%0 / 1
0 skipped
class
0.0%0 / 1
0 skipped
enums
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
es2016
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
es2017
58.3%7 / 12
0 skipped
General
58.3%7 / 12
0 skipped
es2018
75.0%3 / 4
0 skipped
General
75.0%3 / 4
0 skipped
es2019
15.4%2 / 13
0 skipped
General
18.2%2 / 11
0 skipped
importMeta
0.0%0 / 2
0 skipped
es2020
53.3%8 / 15
0 skipped
General
57.1%4 / 7
0 skipped
modules
50.0%4 / 8
0 skipped
es2021
75.0%9 / 12
0 skipped
General
100.0%2 / 2
0 skipped
logicalAssignment
70.0%7 / 10
0 skipped
es2022
42.9%3 / 7
0 skipped
arbitraryModuleNamespaceIdentifiers
25.0%1 / 4
0 skipped
General
66.7%2 / 3
0 skipped
es2023
50.0%1 / 2
0 skipped
General
50.0%1 / 2
0 skipped
es6
80.0%76 / 95
0 skipped
Symbols
80.0%76 / 95
0 skipped
esnext
50.0%1 / 2
0 skipped
General
0.0%0 / 1
0 skipped
logicalAssignment
100.0%1 / 1
0 skipped
expressions
0.0%0 / 1
0 skipped
assignmentOperator
0.0%0 / 1
0 skipped
functions
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
interfaces
0.0%0 / 1
0 skipped
interfaceDeclarations
0.0%0 / 1
0 skipped
intersection
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
jsx
11.8%25 / 211
0 skipped
General
11.8%23 / 195
0 skipped
inline
28.6%2 / 7
0 skipped
jsxs
0.0%0 / 9
0 skipped
keyof
16.7%1 / 6
0 skipped
General
16.7%1 / 6
0 skipped
literal
100.0%1 / 1
0 skipped
General
100.0%1 / 1
0 skipped
mapped
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
Symbols
50.0%4 / 8
0 skipped
General
50.0%4 / 8
0 skipped
thisType
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
typeAliases
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
typeParameters
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped
typeRelationships
36.9%45 / 122
0 skipped
assignmentCompatibility
35.7%25 / 70
0 skipped
subtypesAndSuperTypes
38.5%20 / 52
0 skipped
union
0.0%0 / 1
0 skipped
General
0.0%0 / 1
0 skipped

Percentages count Pass results over all non-skipped results. Every other non-skipped bucket counts as not passing; skipped results are shown separately.

Test262 exercises specification edge cases far beyond what typical programs encounter. These totals are presented without adjustment.

Generated from: SharpTS 7c601010 · Test262 suite (d5e73fc8) · TypeScript suite (050880ce) · JSON