diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-11-01 01:16:29 +0000 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-11-01 01:16:29 +0000 |
commit | af13ffbcedd8952433d4d3f6693aac3450c5fa6f (patch) | |
tree | 41d41b187f3ac1a47b909fef250664d158ffd04e /spec/javascripts/vue_shared | |
parent | 9c3f094a2f7609386ed182e4d5f6f9e7f6938388 (diff) | |
download | gitlab-ce-af13ffbcedd8952433d4d3f6693aac3450c5fa6f.tar.gz |
Dont emit toggle-markdown event if current target is already active and add specs
Diffstat (limited to 'spec/javascripts/vue_shared')
-rw-r--r-- | spec/javascripts/vue_shared/components/markdown/field_spec.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/javascripts/vue_shared/components/markdown/field_spec.js b/spec/javascripts/vue_shared/components/markdown/field_spec.js index 60a5c2ae74e..734266d0ebb 100644 --- a/spec/javascripts/vue_shared/components/markdown/field_spec.js +++ b/spec/javascripts/vue_shared/components/markdown/field_spec.js @@ -39,6 +39,7 @@ describe('Markdown field component', () => { describe('markdown preview', () => { let previewLink; + let writeLink; beforeEach(() => { spyOn(Vue.http, 'post').and.callFake(() => new Promise((resolve) => { @@ -52,6 +53,7 @@ describe('Markdown field component', () => { })); previewLink = vm.$el.querySelector('.nav-links li:nth-child(2) a'); + writeLink = vm.$el.querySelector('.nav-links li:nth-child(1) a'); }); it('sets preview link as active', (done) => { @@ -103,6 +105,40 @@ describe('Markdown field component', () => { done(); }, 0); }); + + function assertLinks(isWrite) { + expect(writeLink.parentNode.classList.contains('active')).toEqual(isWrite); + expect(previewLink.parentNode.classList.contains('active')).toEqual(!isWrite); + expect(vm.$el.querySelector('.md-preview').style.display).toEqual(isWrite ? 'none' : ''); + } + + it('clicking already active write or preview link does nothing', (done) => { + writeLink.click(); + + setTimeout(() => { + assertLinks(true); + + writeLink.click(); + + setTimeout(() => { + assertLinks(true); + + previewLink.click(); + + setTimeout(() => { + assertLinks(false); + + previewLink.click(); + + setTimeout(() => { + assertLinks(false); + + done(); + }); + }); + }); + }); + }); }); describe('markdown buttons', () => { |