diff --git a/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue b/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue index 7b3d0e9..3412166 100644 --- a/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue +++ b/src/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue @@ -130,7 +130,6 @@ export default { try { this.formattedJson = JSON.stringify(JSON.parse(jsonStr), null, 4) } catch (e) { - console.error(e) this.formattedJson = '' this.messages = [ { diff --git a/tests/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.spec.js b/tests/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.spec.js index 4b89916..67a3a96 100644 --- a/tests/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.spec.js +++ b/tests/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.spec.js @@ -1,6 +1,6 @@ import { expect } from 'chai' import { mount } from '@vue/test-utils' -import ValueViewer from '@/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer' +import ValueViewer from '@/views/Main/Workspace/Tabs/Tab/RunResult/ValueViewer.vue' import sinon from 'sinon' describe('ValueViewer.vue', () => { @@ -8,7 +8,7 @@ describe('ValueViewer.vue', () => { sinon.restore() }) - it('shows value in text mode', async () => { + it('shows value in text mode', () => { const wrapper = mount(ValueViewer, { props: { cellValue: 'foo' @@ -42,4 +42,45 @@ describe('ValueViewer.vue', () => { true ) }) + + it('wraps lines', async () => { + const wrapper = mount(ValueViewer, { + attachTo: document.body, + props: { + cellValue: 'foo' + } + }) + + wrapper.wrapperElement.parentElement.style.width = '50px' + const valueBody = wrapper.find('.value-body').wrapperElement + expect(valueBody.scrollWidth).to.equal(valueBody.clientWidth) + + await wrapper.setProps({ cellValue: 'foo'.repeat(100) }) + expect(valueBody.scrollWidth).not.to.equal(valueBody.clientWidth) + + await wrapper.find('button.line-wrap').trigger('click') + expect(valueBody.scrollWidth).to.equal(valueBody.clientWidth) + wrapper.unmount() + }) + + it('wraps lines in code mirror', async () => { + const wrapper = mount(ValueViewer, { + attachTo: document.body, + props: { + cellValue: '{"foo": "foofoofoofoofoofoofoofoofoofoo"}' + } + }) + + await wrapper.find('button.json').trigger('click') + + wrapper.wrapperElement.parentElement.style.width = '50px' + const codeMirrorScroll = wrapper.find('.CodeMirror-scroll').wrapperElement + expect(codeMirrorScroll.scrollWidth).not.to.equal( + codeMirrorScroll.clientWidth + ) + + await wrapper.find('button.line-wrap').trigger('click') + expect(codeMirrorScroll.scrollWidth).to.equal(codeMirrorScroll.clientWidth) + wrapper.unmount() + }) })