|
@@ -205,6 +205,59 @@ describe('Popover', () => {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
+ describe('event', (done) => {
|
|
|
+ const createVM = (trigger) => {
|
|
|
+ return createVue({
|
|
|
+ template: `
|
|
|
+ <div>
|
|
|
+ <el-popover
|
|
|
+ ref="popover"
|
|
|
+ trigger="${trigger}"
|
|
|
+ @show="handleShow"
|
|
|
+ @hide="handleHide"
|
|
|
+ content="content">
|
|
|
+ <button slot="reference">trigger ${trigger}</button>
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
+ `,
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ handleShow() {
|
|
|
+ this.trigger = true;
|
|
|
+ },
|
|
|
+ handleHide() {
|
|
|
+ this.trigger = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ trigger: false
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
+ };
|
|
|
+
|
|
|
+ it('show/hide', () => {
|
|
|
+ vm = createVM('click');
|
|
|
+ const compo = vm.$refs.popover;
|
|
|
+
|
|
|
+ vm.$el.querySelector('button').click();
|
|
|
+ expect(compo.showPopper).to.true;
|
|
|
+ expect(vm.trigger).to.false;
|
|
|
+ document.body.click();
|
|
|
+ expect(compo.showPopper).to.false;
|
|
|
+ setTimeout(_ => {
|
|
|
+ expect(vm.trigger).to.true;
|
|
|
+ document.body.click();
|
|
|
+ setTimeout(_ => {
|
|
|
+ expect(vm.trigger).to.false;
|
|
|
+ }, 50);
|
|
|
+ done();
|
|
|
+ }, 50);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
it('destroy event', () => {
|
|
|
vm = createTest(Popover, {
|
|
|
reference: document.createElement('div'),
|