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.
41 lines
1.1 KiB
41 lines
1.1 KiB
import assert from 'assert'; |
|
import { testMethodProperty } from './properties.js'; |
|
|
|
describe('subscription', () => { |
|
|
|
function getSubscription(subscriber = () => {}) { |
|
return new Observable(subscriber).subscribe(); |
|
} |
|
|
|
describe('unsubscribe', () => { |
|
it('is a method on Subscription.prototype', () => { |
|
let subscription = getSubscription(); |
|
testMethodProperty(Object.getPrototypeOf(subscription), 'unsubscribe', { |
|
configurable: true, |
|
writable: true, |
|
length: 0, |
|
}); |
|
}); |
|
|
|
it('reports an error if the cleanup function throws', () => { |
|
let error = {}; |
|
let subscription = getSubscription(() => { |
|
return () => { throw error }; |
|
}); |
|
subscription.unsubscribe(); |
|
assert.equal(hostError, error); |
|
}); |
|
}); |
|
|
|
describe('closed', () => { |
|
it('is a getter on Subscription.prototype', () => { |
|
let subscription = getSubscription(); |
|
testMethodProperty(Object.getPrototypeOf(subscription), 'closed', { |
|
configurable: true, |
|
writable: true, |
|
get: true, |
|
}); |
|
}); |
|
}); |
|
|
|
});
|
|
|