#135075 Use fake timers

上级 26cf9202
...@@ -12,6 +12,7 @@ import { DisposableStore } from 'vs/base/common/lifecycle'; ...@@ -12,6 +12,7 @@ import { DisposableStore } from 'vs/base/common/lifecycle';
import { isWeb } from 'vs/base/common/platform'; import { isWeb } from 'vs/base/common/platform';
import { ConfigurationSyncStore } from 'vs/base/common/product'; import { ConfigurationSyncStore } from 'vs/base/common/product';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { runWithFakedTimers } from 'vs/base/test/common/timeTravelScheduler';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IFileService } from 'vs/platform/files/common/files'; import { IFileService } from 'vs/platform/files/common/files';
...@@ -395,19 +396,22 @@ suite('UserDataSyncStoreService', () => { ...@@ -395,19 +396,22 @@ suite('UserDataSyncStoreService', () => {
}); });
test('test donotMakeRequestsUntil is reset after retry time is finished', async () => { test('test donotMakeRequestsUntil is reset after retry time is finished', async () => {
const client = disposableStore.add(new UserDataSyncClient(new UserDataSyncTestServer(1, 0.25))); return runWithFakedTimers({ useFakeTimers: true }, async () => {
await client.setUp(); const client = disposableStore.add(new UserDataSyncClient(new UserDataSyncTestServer(1, 0.25)));
const testObject = client.instantiationService.get(IUserDataSyncStoreService); await client.setUp();
const testObject = client.instantiationService.get(IUserDataSyncStoreService);
await testObject.manifest(null);
try {
await testObject.manifest(null); await testObject.manifest(null);
} catch (e) { } try {
await testObject.manifest(null);
assert.fail('should fail');
} catch (e) { }
const promise = Event.toPromise(testObject.onDidChangeDonotMakeRequestsUntil); const promise = Event.toPromise(testObject.onDidChangeDonotMakeRequestsUntil);
await timeout(300); await timeout(300);
await promise; await promise;
assert.ok(!testObject.donotMakeRequestsUntil); assert.ok(!testObject.donotMakeRequestsUntil);
});
}); });
test('test donotMakeRequestsUntil is retrieved', async () => { test('test donotMakeRequestsUntil is retrieved', async () => {
...@@ -425,18 +429,21 @@ suite('UserDataSyncStoreService', () => { ...@@ -425,18 +429,21 @@ suite('UserDataSyncStoreService', () => {
}); });
test('test donotMakeRequestsUntil is checked and reset after retreived', async () => { test('test donotMakeRequestsUntil is checked and reset after retreived', async () => {
const client = disposableStore.add(new UserDataSyncClient(new UserDataSyncTestServer(1, 0.25))); return runWithFakedTimers({ useFakeTimers: true }, async () => {
await client.setUp(); const client = disposableStore.add(new UserDataSyncClient(new UserDataSyncTestServer(1, 0.25)));
const testObject = client.instantiationService.get(IUserDataSyncStoreService); await client.setUp();
const testObject = client.instantiationService.get(IUserDataSyncStoreService);
await testObject.manifest(null);
try {
await testObject.manifest(null); await testObject.manifest(null);
} catch (e) { } try {
await testObject.manifest(null);
await timeout(300); assert.fail('should fail');
const target = disposableStore.add(client.instantiationService.createInstance(UserDataSyncStoreService)); } catch (e) { }
assert.ok(!target.donotMakeRequestsUntil);
await timeout(300);
const target = disposableStore.add(client.instantiationService.createInstance(UserDataSyncStoreService));
assert.ok(!target.donotMakeRequestsUntil);
});
}); });
test('test read resource request handles 304', async () => { test('test read resource request handles 304', async () => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册