mirror of
https://github.com/CamHenlin/MessagesForMacintosh.git
synced 2024-11-29 08:49:40 +00:00
37 lines
1018 B
JavaScript
37 lines
1018 B
JavaScript
import assert from 'assert';
|
|
import { testMethodProperty } from './properties.js';
|
|
|
|
describe('constructor', () => {
|
|
it('throws if called as a function', () => {
|
|
assert.throws(() => Observable(() => {}));
|
|
assert.throws(() => Observable.call({}, () => {}));
|
|
});
|
|
|
|
it('throws if the argument is not callable', () => {
|
|
assert.throws(() => new Observable({}));
|
|
assert.throws(() => new Observable());
|
|
assert.throws(() => new Observable(1));
|
|
assert.throws(() => new Observable('string'));
|
|
});
|
|
|
|
it('accepts a function argument', () => {
|
|
let result = new Observable(() => {});
|
|
assert.ok(result instanceof Observable);
|
|
});
|
|
|
|
it('is the value of Observable.prototype.constructor', () => {
|
|
testMethodProperty(Observable.prototype, 'constructor', {
|
|
configurable: true,
|
|
writable: true,
|
|
length: 1,
|
|
});
|
|
});
|
|
|
|
it('does not call the subscriber function', () => {
|
|
let called = 0;
|
|
new Observable(() => { called++ });
|
|
assert.equal(called, 0);
|
|
});
|
|
|
|
});
|