I'm implementing Class#{subclasses,descendants} in Opal. While in MRI GC may run quite consistently for this test to always pass, in Opal we have to rely on JS behavior - and it doesn't help us. A similar situation may happen on other Ruby implementations.
Let's take a look at this:
|
assert_descendants(ModuleSpecs::Parent, [ModuleSpecs::Child, ModuleSpecs::Child2, ModuleSpecs::Grandchild]) |
And then this:
|
child = Class.new(ModuleSpecs::Parent) do |
A question would be - do we really want to hardcode a need for GC for this part or an assumption that it will be ran between those 2 tests?