diff --git a/docs/examples-docs/notice-bar.md b/docs/examples-docs/notice-bar.md index 50b954b9b..eaccdde97 100644 --- a/docs/examples-docs/notice-bar.md +++ b/docs/examples-docs/notice-bar.md @@ -21,9 +21,7 @@ Vue.component(NoticeBar.name, NoticeBar); :::demo 基础用法 ```html - - 足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。 - + ``` ::: diff --git a/packages/notice-bar/index.vue b/packages/notice-bar/index.vue index 59e7430bd..3540c4833 100644 --- a/packages/notice-bar/index.vue +++ b/packages/notice-bar/index.vue @@ -2,7 +2,7 @@
- + {{ text }}
@@ -22,6 +22,7 @@ export default { }, props: { + text: String, mode: { type: String, default: '', diff --git a/test/unit/specs/cell-swipe.spec.js b/test/unit/specs/cell-swipe.spec.js index 89e5ca833..ed142b25f 100644 --- a/test/unit/specs/cell-swipe.spec.js +++ b/test/unit/specs/cell-swipe.spec.js @@ -7,14 +7,14 @@ const defaultProps = { leftWidth: 100, rightWidth: 100 } -} +}; describe('CellSwipe', () => { let wrapper; afterEach(() => { wrapper && wrapper.destroy(); }); - + it('render left or right part when has width', () => { wrapper = mount(CellSwipe, defaultProps); expect(wrapper.find('.van-cell-swipe__left').length).to.equal(1); @@ -97,7 +97,7 @@ describe('CellSwipe', () => { triggerTouch(wrapper, 'touchstart', 0, 0); triggerTouch(wrapper, 'touchmove', 1, 0); - + wrapper.vm.$nextTick(() => { expect(wrapper.vm.offset).to.equal(0); expect(wrapper.vm.opened).to.be.false; diff --git a/test/unit/specs/notice-bar.spec.js b/test/unit/specs/notice-bar.spec.js new file mode 100644 index 000000000..f85d09b36 --- /dev/null +++ b/test/unit/specs/notice-bar.spec.js @@ -0,0 +1,62 @@ +import NoticeBar from 'packages/notice-bar'; +import { mount } from 'avoriaz'; + +describe('NoticeBar', () => { + let wrapper; + afterEach(() => { + wrapper && wrapper.destroy(); + }); + + it('create a notice-bar', () => { + wrapper = mount(NoticeBar, { + propsData: {}, + attachToDocument: true + }); + + expect(wrapper.hasClass('van-notice-bar')).to.be.true; + }); + + it('mode closeable', () => { + wrapper = mount(NoticeBar, { + propsData: { + mode: 'closeable' + }, + attachToDocument: true + }); + + const icon = wrapper.find('.van-icon-close'); + expect(icon.length).to.equal(1); + + icon[0].trigger('click'); + expect(wrapper.hasStyle('display', 'none')); + }); + + it('mode link', () => { + wrapper = mount(NoticeBar, { + propsData: { + mode: 'link' + }, + attachToDocument: true + }); + + expect(wrapper.find('.van-icon-arrow').length).to.equal(1); + }); + + it('notice-bar transitionend', (done) => { + wrapper = mount(NoticeBar, { + propsData: { + text: '足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。', + speed: 10000, + delay: 0 + }, + attachToDocument: true + }); + + const content = wrapper.find('.van-notice-bar__content')[0]; + + setTimeout(() => { + expect(content.hasStyle('transition-delay', '0s')).to.be.true; + done(); + }, 1500); + }); +});