Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7423b776
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,发现更多精彩内容 >>
提交
7423b776
编写于
12月 01, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
link up errors in tests to promises
上级
c751c0cd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
59 deletion
+43
-59
src/vs/workbench/parts/extensions/test/electron-browser/extensionsWorkbenchService.test.ts
.../test/electron-browser/extensionsWorkbenchService.test.ts
+43
-59
未找到文件。
src/vs/workbench/parts/extensions/test/electron-browser/extensionsWorkbenchService.test.ts
浏览文件 @
7423b776
...
...
@@ -9,6 +9,7 @@ import * as sinon from 'sinon';
import
*
as
assert
from
'
assert
'
;
import
*
as
fs
from
'
fs
'
;
import
{
assign
}
from
'
vs/base/common/objects
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
generateUuid
}
from
'
vs/base/common/uuid
'
;
import
{
IExtensionsWorkbenchService
,
ExtensionState
}
from
'
vs/workbench/parts/extensions/common/extensions
'
;
import
{
ExtensionsWorkbenchService
}
from
'
vs/workbench/parts/extensions/node/extensionsWorkbenchService
'
;
...
...
@@ -70,7 +71,7 @@ suite('ExtensionsWorkbenchService Test', () => {
(
<
ExtensionsWorkbenchService
>
testObject
).
dispose
();
});
test
(
'
test gallery extension
'
,
(
done
)
=>
{
test
(
'
test gallery extension
'
,
()
=>
{
const
expected
=
aGalleryExtension
(
'
expectedName
'
,
{
displayName
:
'
expectedDisplayName
'
,
version
:
'
1.5
'
,
...
...
@@ -92,9 +93,11 @@ suite('ExtensionsWorkbenchService Test', () => {
iconFallback
:
'
expectedIconFallback
'
,
license
:
'
expectedLicense
'
});
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
expected
));
testObject
.
queryGallery
().
done
(
pagedResponse
=>
{
return
testObject
.
queryGallery
().
then
(
pagedResponse
=>
{
assert
.
equal
(
1
,
pagedResponse
.
firstPage
.
length
);
const
actual
=
pagedResponse
.
firstPage
[
0
];
...
...
@@ -116,7 +119,6 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
100
,
actual
.
ratingCount
);
assert
.
equal
(
false
,
actual
.
outdated
);
assert
.
deepEqual
([
'
pub.1
'
,
'
pub.2
'
],
actual
.
dependencies
);
done
();
});
});
...
...
@@ -194,7 +196,7 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
deepEqual
([],
actual
.
dependencies
);
});
test
(
'
test installed extensions get syncs with gallery
'
,
(
done
)
=>
{
test
(
'
test installed extensions get syncs with gallery
'
,
()
=>
{
const
local1
=
aLocalExtension
(
'
local1
'
,
{
publisher
:
'
localPublisher1
'
,
version
:
'
1.1.0
'
,
...
...
@@ -244,7 +246,7 @@ suite('ExtensionsWorkbenchService Test', () => {
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
gallery1
));
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
listenAfter
(
testObject
.
onChange
)
(()
=>
{
return
eventToPromise
(
testObject
.
onChange
).
then
(()
=>
{
const
actuals
=
testObject
.
local
;
assert
.
equal
(
2
,
actuals
.
length
);
...
...
@@ -284,16 +286,15 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
null
,
actual
.
ratingCount
);
assert
.
equal
(
false
,
actual
.
outdated
);
assert
.
deepEqual
([],
actual
.
dependencies
);
done
();
});
});
test
(
'
test extension state computation
'
,
(
done
)
=>
{
test
(
'
test extension state computation
'
,
()
=>
{
const
gallery
=
aGalleryExtension
(
'
gallery1
'
);
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
gallery
));
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
assert
.
equal
(
ExtensionState
.
Uninstalled
,
extension
.
state
);
...
...
@@ -323,7 +324,6 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
ExtensionState
.
Uninstalled
,
actual
.
state
);
assert
.
equal
(
0
,
testObject
.
local
.
length
);
done
();
});
});
...
...
@@ -348,26 +348,25 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
ok
(
!
testObject
.
canInstall
(
target
));
});
test
(
'
test canInstall returns true for extensions with gallery
'
,
(
done
)
=>
{
test
(
'
test canInstall returns true for extensions with gallery
'
,
()
=>
{
const
local
=
aLocalExtension
(
'
a
'
,
{
version
:
'
1.0.1
'
},
{
type
:
LocalExtensionType
.
System
});
instantiationService
.
stubPromise
(
IExtensionManagementService
,
'
getInstalled
'
,
[
local
]);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
aGalleryExtension
(
local
.
manifest
.
name
,
{
id
:
local
.
id
})));
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
const
target
=
testObject
.
local
[
0
];
listenAfter
(
testObject
.
onChange
)
(()
=>
{
return
eventToPromise
(
testObject
.
onChange
).
then
(()
=>
{
assert
.
ok
(
testObject
.
canInstall
(
target
));
done
();
});
});
test
(
'
test onchange event is triggered while installing
'
,
(
done
)
=>
{
test
(
'
test onchange event is triggered while installing
'
,
()
=>
{
const
gallery
=
aGalleryExtension
(
'
gallery1
'
);
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
gallery
));
const
target
=
sinon
.
spy
();
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
assert
.
equal
(
ExtensionState
.
Uninstalled
,
extension
.
state
);
...
...
@@ -379,17 +378,16 @@ suite('ExtensionsWorkbenchService Test', () => {
didInstallEvent
.
fire
({
id
:
gallery
.
id
,
gallery
,
local
:
aLocalExtension
(
gallery
.
name
,
gallery
,
gallery
)
});
assert
.
ok
(
target
.
calledOnce
);
done
();
});
});
test
(
'
test onchange event is triggered when installation is finished
'
,
(
done
)
=>
{
test
(
'
test onchange event is triggered when installation is finished
'
,
()
=>
{
const
gallery
=
aGalleryExtension
(
'
gallery1
'
);
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
gallery
));
const
target
=
sinon
.
spy
();
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
assert
.
equal
(
ExtensionState
.
Uninstalled
,
extension
.
state
);
...
...
@@ -400,7 +398,6 @@ suite('ExtensionsWorkbenchService Test', () => {
installEvent
.
fire
({
id
:
gallery
.
id
,
gallery
});
assert
.
ok
(
target
.
calledOnce
);
done
();
});
});
...
...
@@ -431,26 +428,25 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
ok
(
target
.
calledOnce
);
});
test
(
'
test extension dependencies when empty
'
,
(
done
)
=>
{
test
(
'
test extension dependencies when empty
'
,
()
=>
{
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
aGalleryExtension
(
'
a
'
)));
testObject
.
queryGallery
().
done
(
page
=>
{
testObject
.
loadDependencies
(
page
.
firstPage
[
0
]).
done
(
dependencies
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
return
testObject
.
loadDependencies
(
page
.
firstPage
[
0
]).
then
(
dependencies
=>
{
assert
.
equal
(
null
,
dependencies
);
done
();
});
});
});
test
(
'
test one level extension dependencies without cycle
'
,
(
done
)
=>
{
test
(
'
test one level extension dependencies without cycle
'
,
()
=>
{
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
aGalleryExtension
(
'
a
'
,
{},
{
dependencies
:
[
'
pub.b
'
,
'
pub.c
'
,
'
pub.d
'
]
})));
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
getAllDependencies
'
,
[
aGalleryExtension
(
'
b
'
),
aGalleryExtension
(
'
c
'
),
aGalleryExtension
(
'
d
'
)]);
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
testObject
.
loadDependencies
(
extension
).
done
(
actual
=>
{
return
testObject
.
loadDependencies
(
extension
).
then
(
actual
=>
{
assert
.
ok
(
actual
.
hasDependencies
);
assert
.
equal
(
extension
,
actual
.
extension
);
assert
.
equal
(
null
,
actual
.
dependent
);
...
...
@@ -478,19 +474,18 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
'
pub.d
'
,
actual
.
identifier
);
assert
.
equal
(
dependent
,
actual
.
dependent
);
assert
.
equal
(
0
,
actual
.
dependencies
.
length
);
done
();
});
});
});
test
(
'
test one level extension dependencies with cycle
'
,
(
done
)
=>
{
test
(
'
test one level extension dependencies with cycle
'
,
()
=>
{
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
aGalleryExtension
(
'
a
'
,
{},
{
dependencies
:
[
'
pub.b
'
,
'
pub.a
'
]
})));
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
getAllDependencies
'
,
[
aGalleryExtension
(
'
b
'
),
aGalleryExtension
(
'
a
'
)]);
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
testObject
.
loadDependencies
(
extension
).
done
(
actual
=>
{
return
testObject
.
loadDependencies
(
extension
).
then
(
actual
=>
{
assert
.
ok
(
actual
.
hasDependencies
);
assert
.
equal
(
extension
,
actual
.
extension
);
assert
.
equal
(
null
,
actual
.
dependent
);
...
...
@@ -511,20 +506,18 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
'
pub.a
'
,
actual
.
identifier
);
assert
.
equal
(
dependent
,
actual
.
dependent
);
assert
.
equal
(
0
,
actual
.
dependencies
.
length
);
done
();
});
});
});
test
(
'
test one level extension dependencies with missing dependencies
'
,
(
done
)
=>
{
test
(
'
test one level extension dependencies with missing dependencies
'
,
()
=>
{
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
aGalleryExtension
(
'
a
'
,
{},
{
dependencies
:
[
'
pub.b
'
,
'
pub.a
'
]
})));
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
getAllDependencies
'
,
[
aGalleryExtension
(
'
a
'
)]);
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
testObject
.
loadDependencies
(
extension
).
done
(
actual
=>
{
return
testObject
.
loadDependencies
(
extension
).
then
(
actual
=>
{
assert
.
ok
(
actual
.
hasDependencies
);
assert
.
equal
(
extension
,
actual
.
extension
);
assert
.
equal
(
null
,
actual
.
dependent
);
...
...
@@ -545,22 +538,20 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
'
pub.a
'
,
actual
.
identifier
);
assert
.
equal
(
dependent
,
actual
.
dependent
);
assert
.
equal
(
0
,
actual
.
dependencies
.
length
);
done
();
});
});
});
test
(
'
test one level extension dependencies with in built dependencies
'
,
(
done
)
=>
{
test
(
'
test one level extension dependencies with in built dependencies
'
,
()
=>
{
const
local
=
aLocalExtension
(
'
inbuilt
'
,
{},
{
type
:
LocalExtensionType
.
System
});
instantiationService
.
stubPromise
(
IExtensionManagementService
,
'
getInstalled
'
,
[
local
]);
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
aGalleryExtension
(
'
a
'
,
{},
{
dependencies
:
[
'
pub.inbuilt
'
,
'
pub.a
'
]
})));
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
getAllDependencies
'
,
[
aGalleryExtension
(
'
a
'
)]);
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
testObject
.
loadDependencies
(
extension
).
done
(
actual
=>
{
return
testObject
.
loadDependencies
(
extension
).
then
(
actual
=>
{
assert
.
ok
(
actual
.
hasDependencies
);
assert
.
equal
(
extension
,
actual
.
extension
);
assert
.
equal
(
null
,
actual
.
dependent
);
...
...
@@ -582,13 +573,11 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
'
pub.a
'
,
actual
.
identifier
);
assert
.
equal
(
dependent
,
actual
.
dependent
);
assert
.
equal
(
0
,
actual
.
dependencies
.
length
);
done
();
});
});
});
test
(
'
test more than one level of extension dependencies
'
,
(
done
)
=>
{
test
(
'
test more than one level of extension dependencies
'
,
()
=>
{
const
local
=
aLocalExtension
(
'
c
'
,
{
extensionDependencies
:
[
'
pub.d
'
]
},
{
type
:
LocalExtensionType
.
System
});
instantiationService
.
stubPromise
(
IExtensionManagementService
,
'
getInstalled
'
,
[
local
]);
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
...
...
@@ -598,9 +587,9 @@ suite('ExtensionsWorkbenchService Test', () => {
aGalleryExtension
(
'
d
'
,
{},
{
dependencies
:
[
'
pub.f
'
,
'
pub.c
'
]
}),
aGalleryExtension
(
'
e
'
)]);
testObject
.
queryGallery
().
done
(
page
=>
{
return
testObject
.
queryGallery
().
then
(
page
=>
{
const
extension
=
page
.
firstPage
[
0
];
testObject
.
loadDependencies
(
extension
).
done
(
a
=>
{
return
testObject
.
loadDependencies
(
extension
).
then
(
a
=>
{
assert
.
ok
(
a
.
hasDependencies
);
assert
.
equal
(
extension
,
a
.
extension
);
assert
.
equal
(
null
,
a
.
dependent
);
...
...
@@ -677,25 +666,21 @@ suite('ExtensionsWorkbenchService Test', () => {
assert
.
equal
(
'
pub.c
'
,
c
.
identifier
);
assert
.
equal
(
d
,
c
.
dependent
);
assert
.
equal
(
0
,
c
.
dependencies
.
length
);
done
();
});
});
});
test
(
'
test disabled flags are false for uninstalled extension
'
,
(
done
)
=>
{
test
(
'
test disabled flags are false for uninstalled extension
'
,
()
=>
{
instantiationService
.
get
(
IExtensionEnablementService
).
setEnablement
(
'
pub.b
'
,
false
);
instantiationService
.
get
(
IExtensionEnablementService
).
setEnablement
(
'
pub.c
'
,
false
,
true
);
testObject
=
instantiationService
.
createInstance
(
ExtensionsWorkbenchService
);
instantiationService
.
stubPromise
(
IExtensionGalleryService
,
'
query
'
,
aPage
(
aGalleryExtension
(
'
a
'
)));
testObject
.
queryGallery
().
done
(
pagedResponse
=>
{
return
testObject
.
queryGallery
().
then
(
pagedResponse
=>
{
const
actual
=
pagedResponse
.
firstPage
[
0
];
assert
.
ok
(
!
actual
.
disabledForWorkspace
);
assert
.
ok
(
!
actual
.
disabledGlobally
);
done
();
});
});
test
(
'
test disabled flags are false for installed enabled extension
'
,
()
=>
{
...
...
@@ -845,15 +830,14 @@ suite('ExtensionsWorkbenchService Test', () => {
return
{
firstPage
:
objects
,
total
:
objects
.
length
,
pageSize
:
objects
.
length
,
getPage
:
()
=>
null
};
}
function
listenAfter
(
event
:
Event
<
any
>
,
count
:
number
=
1
):
Event
<
any
>
{
let
counter
=
0
;
const
emitter
=
new
Emitter
<
any
>
()
;
event
(()
=>
{
if
(
++
counter
===
count
)
{
emitter
.
fire
(
);
emitter
.
dispose
();
}
function
eventToPromise
(
event
:
Event
<
any
>
,
count
:
number
=
1
):
TPromise
<
void
>
{
return
new
TPromise
<
void
>
(
c
=>
{
let
counter
=
0
;
event
(()
=>
{
if
(
++
counter
===
count
)
{
c
(
null
);
}
}
);
});
return
emitter
.
event
;
}
});
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录