import assert from 'assert'; import { testMethodProperty } from './properties.js'; describe('of', () => { it('is a method on Observable', () => { testMethodProperty(Observable, 'of', { configurable: true, writable: true, length: 0, }); }); it('uses the this value if it is a function', () => { let usesThis = false; Observable.of.call(function() { usesThis = true; }); assert.ok(usesThis); }); it('uses Observable if the this value is not a function', () => { let result = Observable.of.call({}, 1, 2, 3, 4); assert.ok(result instanceof Observable); }); it('delivers arguments to next in a job', async () => { let values = []; let turns = 0; Observable.of(1, 2, 3, 4).subscribe(v => values.push(v)); assert.equal(values.length, 0); await null; assert.deepEqual(values, [1, 2, 3, 4]); }); });