You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1018 B
36 lines
1018 B
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); |
|
}); |
|
|
|
});
|
|
|