diff --git a/.github/workflows/gha.yml b/.github/workflows/gha.yml index 2fd3950d0..46fb7a303 100644 --- a/.github/workflows/gha.yml +++ b/.github/workflows/gha.yml @@ -1,9 +1,9 @@ name: CI on: push: - branches: [ test-framework ] + branches: [ master ] pull_request: - branches: [ test-framework ] + branches: [ master ] jobs: build: @@ -18,4 +18,4 @@ jobs: npm run lint - name: run test run: | - npm run test \ No newline at end of file + npm run test diff --git a/package.json b/package.json index b0362644f..77c817217 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,12 @@ "main": "dist/mavon-editor.js", "types": "./mavon-editor.d.ts", "scripts": { - "test": "jest", - "test:coverage": "jest --coverage", "dev": "webpack-dev-server --open --progress --config webpack/webpack.dev.js", "build": "webpack --progress --config webpack/webpack.build.js", - "lint:fix": "eslint --fix --ext .js,.vue src/", - "lint": "eslint --ext .js,.vue src/" + "test": "jest", + "test:coverage": "jest --coverage", + "lint": "eslint --ext .js,.vue src/", + "lint:fix": "eslint --fix --ext .js,.vue src/" }, "repository": { "type": "git", diff --git a/tests/unit/button.spec.js b/tests/unit/button.spec.js index 9dd47e078..e726cbae7 100644 --- a/tests/unit/button.spec.js +++ b/tests/unit/button.spec.js @@ -16,19 +16,22 @@ const factory = (propsData, mocks) => { } }) } -let textValueClass = '.auto-textarea-block' -let htmlValueClass = '.v-show-content-html.scroll-style.scroll-style-border-radius' -describe.only('toolbars测试', () => { - let wrapper - function checkButton(buttonClass, inputValue, htmlValue) { - expect(wrapper.find(buttonClass).exists()).toBe(true) - wrapper.find(buttonClass).trigger('click') - wrapper.vm.$nextTick(() => { - expect(wrapper.find(textValueClass).text()).toEqual(inputValue) - expect(wrapper.find(htmlValueClass).text()).toEqual(htmlValue) - }) - } - +let wrapper, + buttonClass, + textValue, + htmlValue, + textValueClass = '.auto-textarea-block', + htmlValueClass = '.v-show-content-html.scroll-style.scroll-style-border-radius' + +function checkButton(buttonClass, textValue, htmlValue) { + expect(wrapper.find(buttonClass).exists()).toBe(true) + wrapper.find(buttonClass).trigger('click') + wrapper.vm.$nextTick(() => { + expect(wrapper.find(textValueClass).text()).toEqual(textValue) + expect(wrapper.find(htmlValueClass).text()).toEqual(htmlValue) + }) +} +describe('left-toolbars测试', () => { beforeEach(() => { wrapper = new factory({ d_words: null, value: " " }) }) @@ -37,122 +40,122 @@ describe.only('toolbars测试', () => { }) it('粗体按钮', async () => { - let buttonClass = '.op-icon.fa.fa-mavon-bold' - let eInputValue = '**粗体**' - let eHtmlValue = '
粗体
' + buttonClass = '.op-icon.fa.fa-mavon-bold' + textValue = '**粗体**' + htmlValue = '粗体
' expect.assertions(6) - await checkButton(buttonClass, eInputValue, eHtmlValue) - eInputValue = '粗体' - eHtmlValue = '粗体
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + await checkButton(buttonClass, textValue, htmlValue) + textValue = '粗体' + htmlValue = '粗体
' + await checkButton(buttonClass, textValue, htmlValue) }) it('斜体按钮', async () => { let buttonClass = '.op-icon.fa.fa-mavon-italic' - let eInputValue = '*斜体*' - let eHtmlValue = '斜体
' - await checkButton(buttonClass, eInputValue, eHtmlValue) - eInputValue = '斜体' - eHtmlValue = '斜体
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + let textValue = '*斜体*' + let htmlValue = '斜体
' + await checkButton(buttonClass, textValue, htmlValue) + textValue = '斜体' + htmlValue = '斜体
' + await checkButton(buttonClass, textValue, htmlValue) }) it('标题按钮', async () => { let buttonClass = '.op-header.popup-dropdown.transition span' - let eInputValue = '# 一级标题' - let eHtmlValue = '下划线
' - await checkButton(buttonClass, eInputValue, eHtmlValue) - eInputValue = '下划线' - eHtmlValue = '下划线
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + let textValue = '++下划线++' + let htmlValue = '下划线
' + await checkButton(buttonClass, textValue, htmlValue) + textValue = '下划线' + htmlValue = '下划线
' + await checkButton(buttonClass, textValue, htmlValue) }) it('下划线按钮', async () => { let buttonClass = '.op-icon.fa.fa-mavon-underline' - let eInputValue = '++下划线++' - let eHtmlValue = '下划线
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + let textValue = '++下划线++' + let htmlValue = '下划线
' + await checkButton(buttonClass, textValue, htmlValue) }) it('中划线按钮', async () => { let buttonClass = '.op-icon.fa.fa-mavon-strikethrough' - let eInputValue = '~~中划线~~' - let eHtmlValue = '中划线
中划线
标记
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + let textValue = '==标记==' + let htmlValue = '标记
' + await checkButton(buttonClass, textValue, htmlValue) }) it('上角标按钮', async () => { let buttonClass = '.op-icon.fa.fa-mavon-superscript' - let eInputValue = '^上角标^' - let eHtmlValue = '上角标
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + let textValue = '^上角标^' + let htmlValue = '上角标
' + await checkButton(buttonClass, textValue, htmlValue) }) it('下角标按钮', async () => { let buttonClass = '.op-icon.fa.fa-mavon-subscript' - let eInputValue = '~下角标~' - let eHtmlValue = '下角标
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + let textValue = '~下角标~' + let htmlValue = '下角标
' + await checkButton(buttonClass, textValue, htmlValue) }) it('居左按钮', async () => { let buttonClass = '.op-icon.fa.fa-mavon-align-left' - let eInputValue = '::: hljs-left\n\n居左\n\n:::' - let eHtmlValue = '居左
\n居左
\n居中
\n居中
\n居右
\n居右
\n\n' - await checkButton(buttonClass, eInputValue, eHtmlValue) - eInputValue = '段落引用' - eHtmlValue = '段落引用
\n
段落引用
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + let textValue = '> 段落引用' + let htmlValue = '\n' + await checkButton(buttonClass, textValue, htmlValue) + textValue = '段落引用' + htmlValue = '段落引用
\n
段落引用
' + await checkButton(buttonClass, textValue, htmlValue) }) it('有序列表', async () => { let buttonClass = '.op-icon.fa.fa-mavon-list-ol' - let eInputValue = '1.' - let eHtmlValue = 'language\n\n
'
- await checkButton(buttonClass, eInputValue, eHtmlValue)
+ let textValue = '```\nlanguage\n\n```'
+ let htmlValue = 'language\n\n
'
+ await checkButton(buttonClass, textValue, htmlValue)
})
it('表格', async () => {
let buttonClass = '.op-icon.fa.fa-mavon-table'
- let eInputValue = `|column1|column2|column3|\n|-|-|-|\n|content1|content2|content3|`
- let eHtmlValue = 'column1 | \n' + @@ -217,36 +220,35 @@ describe.only('toolbars测试', () => { '
---|
first
' + let textValue = 'first' + let htmlValue = 'first
' await wrapper.setData({ d_history: ['first', 'second', 'third'], d_history_index: 1 }) - await checkButton(buttonClass, eInputValue, eHtmlValue) + await checkButton(buttonClass, textValue, htmlValue) buttonClass = '.op-icon.fa.fa-mavon-repeat' - eInputValue = 'second' - eHtmlValue = 'second
' - await checkButton(buttonClass, eInputValue, eHtmlValue) + textValue = 'second' + htmlValue = 'second
' + await checkButton(buttonClass, textValue, htmlValue) }) it('清空', async () => { let buttonClass = '.op-icon.fa.fa-mavon-trash-o' - let eInputValue = '' - let eHtmlValue = '' + let textValue = '' + let htmlValue = '' await wrapper.setData({ d_value: 'first' }) - await checkButton(buttonClass, eInputValue, eHtmlValue) + await checkButton(buttonClass, textValue, htmlValue) }) it('保存', () => { let buttonClass = '.op-icon.fa.fa-mavon-trash-o' - //检查字体加粗元素是否渲染 expect(wrapper.find(buttonClass).exists()).toBe(true) }) -}) \ No newline at end of file +})