You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Coming from Elixir I've been spoiled by assertions on lists/maps printing color-coded deep comparisons on failure:
I tried doing something similar with lust and realised I was getting something like this
This is my only gripe with the library so far - it's been trivial to integrate into a Love2D project and get started with, even for a Lua beginner - thank you so much for that.
My fast and dirty solution has been to add this chunk to my vendored copy of lust.lua:
...which gives me assertion errors like this instead:
It works well enough for me for now, but I know it could use some improvements:
It applies to all places where lust uses tostring, whereas it should probably be used only for representing the values used in assertions
you can't distinguish between "42" and 42, for example, because they tostring the same
"regular" arrays get printed like generic tables, instead of like {1, 1, 2, 3, 5}
both tables being printed in the same line are hard to compare, it would be easier if they were one under the other
there should probably be a limit of text printed per table, otherwise asserting on big maps would potentially blow up the test output
And ideally we could have the the color-coded comparison like with ExUnit, but that would probably require us to add more complexity to lust than it's worth.
I'm mainly leaving this issue as a placeholder and a note to myself - I'd love to make a more comprehensive and well-formed fix when I have some time.
If you had some time to review that when it happens, @bjornbytes, and maybe merge in to lust if it works for you, I'd appreciate that. I'd love to contribute back to the library instead of running my own crappy fork, and I suspect even my final PR could probably use a thorough review - I've been writing Lua for less than a week now and I probably do a lot of silly stuff...
The text was updated successfully, but these errors were encountered:
Hey, thanks for the issue. This is a good point and I agree that there should be more sophisticated table serialization. Feel free to take a stab at it when you have time, I'd be happy to merge it in.
One thing to keep in mind during this change is that tables can have a __tostring metamethod which allows overriding the tostring result for a table. lust should probably continue to respect that metamethod if it's set.
Coming from Elixir I've been spoiled by assertions on lists/maps printing color-coded deep comparisons on failure:
I tried doing something similar with
lust
and realised I was getting something like thisThis is my only gripe with the library so far - it's been trivial to integrate into a Love2D project and get started with, even for a Lua beginner - thank you so much for that.
My fast and dirty solution has been to add this chunk to my vendored copy of
lust.lua
:...which gives me assertion errors like this instead:
It works well enough for me for now, but I know it could use some improvements:
lust
usestostring
, whereas it should probably be used only for representing the values used in assertions"42"
and42
, for example, because theytostring
the same{1, 1, 2, 3, 5}
And ideally we could have the the color-coded comparison like with ExUnit, but that would probably require us to add more complexity to
lust
than it's worth.I'm mainly leaving this issue as a placeholder and a note to myself - I'd love to make a more comprehensive and well-formed fix when I have some time.
If you had some time to review that when it happens, @bjornbytes, and maybe merge in to
lust
if it works for you, I'd appreciate that. I'd love to contribute back to the library instead of running my own crappy fork, and I suspect even my final PR could probably use a thorough review - I've been writing Lua for less than a week now and I probably do a lot of silly stuff...The text was updated successfully, but these errors were encountered: