MessagesForMacintosh/JS/node_modules/zen-observable/test/of.js

33 lines
882 B
JavaScript

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]);
});
});