|
@@ -27,133 +27,165 @@ describe('Menu', () => {
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
- it('default active', done => {
|
|
|
- vm = createVue({
|
|
|
- template: `
|
|
|
- <el-menu default-active="2">
|
|
|
- <el-menu-item index="1" ref="item1">处理中心</el-menu-item>
|
|
|
- <el-menu-item index="2" ref="item2">订单管理</el-menu-item>
|
|
|
- </el-menu>
|
|
|
- `
|
|
|
- }, true);
|
|
|
- expect(vm.$refs.item2.$el.classList.contains('is-active')).to.be.true;
|
|
|
- vm.$refs.item1.$el.click();
|
|
|
- vm.$nextTick(_ => {
|
|
|
- expect(vm.$refs.item1.$el.classList.contains('is-active')).to.be.true;
|
|
|
- done();
|
|
|
- });
|
|
|
- });
|
|
|
- it('active watch', done => {
|
|
|
- vm = createVue({
|
|
|
- template: `
|
|
|
- <el-menu :default-active="active">
|
|
|
- <el-menu-item index="1" ref="item1">active watch处理中心</el-menu-item>
|
|
|
- <el-menu-item index="2" ref="item2">active watch订单管理</el-menu-item>
|
|
|
- </el-menu>
|
|
|
- `,
|
|
|
- data() {
|
|
|
- return {
|
|
|
- active: '2'
|
|
|
- };
|
|
|
- }
|
|
|
- }, true);
|
|
|
- setTimeout(_ => {
|
|
|
- vm.active = '1';
|
|
|
+ describe('default active', () => {
|
|
|
+ it('normal active', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <el-menu default-active="2">
|
|
|
+ <el-menu-item index="1" ref="item1">处理中心</el-menu-item>
|
|
|
+ <el-menu-item index="2" ref="item2">订单管理</el-menu-item>
|
|
|
+ </el-menu>
|
|
|
+ `
|
|
|
+ }, true);
|
|
|
+ expect(vm.$refs.item2.$el.classList.contains('is-active')).to.be.true;
|
|
|
+ vm.$refs.item1.$el.click();
|
|
|
vm.$nextTick(_ => {
|
|
|
expect(vm.$refs.item1.$el.classList.contains('is-active')).to.be.true;
|
|
|
done();
|
|
|
});
|
|
|
- }, 100);
|
|
|
- });
|
|
|
- it('default active in submenu', done => {
|
|
|
- vm = createVue({
|
|
|
- template: `
|
|
|
- <el-menu default-active="2-2">
|
|
|
- <el-menu-item index="1" ref="item1">处理中心</el-menu-item>
|
|
|
- <el-submenu index="2" ref="submenu">
|
|
|
- <template slot="title">我的工作台</template>
|
|
|
- <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
- <el-menu-item index="2-2" ref="submenuItem2">选项2</el-menu-item>
|
|
|
- <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
- </el-submenu>
|
|
|
- <el-menu-item index="3">订单管理</el-menu-item>
|
|
|
- </el-menu>
|
|
|
- `
|
|
|
- }, true);
|
|
|
- expect(vm.$refs.submenuItem2.$el.classList.contains('is-active')).to.be.true;
|
|
|
- // vm.$refs.item1.$el.click();
|
|
|
- vm.$nextTick(_ => {
|
|
|
- expect(vm.$refs.submenu.$el.classList.contains('is-opened')).to.be.true;
|
|
|
- done();
|
|
|
});
|
|
|
- });
|
|
|
- it('submenu', done => {
|
|
|
- vm = createVue({
|
|
|
- template: `
|
|
|
- <el-menu>
|
|
|
- <el-menu-item index="1" ref="item1">处理中心</el-menu-item>
|
|
|
- <el-submenu index="2" ref="submenu">
|
|
|
- <template slot="title">我的工作台</template>
|
|
|
- <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
- <el-menu-item index="2-2" ref="submenuItem2">选项2</el-menu-item>
|
|
|
- <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
- </el-submenu>
|
|
|
- <el-menu-item index="3">订单管理</el-menu-item>
|
|
|
- </el-menu>
|
|
|
- `,
|
|
|
- data() {
|
|
|
- return {
|
|
|
- };
|
|
|
- }
|
|
|
- }, true);
|
|
|
- var submenuItem2 = vm.$refs.submenuItem2;
|
|
|
- var submenu = vm.$refs.submenu;
|
|
|
- submenu.$el.querySelector('.el-submenu__title').click();
|
|
|
- vm.$nextTick(_ => {
|
|
|
- expect(submenu.$el.classList.contains('is-opened')).to.be.true;
|
|
|
- submenuItem2.$el.click();
|
|
|
- vm.$nextTick(_ => {
|
|
|
- expect(submenuItem2.$el.classList.contains('is-active')).to.be.true;
|
|
|
- submenu.$el.querySelector('.el-submenu__title').click();
|
|
|
+ it('dynamic active', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <el-menu :default-active="active">
|
|
|
+ <el-menu-item index="1" ref="item1">active watch处理中心</el-menu-item>
|
|
|
+ <el-menu-item index="2" ref="item2">active watch订单管理</el-menu-item>
|
|
|
+ </el-menu>
|
|
|
+ `,
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ active: '2'
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
+ setTimeout(_ => {
|
|
|
+ vm.active = '1';
|
|
|
vm.$nextTick(_ => {
|
|
|
- expect(submenu.$el.classList.contains('is-opened')).to.not.true;
|
|
|
+ expect(vm.$refs.item1.$el.classList.contains('is-active')).to.be.true;
|
|
|
done();
|
|
|
});
|
|
|
+ }, 100);
|
|
|
+ });
|
|
|
+ it('vertical submenu item active', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <div>
|
|
|
+ <el-menu default-active="2-2">
|
|
|
+ <el-menu-item index="1" ref="item1">处理中心</el-menu-item>
|
|
|
+ <el-submenu index="2" ref="submenu">
|
|
|
+ <template slot="title">我的工作台</template>
|
|
|
+ <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
+ <el-menu-item index="2-2" ref="submenuItem2">选项2</el-menu-item>
|
|
|
+ <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
+ </el-submenu>
|
|
|
+ <el-menu-item index="3">订单管理</el-menu-item>
|
|
|
+ </el-menu>
|
|
|
+ </div>
|
|
|
+ `
|
|
|
+ }, true);
|
|
|
+ expect(vm.$refs.submenuItem2.$el.classList.contains('is-active')).to.be.true;
|
|
|
+
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(vm.$refs.submenu.$el.classList.contains('is-opened')).to.be.true;
|
|
|
+ expect(vm.$refs.submenu.$el.classList.contains('is-active')).to.be.true;
|
|
|
+ done();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ it('horizontal submenu item active', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <div>
|
|
|
+ <el-menu default-active="2-2">
|
|
|
+ <el-menu-item index="1" ref="item1">处理中心</el-menu-item>
|
|
|
+ <el-submenu index="2" ref="submenu">
|
|
|
+ <template slot="title">我的工作台</template>
|
|
|
+ <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
+ <el-menu-item index="2-2" ref="submenuItem2">选项2</el-menu-item>
|
|
|
+ <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
+ </el-submenu>
|
|
|
+ <el-menu-item index="3">订单管理</el-menu-item>
|
|
|
+ </el-menu>
|
|
|
+ </div>
|
|
|
+ `
|
|
|
+ }, true);
|
|
|
+ expect(vm.$refs.submenuItem2.$el.classList.contains('is-active')).to.be.true;
|
|
|
+
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(vm.$refs.submenu.$el.classList.contains('is-opened')).to.be.true;
|
|
|
+ expect(vm.$refs.submenu.$el.classList.contains('is-active')).to.be.true;
|
|
|
+ done();
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
- it('submenu default opened', done => {
|
|
|
- vm = createVue({
|
|
|
- template: `
|
|
|
- <el-menu theme="dark" :default-openeds="defaultOpeneds">
|
|
|
- <el-menu-item index="1">default opened处理中心</el-menu-item>
|
|
|
- <el-submenu index="2" ref="submenu1">
|
|
|
- <template slot="title">default opened我的工作台</template>
|
|
|
- <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
- <el-menu-item index="2-2" ref="submenu1Item2">选项2</el-menu-item>
|
|
|
- <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
- </el-submenu>
|
|
|
- <el-submenu index="3" ref="submenu2">
|
|
|
- <template slot="title">default opened订单管理</template>
|
|
|
- <el-menu-item index="3-1">选项1</el-menu-item>
|
|
|
- <el-menu-item index="3-2" ref="submenu2Item2">选项2</el-menu-item>
|
|
|
- <el-menu-item index="3-3">选项3</el-menu-item>
|
|
|
- </el-submenu>
|
|
|
- </el-menu>
|
|
|
- `,
|
|
|
- data() {
|
|
|
- return {
|
|
|
- defaultOpeneds: ['2', '3']
|
|
|
- };
|
|
|
- }
|
|
|
- }, true);
|
|
|
- expect(vm.$refs.submenu1.$el.classList.contains('is-opened')).to.be.true;
|
|
|
- expect(vm.$refs.submenu2.$el.classList.contains('is-opened')).to.be.true;
|
|
|
- vm.defaultOpeneds = ['2'];
|
|
|
- vm.$nextTick(_ => {
|
|
|
+ describe('submenu', () => {
|
|
|
+ it('toggle', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <el-menu>
|
|
|
+ <el-menu-item index="1" ref="item1">处理中心</el-menu-item>
|
|
|
+ <el-submenu index="2" ref="submenu">
|
|
|
+ <template slot="title">我的工作台</template>
|
|
|
+ <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
+ <el-menu-item index="2-2" ref="submenuItem2">选项2</el-menu-item>
|
|
|
+ <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
+ </el-submenu>
|
|
|
+ <el-menu-item index="3">订单管理</el-menu-item>
|
|
|
+ </el-menu>
|
|
|
+ `,
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
+ var submenuItem2 = vm.$refs.submenuItem2;
|
|
|
+ var submenu = vm.$refs.submenu;
|
|
|
+ submenu.$el.querySelector('.el-submenu__title').click();
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(submenu.$el.classList.contains('is-opened')).to.be.true;
|
|
|
+ submenuItem2.$el.click();
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(submenuItem2.$el.classList.contains('is-active')).to.be.true;
|
|
|
+ submenu.$el.querySelector('.el-submenu__title').click();
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(submenu.$el.classList.contains('is-opened')).to.not.true;
|
|
|
+ done();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ it('default opened', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <el-menu theme="dark" :default-openeds="defaultOpeneds">
|
|
|
+ <el-menu-item index="1">default opened处理中心</el-menu-item>
|
|
|
+ <el-submenu index="2" ref="submenu1">
|
|
|
+ <template slot="title">default opened我的工作台</template>
|
|
|
+ <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
+ <el-menu-item index="2-2" ref="submenu1Item2">选项2</el-menu-item>
|
|
|
+ <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
+ </el-submenu>
|
|
|
+ <el-submenu index="3" ref="submenu2">
|
|
|
+ <template slot="title">default opened订单管理</template>
|
|
|
+ <el-menu-item index="3-1">选项1</el-menu-item>
|
|
|
+ <el-menu-item index="3-2" ref="submenu2Item2">选项2</el-menu-item>
|
|
|
+ <el-menu-item index="3-3">选项3</el-menu-item>
|
|
|
+ </el-submenu>
|
|
|
+ </el-menu>
|
|
|
+ `,
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ defaultOpeneds: ['2', '3']
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
expect(vm.$refs.submenu1.$el.classList.contains('is-opened')).to.be.true;
|
|
|
- expect(vm.$refs.submenu2.$el.classList.contains('is-opened')).to.not.true;
|
|
|
- done();
|
|
|
+ expect(vm.$refs.submenu2.$el.classList.contains('is-opened')).to.be.true;
|
|
|
+ vm.defaultOpeneds = ['2'];
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(vm.$refs.submenu1.$el.classList.contains('is-opened')).to.be.true;
|
|
|
+ expect(vm.$refs.submenu2.$el.classList.contains('is-opened')).to.not.true;
|
|
|
+ done();
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
it('theme', () => {
|
|
@@ -195,10 +227,9 @@ describe('Menu', () => {
|
|
|
};
|
|
|
}
|
|
|
}, true);
|
|
|
- vm.$refs.submenu2Item2.$el.click();
|
|
|
+ vm.$refs.submenu2.$el.querySelector('.el-submenu__title').click();
|
|
|
vm.$nextTick(_ => {
|
|
|
expect(vm.$refs.submenu1.$el.classList.contains('is-opened')).to.not.true;
|
|
|
- expect(vm.$refs.submenu2Item2.$el.classList.contains('is-active')).to.be.true;
|
|
|
done();
|
|
|
});
|
|
|
});
|
|
@@ -268,28 +299,6 @@ describe('Menu', () => {
|
|
|
}, 1000);
|
|
|
}, 500);
|
|
|
});
|
|
|
- it('horizontal submenu active', done => {
|
|
|
- vm = createVue({
|
|
|
- template: `
|
|
|
- <el-menu mode="horizontal">
|
|
|
- <el-menu-item index="1">处理中心</el-menu-item>
|
|
|
- <el-submenu index="2" ref="submenu">
|
|
|
- <template slot="title">我的工作台</template>
|
|
|
- <el-menu-item index="2-1">选项1</el-menu-item>
|
|
|
- <el-menu-item index="2-2" ref="submenuItem2">选项2</el-menu-item>
|
|
|
- <el-menu-item index="2-3">选项3</el-menu-item>
|
|
|
- </el-submenu>
|
|
|
- <el-menu-item index="3">订单管理</el-menu-item>
|
|
|
- </el-menu>
|
|
|
- `
|
|
|
- }, true);
|
|
|
- let submenuItem2 = vm.$refs.submenuItem2;
|
|
|
- submenuItem2.$el.click();
|
|
|
- vm.$nextTick(_ => {
|
|
|
- expect(vm.$refs.submenu.$el.classList.contains('is-active')).to.be.true;
|
|
|
- done();
|
|
|
- });
|
|
|
- });
|
|
|
it('menu group', done => {
|
|
|
vm = createVue({
|
|
|
template: `
|