Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
e36fd298
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e36fd298
编写于
7月 25, 2016
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add tests menu service, for #9153
上级
1f1e682c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
101 addition
and
4 deletion
+101
-4
src/vs/platform/actions/common/actions.ts
src/vs/platform/actions/common/actions.ts
+12
-4
src/vs/platform/actions/test/common/menuService.test.ts
src/vs/platform/actions/test/common/menuService.test.ts
+89
-0
未找到文件。
src/vs/platform/actions/common/actions.ts
浏览文件 @
e36fd298
...
...
@@ -56,7 +56,7 @@ export interface IMenuRegistry {
commands
:
{
[
id
:
string
]:
ICommandAction
};
addCommand
(
userCommand
:
ICommandAction
):
boolean
;
getCommand
(
id
:
string
):
ICommandAction
;
appendMenuItem
(
menu
:
MenuId
,
item
:
IMenuItem
):
void
;
appendMenuItem
(
menu
:
MenuId
,
item
:
IMenuItem
):
IDisposable
;
getMenuItems
(
loc
:
MenuId
):
IMenuItem
[];
}
...
...
@@ -76,13 +76,21 @@ export const MenuRegistry: IMenuRegistry = new class {
return
this
.
commands
[
id
];
}
appendMenuItem
(
loc
:
MenuId
,
item
s
:
IMenuItem
):
void
{
appendMenuItem
(
loc
:
MenuId
,
item
:
IMenuItem
):
IDisposable
{
let
array
=
this
.
menuItems
[
loc
];
if
(
!
array
)
{
this
.
menuItems
[
loc
]
=
[
items
];
this
.
menuItems
[
loc
]
=
array
=
[
item
];
}
else
{
array
.
push
(
item
s
);
array
.
push
(
item
);
}
return
{
dispose
()
{
const
idx
=
array
.
indexOf
(
item
);
if
(
idx
>=
0
)
{
array
.
splice
(
idx
,
1
);
}
}
};
}
getMenuItems
(
loc
:
MenuId
):
IMenuItem
[]
{
...
...
src/vs/platform/actions/test/common/menuService.test.ts
0 → 100644
浏览文件 @
e36fd298
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
{
MenuRegistry
,
MenuId
}
from
'
vs/platform/actions/common/actions
'
;
import
{
MenuService
}
from
'
vs/platform/actions/common/menuService
'
;
import
{
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
NullCommandService
}
from
'
vs/platform/commands/common/commands
'
;
import
{
MockKeybindingService
}
from
'
vs/platform/keybinding/test/common/mockKeybindingService
'
;
import
{
AbstractExtensionService
,
ActivatedExtension
}
from
'
vs/platform/extensions/common/abstractExtensionService
'
;
const
extensionService
=
new
class
extends
AbstractExtensionService
<
ActivatedExtension
>
{
constructor
()
{
super
(
true
);
}
protected
_showMessage
():
void
{
console
.
log
(
arguments
);
}
protected
_createFailedExtension
()
{
return
null
;
}
protected
_actualActivateExtension
()
{
return
null
;
}
};
const
keybindingService
=
new
class
extends
MockKeybindingService
{
contextMatchesRules
()
{
return
true
;
}
};
suite
(
'
MenuService
'
,
function
()
{
let
menuService
:
MenuService
;
let
disposables
:
IDisposable
[];
setup
(
function
()
{
menuService
=
new
MenuService
(
extensionService
,
NullCommandService
);
disposables
=
[];
});
teardown
(
function
()
{
dispose
(
disposables
);
});
test
(
'
group sorting
'
,
function
()
{
disposables
.
push
(
MenuRegistry
.
appendMenuItem
(
MenuId
.
ExplorerContext
,
{
command
:
{
id
:
'
one
'
,
title
:
'
FOO
'
},
group
:
'
0_hello
'
}));
disposables
.
push
(
MenuRegistry
.
appendMenuItem
(
MenuId
.
ExplorerContext
,
{
command
:
{
id
:
'
two
'
,
title
:
'
FOO
'
},
group
:
'
Hello
'
}));
disposables
.
push
(
MenuRegistry
.
appendMenuItem
(
MenuId
.
ExplorerContext
,
{
command
:
{
id
:
'
three
'
,
title
:
'
FOO
'
},
group
:
''
}));
disposables
.
push
(
MenuRegistry
.
appendMenuItem
(
MenuId
.
ExplorerContext
,
{
command
:
{
id
:
'
four
'
,
title
:
'
FOO
'
},
group
:
'
navigation
'
}));
const
groups
=
menuService
.
createMenu
(
MenuId
.
ExplorerContext
,
keybindingService
).
getActions
();
assert
.
equal
(
groups
.
length
,
4
);
const
[
one
,
two
,
three
,
four
]
=
groups
;
assert
.
equal
(
one
[
0
],
'
navigation
'
);
assert
.
equal
(
two
[
0
],
'
0_hello
'
);
assert
.
equal
(
three
[
0
],
'
Hello
'
);
assert
.
equal
(
four
[
0
],
''
);
});
});
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录