Open
Description
There are two problems with our tests:
- They use
let _ = blah()
which means if the type of a method changes the test still compiles. This is not good. - By always using
_
to avoid exporting the reference, some lines are optimised away by ReScript and never emitted (this is arguably a bug, but it's what we are stuck with for now).
To solve the first problem, change things like
let _ = range->getClientRects
to
let _: array<Dom.domRect> = range->getClientRects
For the second, about all we can do is audit the JS and see which lines don't result in compiled output. I have found that externals returning an optional value in a let _ =
line are not emitted, here's how I solved that:
https://github.com/tinymce/rescript-webapi/blob/b138ae2982d24193473e01929251871ea2d4ba65/tests/Webapi/Dom/Webapi__Dom__Document__test.res#L64-L67
The more I think about this the more I believe it should be logged as a bug with ReScript. But we should find them all first to make the bug report more valuable.