Skip to content

Expand test-suite #12

@PhilippMDoerner

Description

@PhilippMDoerner

The test-suite is already somewhat sizeable, but could be expanded to cover more potential edgecases.

(For all of the below, check if a test like that does not already exist)

  • Tests that check that after unsubscribing the internal state of observers in the various observables is as it should be. This should be tested for subjects and observables but also observables created from operators to see how this interacts with their subscriptions to the parent etc.
  • Tests that what happens when you have observables/subjects/observables created from operators with a subscriber, then complete those and then you subscribe again
  • In general test more scenarios of combineLatest, it is one of the more tricky operators that are likely to have bugs. Like what if you combine 2 subjects? Does triggering any of them now trigger the combined observable?
  • More tests that try out the async version of procs and see what happens if you start triggering a bunch of things before you waitFor the futures. Maybe we care about the order of the futures that we await? Maybe we don't? Should become clear while writing the tests.

In general, if unclear how something should behave, then try and recreate it in rxjs.
They are a decent reference implementation in terms of behavior, particularly for the finer details. Sadly we can't completely rip their implementation given the differences between JS and nim, though that of course also has upsides.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions