2020-04-20 22:33:15 +08:00
|
|
|
import CancelToken from '../../src/cancel/CancelToken';
|
|
|
|
|
|
|
|
describe('测试 src/cancel/CancelToken.ts', () => {
|
2020-04-21 10:02:11 +08:00
|
|
|
it('实例化', () => {
|
2020-07-22 14:20:00 +08:00
|
|
|
const token = new CancelToken(function (cancel) {
|
2020-04-20 22:33:15 +08:00
|
|
|
cancel('取消');
|
|
|
|
});
|
|
|
|
|
2020-04-21 10:02:11 +08:00
|
|
|
// 应该抛出取消
|
|
|
|
expect(() => token.throwIfRequested()).toThrow();
|
2020-04-20 22:33:15 +08:00
|
|
|
});
|
|
|
|
|
2020-04-21 10:02:11 +08:00
|
|
|
it('工厂方法', () => {
|
2020-04-20 22:33:15 +08:00
|
|
|
const source = CancelToken.source();
|
|
|
|
|
|
|
|
// 还没有取消 返回 Undefuned
|
|
|
|
expect(source.token.throwIfRequested()).toBeUndefined();
|
|
|
|
|
2020-04-21 10:02:11 +08:00
|
|
|
source.cancel('取消');
|
2020-04-20 22:33:15 +08:00
|
|
|
|
|
|
|
// 应该抛出取消
|
|
|
|
expect(() => source.token.throwIfRequested()).toThrow();
|
|
|
|
|
|
|
|
// 重复取消无效
|
2020-04-21 10:02:11 +08:00
|
|
|
source.cancel('取消');
|
2020-04-20 22:33:15 +08:00
|
|
|
});
|
|
|
|
});
|