Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7120fe07
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,体验更适合开发者的 AI 搜索 >>
提交
7120fe07
编写于
11月 13, 2017
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Tests #38215
上级
e505bbd3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
140 addition
and
17 deletion
+140
-17
src/vs/workbench/services/configuration/test/node/configurationService.test.ts
...ices/configuration/test/node/configurationService.test.ts
+140
-17
未找到文件。
src/vs/workbench/services/configuration/test/node/configurationService.test.ts
浏览文件 @
7120fe07
...
...
@@ -32,6 +32,7 @@ import { ITextModelService } from 'vs/editor/common/services/resolverService';
import
{
TextModelResolverService
}
from
'
vs/workbench/services/textmodelResolver/common/textModelResolverService
'
;
import
{
IJSONEditingService
}
from
'
vs/workbench/services/configuration/common/jsonEditing
'
;
import
{
JSONEditingService
}
from
'
vs/workbench/services/configuration/node/jsonEditingService
'
;
import
{
IWorkspaceConfigurationService
}
from
'
vs/workbench/services/configuration/common/configuration
'
;
class
SettingsTestEnvironmentService
extends
EnvironmentService
{
...
...
@@ -296,7 +297,7 @@ suite('WorkspaceContextService - Workspace', () => {
suite
(
'
WorkspaceConfigurationService - Folder
'
,
()
=>
{
let
workspaceName
=
`testWorkspace
${
uuid
.
generateUuid
()}
`
,
parentResource
:
string
,
workspaceDir
:
string
,
testObject
:
IConfigurationService
,
globalSettingsFile
:
string
;
let
workspaceName
=
`testWorkspace
${
uuid
.
generateUuid
()}
`
,
parentResource
:
string
,
workspaceDir
:
string
,
testObject
:
I
Workspace
ConfigurationService
,
globalSettingsFile
:
string
;
const
configurationRegistry
=
<
IConfigurationRegistry
>
Registry
.
as
(
ConfigurationExtensions
.
Configuration
);
suiteSetup
(()
=>
{
...
...
@@ -383,19 +384,22 @@ suite('WorkspaceConfigurationService - Folder', () => {
test
(
'
workspace settings override user settings after defaults are registered
'
,
()
=>
{
fs
.
writeFileSync
(
globalSettingsFile
,
'
{ "configurationService.folder.newSetting": "userValue" }
'
);
fs
.
writeFileSync
(
path
.
join
(
workspaceDir
,
'
.vscode
'
,
'
settings.json
'
),
'
{ "configurationService.folder.newSetting": "workspaceValue" }
'
);
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
'
properties
'
:
{
'
configurationService.folder.newSetting
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
}
}
});
return
testObject
.
reloadConfiguration
()
.
then
(()
=>
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.folder.newSetting
'
),
'
workspaceValue
'
));
.
then
(()
=>
{
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
'
properties
'
:
{
'
configurationService.folder.newSetting
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
}
}
});
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.folder.newSetting
'
),
'
workspaceValue
'
);
});
});
test
(
'
executable settings are not read from workspace
'
,
()
=>
{
...
...
@@ -405,6 +409,31 @@ suite('WorkspaceConfigurationService - Folder', () => {
.
then
(()
=>
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.folder.executableSetting
'
),
'
userValue
'
));
});
test
(
'
get unsupported workspace settings
'
,
()
=>
{
fs
.
writeFileSync
(
path
.
join
(
workspaceDir
,
'
.vscode
'
,
'
settings.json
'
),
'
{ "configurationService.folder.executableSetting": "workspaceValue" }
'
);
return
testObject
.
reloadConfiguration
()
.
then
(()
=>
assert
.
deepEqual
(
testObject
.
getUnsupportedWorkspaceKeys
(),
[
'
configurationService.folder.executableSetting
'
]));
});
test
(
'
get unsupported workspace settings after defaults are registered
'
,
()
=>
{
fs
.
writeFileSync
(
path
.
join
(
workspaceDir
,
'
.vscode
'
,
'
settings.json
'
),
'
{ "configurationService.folder.anotherExecutableSetting": "workspaceValue" }
'
);
return
testObject
.
reloadConfiguration
()
.
then
(()
=>
{
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
'
properties
'
:
{
'
configurationService.folder.anotherExecutableSetting
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
,
isExecutable
:
true
}
}
});
assert
.
deepEqual
(
testObject
.
getUnsupportedWorkspaceKeys
(),
[
'
configurationService.folder.anotherExecutableSetting
'
]);
});
});
test
(
'
workspace change triggers event
'
,
()
=>
{
const
settingsFile
=
path
.
join
(
workspaceDir
,
'
.vscode
'
,
'
settings.json
'
);
fs
.
writeFileSync
(
settingsFile
,
'
{ "configurationService.folder.testSetting": "workspaceValue" }
'
);
...
...
@@ -580,12 +609,12 @@ suite('WorkspaceConfigurationService - Folder', () => {
});
});
suite
(
'
WorkspaceConfigurationService -
Update (Multiroot)
'
,
()
=>
{
suite
(
'
WorkspaceConfigurationService -
Multiroot
'
,
()
=>
{
let
parentResource
:
string
,
workspaceContextService
:
IWorkspaceContextService
,
jsonEditingServce
:
IJSONEditingService
,
testObject
:
IConfigurationService
;
let
parentResource
:
string
,
workspaceContextService
:
IWorkspaceContextService
,
environmentService
:
IEnvironmentService
,
jsonEditingServce
:
IJSONEditingService
,
testObject
:
IWorkspaceConfigurationService
;
const
configurationRegistry
=
<
IConfigurationRegistry
>
Registry
.
as
(
ConfigurationExtensions
.
Configuration
);
suiteSetup
(()
=>
{
const
configurationRegistry
=
<
IConfigurationRegistry
>
Registry
.
as
(
ConfigurationExtensions
.
Configuration
);
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
...
...
@@ -598,6 +627,17 @@ suite('WorkspaceConfigurationService - Update (Multiroot)', () => {
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
,
scope
:
ConfigurationScope
.
RESOURCE
},
'
configurationService.workspace.testExecutableSetting
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
,
isExecutable
:
true
},
'
configurationService.workspace.testExecutableResourceSetting
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
,
isExecutable
:
true
,
scope
:
ConfigurationScope
.
RESOURCE
}
}
});
...
...
@@ -609,7 +649,7 @@ suite('WorkspaceConfigurationService - Update (Multiroot)', () => {
parentResource
=
parentDir
;
const
environmentService
=
new
SettingsTestEnvironmentService
(
parseArgs
(
process
.
argv
),
process
.
execPath
,
path
.
join
(
parentDir
,
'
settings.json
'
));
environmentService
=
new
SettingsTestEnvironmentService
(
parseArgs
(
process
.
argv
),
process
.
execPath
,
path
.
join
(
parentDir
,
'
settings.json
'
));
const
workspaceService
=
new
WorkspaceService
(
environmentService
);
const
instantiationService
=
<
TestInstantiationService
>
workbenchInstantiationService
();
...
...
@@ -640,6 +680,89 @@ suite('WorkspaceConfigurationService - Update (Multiroot)', () => {
}
});
test
(
'
executable settings are not read from workspace
'
,
()
=>
{
fs
.
writeFileSync
(
environmentService
.
appSettingsPath
,
'
{ "configurationService.workspace.testExecutableSetting": "userValue" }
'
);
return
jsonEditingServce
.
write
(
workspaceContextService
.
getWorkspace
().
configuration
,
{
key
:
'
settings
'
,
value
:
{
'
configurationService.workspace.testExecutableSetting
'
:
'
workspaceValue
'
}
},
true
)
.
then
(()
=>
testObject
.
reloadConfiguration
())
.
then
(()
=>
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.workspace.testExecutableSetting
'
),
'
userValue
'
));
});
test
(
'
executable settings are not read from workspace folder
'
,
()
=>
{
fs
.
writeFileSync
(
environmentService
.
appSettingsPath
,
'
{ "configurationService.workspace.testExecutableResourceSetting": "userValue" }
'
);
fs
.
writeFileSync
(
workspaceContextService
.
getWorkspace
().
folders
[
0
].
toResource
(
'
.vscode/settings.json
'
).
fsPath
,
'
{ "configurationService.workspace.testExecutableResourceSetting": "workspaceFolderValue" }
'
);
return
testObject
.
reloadConfiguration
()
.
then
(()
=>
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.workspace.testExecutableResourceSetting
'
,
{
resource
:
workspaceContextService
.
getWorkspace
().
folders
[
0
].
uri
}),
'
userValue
'
));
});
test
(
'
get unsupported workspace settings
'
,
()
=>
{
fs
.
writeFileSync
(
workspaceContextService
.
getWorkspace
().
folders
[
0
].
toResource
(
'
.vscode/settings.json
'
).
fsPath
,
'
{ "configurationService.workspace.testExecutableResourceSetting": "workspaceFolderValue" }
'
);
return
jsonEditingServce
.
write
(
workspaceContextService
.
getWorkspace
().
configuration
,
{
key
:
'
settings
'
,
value
:
{
'
configurationService.workspace.testExecutableSetting
'
:
'
workspaceValue
'
}
},
true
)
.
then
(()
=>
testObject
.
reloadConfiguration
())
.
then
(()
=>
assert
.
deepEqual
(
testObject
.
getUnsupportedWorkspaceKeys
(),
[
'
configurationService.workspace.testExecutableSetting
'
,
'
configurationService.workspace.testExecutableResourceSetting
'
]));
});
test
(
'
workspace settings override user settings after defaults are registered
'
,
()
=>
{
fs
.
writeFileSync
(
environmentService
.
appSettingsPath
,
'
{ "configurationService.workspace.newSetting": "userValue" }
'
);
return
jsonEditingServce
.
write
(
workspaceContextService
.
getWorkspace
().
configuration
,
{
key
:
'
settings
'
,
value
:
{
'
configurationService.workspace.newSetting
'
:
'
workspaceValue
'
}
},
true
)
.
then
(()
=>
testObject
.
reloadConfiguration
())
.
then
(()
=>
{
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
'
properties
'
:
{
'
configurationService.workspace.newSetting
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
}
}
});
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.workspace.newSetting
'
),
'
workspaceValue
'
);
});
});
test
(
'
executable settings are not read from workspace folder after defaults are registered
'
,
()
=>
{
fs
.
writeFileSync
(
environmentService
.
appSettingsPath
,
'
{ "configurationService.workspace.testNewExecutableResourceSetting": "userValue" }
'
);
fs
.
writeFileSync
(
workspaceContextService
.
getWorkspace
().
folders
[
0
].
toResource
(
'
.vscode/settings.json
'
).
fsPath
,
'
{ "configurationService.workspace.testNewExecutableResourceSetting": "workspaceFolderValue" }
'
);
return
testObject
.
reloadConfiguration
()
.
then
(()
=>
{
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
'
properties
'
:
{
'
configurationService.workspace.testNewExecutableResourceSetting
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
,
isExecutable
:
true
,
scope
:
ConfigurationScope
.
RESOURCE
}
}
});
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.workspace.testNewExecutableResourceSetting
'
,
{
resource
:
workspaceContextService
.
getWorkspace
().
folders
[
0
].
uri
}),
'
userValue
'
);
});
});
test
(
'
get unsupported workspace settings after defaults are registered
'
,
()
=>
{
fs
.
writeFileSync
(
workspaceContextService
.
getWorkspace
().
folders
[
0
].
toResource
(
'
.vscode/settings.json
'
).
fsPath
,
'
{ "configurationService.workspace.testNewExecutableResourceSetting2": "workspaceFolderValue" }
'
);
return
jsonEditingServce
.
write
(
workspaceContextService
.
getWorkspace
().
configuration
,
{
key
:
'
settings
'
,
value
:
{
'
configurationService.workspace.testExecutableSetting
'
:
'
workspaceValue
'
}
},
true
)
.
then
(()
=>
testObject
.
reloadConfiguration
())
.
then
(()
=>
{
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
'
properties
'
:
{
'
configurationService.workspace.testNewExecutableResourceSetting2
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
,
isExecutable
:
true
,
scope
:
ConfigurationScope
.
RESOURCE
}
}
});
assert
.
deepEqual
(
testObject
.
getUnsupportedWorkspaceKeys
(),
[
'
configurationService.workspace.testExecutableSetting
'
,
'
configurationService.workspace.testNewExecutableResourceSetting2
'
]);
});
});
test
(
'
update user configuration
'
,
()
=>
{
return
testObject
.
updateValue
(
'
configurationService.workspace.testSetting
'
,
'
userValue
'
,
ConfigurationTarget
.
USER
)
.
then
(()
=>
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.workspace.testSetting
'
),
'
userValue
'
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录