SelfTests class Null safety

Some built-in regression tests. There aren't just an excuse to flash "running" when a user triggers the 16C's self test fonction. It's also a way of easily running some of the tests involving integer and floating point behavior in different browsers. This might be a bit of a pain point for Dart, since the numeric types behave differently given JavaScript's deficiencies in ths regard.

I note that I've seen Dart documentation that mention the 53 bit mantissa of the underlying double that JavaScript uses, but it seems that Dart clamps ints on (perhaps only some?) JavaScript runtime to 32 bits. It seems the prudent thing to do for interoperable code is to limit usage of the int type to 32 bit ints, which is unfortunate. In fairness, the Dart language designers were in a bit of a bind, with no really good answers for putting a normal type system on top of JavaScript's odd (and IMHO terrible) choice as regards numeric types.


SelfTests({bool inCalculator = true})


errorsSeen int
read / write
hashCode int
The hash code for this object. [...]
read-only, inherited
inCalculator bool
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
testsRun int
read / write


fd(double d) String
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
runAll() Future<void>
testFloatConvert() Future<void>
testFloatValues() Future<void>
testIntOperations() Future<void>
testIntValues() Future<void>
testJson() Future<void>
testNumbers() Future<void>
toString() String
A string representation of this object. [...]


operator ==(Object other) bool
The equality operator. [...]