index.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { getTestScheduler, initTestScheduler, resetTestScheduler, } from './src/scheduler';
  2. import { TestColdObservable, TestHotObservable, } from './src/test-observables';
  3. import { toHaveSubscriptionsComparer, toBeObservableComparer, } from './src/utils';
  4. export { getTestScheduler, initTestScheduler, resetTestScheduler, } from './src/scheduler';
  5. export function hot(marbles, values, error) {
  6. return new TestHotObservable(marbles.trim(), values, error);
  7. }
  8. export function cold(marbles, values, error) {
  9. return new TestColdObservable(marbles.trim(), values, error);
  10. }
  11. export function time(marbles) {
  12. return getTestScheduler().createTime(marbles.trim());
  13. }
  14. export function addMatchers() {
  15. /**
  16. * expect.extend is an API exposed by jest-circus,
  17. * the default runner as of Jest v27. If that method
  18. * is not available, assume we're in a Jasmine test
  19. * environment.
  20. */
  21. if (!expect.extend) {
  22. jasmine.addMatchers({
  23. toHaveSubscriptions: () => ({
  24. compare: toHaveSubscriptionsComparer,
  25. }),
  26. toBeObservable: (_utils) => ({
  27. compare: toBeObservableComparer,
  28. }),
  29. });
  30. }
  31. else {
  32. expect.extend({
  33. toHaveSubscriptions: toHaveSubscriptionsComparer,
  34. toBeObservable: toBeObservableComparer,
  35. });
  36. }
  37. }
  38. export function setupEnvironment() {
  39. beforeAll(() => addMatchers());
  40. beforeEach(() => initTestScheduler());
  41. afterEach(() => {
  42. getTestScheduler().flush();
  43. resetTestScheduler();
  44. });
  45. }
  46. setupEnvironment();
  47. //# sourceMappingURL=index.js.map