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.
28 lines
944 B
28 lines
944 B
import assert from 'assert'; |
|
|
|
describe('species', () => { |
|
it('uses Observable when constructor is undefined', () => { |
|
let instance = new Observable(() => {}); |
|
instance.constructor = undefined; |
|
assert.ok(instance.map(x => x) instanceof Observable); |
|
}); |
|
|
|
it('uses Observable if species is null', () => { |
|
let instance = new Observable(() => {}); |
|
instance.constructor = { [Symbol.species]: null }; |
|
assert.ok(instance.map(x => x) instanceof Observable); |
|
}); |
|
|
|
it('uses Observable if species is undefined', () => { |
|
let instance = new Observable(() => {}); |
|
instance.constructor = { [Symbol.species]: undefined }; |
|
assert.ok(instance.map(x => x) instanceof Observable); |
|
}); |
|
|
|
it('uses value of Symbol.species', () => { |
|
function ctor() {} |
|
let instance = new Observable(() => {}); |
|
instance.constructor = { [Symbol.species]: ctor }; |
|
assert.ok(instance.map(x => x) instanceof ctor); |
|
}); |
|
});
|
|
|