The work here is simple: Create a list or spreadsheet we can edit that tracks all of the tests in our suite that need to be updated in two different ways:
A lot of work was already done here, but there's still some work that needs to be done. Basically, we need to update tests to make sure they are all importing from rxjs, rxjs/operators, rxjs/testing, etc, and NOT importing like import * as Rx from 'rxjs'.
We also need to make sure all operator usage is "pipeable". There are still a few tests where they're being "dot-chained" which isn't what we want.
Run mode is testing with TestScheduler.prototype.run like so:
let testScheduler: TestScheduler;
beforeEach(() => {
// "defaultObservableComparar" isn't a real thing, I forgot what it's called :P haha.
testScheduler = new TestScheduler(defaultObservableComparer);
});
it('should be a test like this', () => {
testScheduler.run(({ hot, cold, expectObservable }) => {
const source = hot('---a--b--c--d--|');
const subs = ' -----^----------!';
const expected = ' --b--c--d--|';
expect(source, subs).toBe(expected);
});
});
A list we can use to track progress on updating these files.
It will drive a LOT of work for people, particularly people new to contributing to the code base. This work will enable us to more cleanly move to RxJS v 7 and beyond!
Moving to using "run mode" will enable us to use a code formatter (such as Prettier or Clang format) on the library, because we won't have to worry about jacking up marble diagrams anymore (because we can use spaces in the strings more effectively). This will help others contribute to the codebase by making it more readable.
I've created a list of all (I hope) NOT "modernized" imports.
Here it's.
Here a list of not pipeable operators which I have manage to find. (Hopely there are full list)
Some files are not included because they are have been listed on previous list (Not modernized imports).
.delay).concatMap was called)Observable.of;.delay).last).publish, .refCount).repeat, .retry).toPromise).take).take).delay).toPromise)
Most helpful comment
I've created a list of all (I hope) NOT "modernized" imports.
Here it's.
NOT "modernized" imports
Spec Root folder
Spec dtslint
Spec Helpers
Spec Observables
Spec Operators
Spec Subjects
Spec Util