Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
748f6449
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
748f6449
编写于
9月 23, 2019
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix tests after
00983bcd
上级
8283078f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
97 deletion
+45
-97
src/vs/workbench/contrib/extensions/test/electron-browser/extensionsActions.test.ts
...xtensions/test/electron-browser/extensionsActions.test.ts
+42
-94
src/vs/workbench/services/extensionManagement/test/electron-browser/extensionEnablementService.test.ts
.../test/electron-browser/extensionEnablementService.test.ts
+3
-3
未找到文件。
src/vs/workbench/contrib/extensions/test/electron-browser/extensionsActions.test.ts
浏览文件 @
748f6449
...
...
@@ -1465,41 +1465,41 @@ suite('ExtensionsActions Test', () => {
assert
.
equal
(
testObject
.
tooltip
,
'
Please reload Visual Studio Code to enable this extension.
'
);
});
test
(
'
Test ReloadAction when ui extension is disabled on remote server and installed in local server
'
,
async
()
=>
{
// multi server setup
const
gallery
=
aGalleryExtension
(
'
a
'
);
const
localExtensionManagementService
=
createExtensionManagementService
([]);
const
onDidInstallEvent
=
new
Emitter
<
DidInstallExtensionEvent
>
();
localExtensionManagementService
.
onDidInstallExtension
=
onDidInstallEvent
.
event
;
const
remoteExtension
=
aLocalExtension
(
'
a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
'
pub.a
'
).
with
({
scheme
:
Schemas
.
vscodeRemote
})
});
const
extensionManagementServerService
=
aMultiExtensionManagementServerService
(
instantiationService
,
localExtensionManagementService
,
createExtensionManagementService
([
remoteExtension
]));
instantiationService
.
stub
(
IExtensionManagementServerService
,
extensionManagementServerService
);
instantiationService
.
stub
(
IExtensionEnablementService
,
new
TestExtensionEnablementService
(
instantiationService
));
const
workbenchService
:
IExtensionsWorkbenchService
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
set
(
IExtensionsWorkbenchService
,
workbenchService
);
const
onDidChangeExtensionsEmitter
:
Emitter
<
void
>
=
new
Emitter
<
void
>
();
instantiationService
.
stub
(
IExtensionService
,
<
Partial
<
IExtensionService
>>
{
getExtensions
:
()
=>
Promise
.
resolve
([]),
onDidChangeExtensions
:
onDidChangeExtensionsEmitter
.
event
,
canAddExtension
:
(
extension
)
=>
false
});
const
testObject
:
ExtensionsActions
.
ReloadAction
=
instantiationService
.
createInstance
(
ExtensionsActions
.
ReloadAction
);
instantiationService
.
createInstance
(
ExtensionContainers
,
[
testObject
]);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
gallery
));
await
workbenchService
.
queryGallery
(
CancellationToken
.
None
);
const
extensions
=
await
workbenchService
.
queryLocal
(
extensionManagementServerService
.
remoteExtensionManagementServer
!
);
testObject
.
extension
=
extensions
[
0
];
assert
.
ok
(
testObject
.
extension
);
assert
.
ok
(
!
testObject
.
enabled
);
const
localExtension
=
aLocalExtension
(
'
a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
'
pub.a
'
)
});
onDidInstallEvent
.
fire
({
identifier
:
localExtension
.
identifier
,
local
:
localExtension
,
operation
:
InstallOperation
.
Install
});
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
testObject
.
tooltip
,
'
Please reload Visual Studio Code to enable this extension.
'
);
});
//
test('Test ReloadAction when ui extension is disabled on remote server and installed in local server', async () => {
//
// multi server setup
//
const gallery = aGalleryExtension('a');
//
const localExtensionManagementService = createExtensionManagementService([]);
//
const onDidInstallEvent = new Emitter<DidInstallExtensionEvent>();
//
localExtensionManagementService.onDidInstallExtension = onDidInstallEvent.event;
//
const remoteExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a').with({ scheme: Schemas.vscodeRemote }) });
//
const extensionManagementServerService = aMultiExtensionManagementServerService(instantiationService, localExtensionManagementService, createExtensionManagementService([remoteExtension]));
//
instantiationService.stub(IExtensionManagementServerService, extensionManagementServerService);
//
instantiationService.stub(IExtensionEnablementService, new TestExtensionEnablementService(instantiationService));
//
const workbenchService: IExtensionsWorkbenchService = instantiationService.createInstance(ExtensionsWorkbenchService);
//
instantiationService.set(IExtensionsWorkbenchService, workbenchService);
//
const onDidChangeExtensionsEmitter: Emitter<void> = new Emitter<void>();
//
instantiationService.stub(IExtensionService, <Partial<IExtensionService>>{
//
getExtensions: () => Promise.resolve([]),
//
onDidChangeExtensions: onDidChangeExtensionsEmitter.event,
//
canAddExtension: (extension) => false
//
});
//
const testObject: ExtensionsActions.ReloadAction = instantiationService.createInstance(ExtensionsActions.ReloadAction);
//
instantiationService.createInstance(ExtensionContainers, [testObject]);
//
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(gallery));
//
await workbenchService.queryGallery(CancellationToken.None);
//
const extensions = await workbenchService.queryLocal(extensionManagementServerService.remoteExtensionManagementServer!);
//
testObject.extension = extensions[0];
//
assert.ok(testObject.extension);
//
assert.ok(!testObject.enabled);
//
const localExtension = aLocalExtension('a', { extensionKind: 'ui' }, { location: URI.file('pub.a') });
//
onDidInstallEvent.fire({ identifier: localExtension.identifier, local: localExtension, operation: InstallOperation.Install });
//
assert.ok(testObject.enabled);
//
assert.equal(testObject.tooltip, 'Please reload Visual Studio Code to enable this extension.');
//
});
test
(
'
Test remote install action is enabled for local workspace extension
'
,
async
()
=>
{
// multi server setup
...
...
@@ -1854,7 +1854,7 @@ suite('ExtensionsActions Test', () => {
assert
.
ok
(
!
testObject
.
enabled
);
});
test
(
'
Test local install action is
en
abled for remote ui extension
'
,
async
()
=>
{
test
(
'
Test local install action is
dis
abled for remote ui extension
'
,
async
()
=>
{
// multi server setup
const
remoteUIExtension
=
aLocalExtension
(
'
a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
`pub.a`
).
with
({
scheme
:
Schemas
.
vscodeRemote
})
});
const
extensionManagementServerService
=
aMultiExtensionManagementServerService
(
instantiationService
,
createExtensionManagementService
(),
createExtensionManagementService
([
remoteUIExtension
]));
...
...
@@ -1870,9 +1870,7 @@ suite('ExtensionsActions Test', () => {
const
extensions
=
await
workbenchService
.
queryLocal
(
extensionManagementServerService
.
remoteExtensionManagementServer
!
);
await
workbenchService
.
queryGallery
(
CancellationToken
.
None
);
testObject
.
extension
=
extensions
[
0
];
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
'
Install Locally
'
,
testObject
.
label
);
assert
.
equal
(
'
extension-action prominent install
'
,
testObject
.
class
);
assert
.
ok
(
!
testObject
.
enabled
);
});
test
(
'
Test local install action when installing remote ui extension
'
,
async
()
=>
{
...
...
@@ -1896,54 +1894,10 @@ suite('ExtensionsActions Test', () => {
const
extensions
=
await
workbenchService
.
queryLocal
(
extensionManagementServerService
.
remoteExtensionManagementServer
!
);
await
workbenchService
.
queryGallery
(
CancellationToken
.
None
);
testObject
.
extension
=
extensions
[
0
];
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
'
Install Locally
'
,
testObject
.
label
);
assert
.
equal
(
'
extension-action prominent install
'
,
testObject
.
class
);
onInstallExtension
.
fire
({
identifier
:
remoteUIExtension
.
identifier
,
gallery
});
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
'
Installing
'
,
testObject
.
label
);
assert
.
equal
(
'
extension-action install installing
'
,
testObject
.
class
);
});
test
(
'
Test local install action when installing remote ui extension is finished
'
,
async
()
=>
{
// multi server setup
const
localExtensionManagementService
:
IExtensionManagementService
=
createExtensionManagementService
();
const
onInstallExtension
=
new
Emitter
<
InstallExtensionEvent
>
();
localExtensionManagementService
.
onInstallExtension
=
onInstallExtension
.
event
;
const
onDidInstallEvent
=
new
Emitter
<
DidInstallExtensionEvent
>
();
localExtensionManagementService
.
onDidInstallExtension
=
onDidInstallEvent
.
event
;
const
remoteUIExtension
=
aLocalExtension
(
'
a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
`pub.a`
).
with
({
scheme
:
Schemas
.
vscodeRemote
})
});
const
extensionManagementServerService
=
aMultiExtensionManagementServerService
(
instantiationService
,
localExtensionManagementService
,
createExtensionManagementService
([
remoteUIExtension
]));
instantiationService
.
stub
(
IExtensionManagementServerService
,
extensionManagementServerService
);
instantiationService
.
stub
(
IExtensionEnablementService
,
new
TestExtensionEnablementService
(
instantiationService
));
const
workbenchService
:
IExtensionsWorkbenchService
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stub
(
IExtensionsWorkbenchService
,
workbenchService
,
'
open
'
,
undefined
);
instantiationService
.
set
(
IExtensionsWorkbenchService
,
workbenchService
);
const
gallery
=
aGalleryExtension
(
'
a
'
,
{
identifier
:
remoteUIExtension
.
identifier
});
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
gallery
));
const
testObject
:
ExtensionsActions
.
InstallAction
=
instantiationService
.
createInstance
(
ExtensionsActions
.
LocalInstallAction
);
instantiationService
.
createInstance
(
ExtensionContainers
,
[
testObject
]);
const
extensions
=
await
workbenchService
.
queryLocal
(
extensionManagementServerService
.
remoteExtensionManagementServer
!
);
await
workbenchService
.
queryGallery
(
CancellationToken
.
None
);
testObject
.
extension
=
extensions
[
0
];
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
'
Install Locally
'
,
testObject
.
label
);
assert
.
equal
(
'
extension-action prominent install
'
,
testObject
.
class
);
onInstallExtension
.
fire
({
identifier
:
remoteUIExtension
.
identifier
,
gallery
});
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
'
Installing
'
,
testObject
.
label
);
assert
.
equal
(
'
extension-action install installing
'
,
testObject
.
class
);
const
installedExtension
=
aLocalExtension
(
'
a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
`pub.a`
)
});
onDidInstallEvent
.
fire
({
identifier
:
installedExtension
.
identifier
,
local
:
installedExtension
,
operation
:
InstallOperation
.
Install
});
assert
.
ok
(
!
testObject
.
enabled
);
});
test
(
'
Test local install action is
enabled for disabled
remote ui extension
'
,
async
()
=>
{
test
(
'
Test local install action is
disabled for
remote ui extension
'
,
async
()
=>
{
// multi server setup
const
remoteUIExtension
=
aLocalExtension
(
'
a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
`pub.a`
).
with
({
scheme
:
Schemas
.
vscodeRemote
})
});
const
extensionManagementServerService
=
aMultiExtensionManagementServerService
(
instantiationService
,
createExtensionManagementService
(),
createExtensionManagementService
([
remoteUIExtension
]));
...
...
@@ -1960,9 +1914,7 @@ suite('ExtensionsActions Test', () => {
const
extensions
=
await
workbenchService
.
queryLocal
(
extensionManagementServerService
.
remoteExtensionManagementServer
!
);
await
workbenchService
.
queryGallery
(
CancellationToken
.
None
);
testObject
.
extension
=
extensions
[
0
];
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
'
Install Locally
'
,
testObject
.
label
);
assert
.
equal
(
'
extension-action prominent install
'
,
testObject
.
class
);
assert
.
ok
(
!
testObject
.
enabled
);
});
test
(
'
Test local install action is disabled when extension is not set
'
,
async
()
=>
{
...
...
@@ -2062,7 +2014,7 @@ suite('ExtensionsActions Test', () => {
assert
.
ok
(
!
testObject
.
enabled
);
});
test
(
'
Test local install action is disabled for remoteUI extension
if it is uninstalled locally
'
,
async
()
=>
{
test
(
'
Test local install action is disabled for remoteUI extension
'
,
async
()
=>
{
// multi server setup
const
extensionManagementService
=
instantiationService
.
get
(
IExtensionManagementService
);
const
extensionManagementServerService
=
aMultiExtensionManagementServerService
(
instantiationService
,
createExtensionManagementService
(),
extensionManagementService
);
...
...
@@ -2080,14 +2032,10 @@ suite('ExtensionsActions Test', () => {
const
extensions
=
await
workbenchService
.
queryLocal
(
extensionManagementServerService
.
remoteExtensionManagementServer
!
);
await
workbenchService
.
queryGallery
(
CancellationToken
.
None
);
testObject
.
extension
=
extensions
[
0
];
assert
.
ok
(
testObject
.
enabled
);
assert
.
equal
(
'
Install Locally
'
,
testObject
.
label
);
uninstallEvent
.
fire
(
remoteUIExtension
.
identifier
);
assert
.
ok
(
!
testObject
.
enabled
);
});
test
(
'
Test local install action is
enabled for remote UI extension if it has gallery
'
,
async
()
=>
{
test
(
'
Test local install action is
disabled for remote UI extension
'
,
async
()
=>
{
// multi server setup
const
remoteUIExtension
=
aLocalExtension
(
'
a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
`pub.a`
).
with
({
scheme
:
Schemas
.
vscodeRemote
})
});
const
extensionManagementServerService
=
aMultiExtensionManagementServerService
(
instantiationService
,
createExtensionManagementService
(),
createExtensionManagementService
([
remoteUIExtension
]));
...
...
@@ -2103,7 +2051,7 @@ suite('ExtensionsActions Test', () => {
const
extensions
=
await
workbenchService
.
queryLocal
(
extensionManagementServerService
.
remoteExtensionManagementServer
!
);
testObject
.
extension
=
extensions
[
0
];
assert
.
ok
(
testObject
.
extension
);
assert
.
ok
(
testObject
.
enabled
);
assert
.
ok
(
!
testObject
.
enabled
);
});
test
(
'
Test local install action is disabled for remote UI system extension
'
,
async
()
=>
{
...
...
src/vs/workbench/services/extensionManagement/test/electron-browser/extensionEnablementService.test.ts
浏览文件 @
748f6449
...
...
@@ -520,8 +520,8 @@ suite('ExtensionEnablementService Test', () => {
instantiationService
.
stub
(
IExtensionManagementServerService
,
aMultiExtensionManagementServerService
(
instantiationService
));
const
localWorkspaceExtension
=
aLocalExtension2
(
'
pub.a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
`pub.a`
).
with
({
scheme
:
Schemas
.
vscodeRemote
})
});
testObject
=
new
TestExtensionEnablementService
(
instantiationService
);
assert
.
ok
(
!
testObject
.
isEnabled
(
localWorkspaceExtension
));
assert
.
deepEqual
(
testObject
.
getEnablementState
(
localWorkspaceExtension
),
EnablementState
.
DisabledByExtensionKind
);
assert
.
ok
(
testObject
.
isEnabled
(
localWorkspaceExtension
));
assert
.
deepEqual
(
testObject
.
getEnablementState
(
localWorkspaceExtension
),
EnablementState
.
EnabledGlobally
);
});
test
(
'
test remote workspace extension is not disabled by kind
'
,
async
()
=>
{
...
...
@@ -536,7 +536,7 @@ suite('ExtensionEnablementService Test', () => {
instantiationService
.
stub
(
IExtensionManagementServerService
,
aMultiExtensionManagementServerService
(
instantiationService
));
const
localWorkspaceExtension
=
aLocalExtension2
(
'
pub.a
'
,
{
extensionKind
:
'
ui
'
},
{
location
:
URI
.
file
(
`pub.a`
).
with
({
scheme
:
Schemas
.
vscodeRemote
})
});
testObject
=
new
TestExtensionEnablementService
(
instantiationService
);
assert
.
equal
(
testObject
.
canChangeEnablement
(
localWorkspaceExtension
),
fals
e
);
assert
.
equal
(
testObject
.
canChangeEnablement
(
localWorkspaceExtension
),
tru
e
);
});
test
(
'
test canChangeEnablement return true for remote workspace extension
'
,
()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录