Update tests to run for JS targets #584
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, this PR allows running tests for JS targets.
The old version of tests had the following problems:
It is incorrect to compare NaN to another NaN using
==
operator. For JavaFloat.NaN == Float.NaN
returnsfalse
(butObjects.equals(Float.NaN, Float.NaN)
returnstrue
, which is why tests work for Java). For JS it is a bit different.For NaN comparison,
equals
call was replaced withisNaN()
method call.The hex and octal numbers are valid floating point numbers for JS (because under the hood Kotlin delegates conversion to JS dynamic cast). This is the
toDouble
implementation for JS platformTests for those values are ignored for JS platform.
@sschuberth please, take a look at the PR when you have time. Thank you!