axios-miniprogram/test/cancel/CancelToken.test.ts

34 lines
795 B
TypeScript
Raw Normal View History

2020-04-20 22:33:15 +08:00
/*
* @Author: early-autumn
* @Date: 2020-04-20 15:17:50
* @LastEditors: early-autumn
2020-04-21 10:02:11 +08:00
* @LastEditTime: 2020-04-21 09:01:02
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-04-20 22:33:15 +08:00
const token = new CancelToken(function(cancel) {
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
});
});