diff --git a/packages/devui-vue/devui/menu/__tests__/menu.spec.ts b/packages/devui-vue/devui/menu/__tests__/menu.spec.ts
index 7a11d9fbd8..6ca2031f8a 100644
--- a/packages/devui-vue/devui/menu/__tests__/menu.spec.ts
+++ b/packages/devui-vue/devui/menu/__tests__/menu.spec.ts
@@ -15,6 +15,7 @@ const dotMenuItemVerticalWrapper = dotNs.b() + '-item-vertical-wrapper';
const dotSubMenu = dotSubNs.b();
const submenuDisabled = SubNs.b() + '-disabled';
const menuitemDisabled = ns.b() + '-item-disabled';
+const dotMenuItemSelect = dotNs.b() + '-item-select';
// fix: TypeError: Array.from(...).at is not a function
!Array.prototype.at && (Array.prototype.at = function at (n) {
@@ -151,13 +152,74 @@ describe('menu test', () => {
expect(wrapper.findAll('i')[0].classes().includes('is-opened')).toBe(true);
expect(wrapper.findAll('i')[1].classes().includes('is-opened')).toBe(false);
});
- it.todo('props mode(vertical/horizontal) work well.');
-
- it.todo('props multiple work well.');
+ it('props mode(vertical/horizontal) work well.', async () => {
+ wrapper = mount({
+ components: {
+ 'd-menu': Menu,
+ 'd-menu-item': MenuItem,
+ },
+ template: `
+
+ 首页
+ 个人
+ Link To Baidu
+
+ `,
+ });
+ await wrapper.setProps({
+ mode: 'horizontal',
+ });
+ expect(wrapper.classes().includes(menuHorizontal)).toBe(true);
+ await wrapper.setProps({
+ mode: 'vertical',
+ });
+ expect(wrapper.classes().includes(menuVertical)).toBe(true);
+ wrapper.unmount();
+ });
- it.todo('props collapsed-indent work well.');
+ it('props multiple work well.', async () => {
+ wrapper = mount({
+ components: {
+ 'd-menu': Menu,
+ 'd-menu-item': MenuItem,
+ },
+ template: `
+
+ 首页
+ 个人
+ Link To Baidu
+
+ `,
+ });
+ wrapper.findAll(dotMenuItem)[0].trigger('click');
+ await nextTick();
+ expect(wrapper.findAll(dotMenuItemSelect)).toHaveLength(1);
+ wrapper.findAll(dotMenuItem)[1].trigger('click');
+ await nextTick();
+ expect(wrapper.findAll(dotMenuItemSelect)).toHaveLength(2);
+ wrapper.findAll(dotMenuItem)[2].trigger('click');
+ await nextTick();
+ expect(wrapper.findAll(dotMenuItemSelect)).toHaveLength(3);
+ wrapper.unmount();
+ });
- it.todo('props disabled work well.');
+ it('props collapsed-indent work well.', async () => {
+ wrapper = mount({
+ components: {
+ 'd-menu': Menu,
+ 'd-menu-item': MenuItem,
+ },
+ template: `
+
+ 首页
+ 个人
+ Link To Baidu
+
+ `,
+ });
+ expect(wrapper.attributes('style')).toContain('width: 96px');
+ wrapper.unmount();
+ });
it.todo('props router work well.');