Schedule Fixture

This fixture is for manual testing purposes, and the patterns used in implementing it should not be used as a model. This is mainly for anyone working on making changes to the `schedule` module.

Tests:

  1. Calls the callback with the frame when not blocked:

    Expected:
    -------------------------------------------------
    If you see the same above and below it's correct.
    -------------------------------------------------
    Actual:
  2. Accepts multiple callbacks and calls within frame when not blocked

    Expected:
    -------------------------------------------------
    If you see the same above and below it's correct.
    -------------------------------------------------
    Actual:
  3. Schedules callbacks in correct order when they use scheduleWork to schedule themselves

    Expected:
    -------------------------------------------------
    If you see the same above and below it's correct.
    -------------------------------------------------
    Actual:
  4. Calls timed out callbacks and then any more pending callbacks, defers others if time runs out

    Expected:
    -------------------------------------------------
    If you see the same above and below it's correct.
    -------------------------------------------------
    Actual:
  5. When some callbacks throw errors, still calls them all within the same frame

    IMPORTANT: Open the console when you run this! Inspect the logs there!

  6. When some callbacks throw errors and some also time out, still calls them all within the same frame

    IMPORTANT: Open the console when you run this! Inspect the logs there!