mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-12-25 16:31:13 +00:00
9c38655a92
this was just a simple index problem. The 0. entry of a regex result is the whole string and not the first capture group added e2e tests to fix this in the future cypress does currently not support copy to clipboard in firefox so this part of the test is commented out (for the time being)
90 lines
3.1 KiB
TypeScript
90 lines
3.1 KiB
TypeScript
describe('Code', () => {
|
|
beforeEach(() => {
|
|
cy.visit('/n/test')
|
|
cy.get('.btn.active.btn-outline-secondary > i.fa-columns')
|
|
.should('exist')
|
|
cy.get('.CodeMirror textarea')
|
|
.type('{ctrl}a', { force: true })
|
|
.type('{backspace}')
|
|
})
|
|
|
|
describe('without = doesn\'t show gutter', () => {
|
|
it("without wrapLines active", () => {
|
|
cy.get('.CodeMirror textarea')
|
|
.type(`\`\`\`javascript \nlet x = 0\n\`\`\``)
|
|
cy.get('.markdown-body > pre > code')
|
|
.should('have.class', 'hljs')
|
|
})
|
|
|
|
it("with wrapLines active", () => {
|
|
cy.get('.CodeMirror textarea')
|
|
.type(`\`\`\`javascript!\nlet x = 0\n\`\`\``)
|
|
cy.get('.markdown-body > pre > code')
|
|
.should('have.class', 'hljs')
|
|
.should('have.class', 'wrapLines')
|
|
})
|
|
})
|
|
|
|
describe('with = shows gutter', () => {
|
|
it("without wrapLines active", () => {
|
|
cy.get('.CodeMirror textarea')
|
|
.type(`\`\`\`javascript=\nlet x = 0\n\`\`\``)
|
|
cy.get('.markdown-body > pre > code')
|
|
.should('have.class', 'hljs')
|
|
.should('have.class', 'showGutter')
|
|
cy.get('.markdown-body > pre > code > span')
|
|
.should('have.class', 'linenumber')
|
|
.should('have.attr', 'data-line-number', '1')
|
|
})
|
|
|
|
it("with wrapLines active", () => {
|
|
cy.get('.CodeMirror textarea')
|
|
.type(`\`\`\`javascript=! \nlet x = 0\n\`\`\``)
|
|
cy.get('.markdown-body > pre > code')
|
|
.should('have.class', 'hljs')
|
|
.should('have.class', 'showGutter')
|
|
.should('have.class', 'wrapLines')
|
|
cy.get('.markdown-body > pre > code > span')
|
|
.should('have.class', 'linenumber')
|
|
.should('have.attr', 'data-line-number', '1')
|
|
})
|
|
})
|
|
|
|
describe('with = shows gutter and number is used as startline', () => {
|
|
it("without wrapLines active", () => {
|
|
cy.get('.CodeMirror textarea')
|
|
.type(`\`\`\`javascript=100\nlet x = 0\n\`\`\``)
|
|
cy.get('.markdown-body > pre > code')
|
|
.should('have.class', 'hljs')
|
|
.should('have.class', 'showGutter')
|
|
cy.get('.markdown-body > pre > code > span')
|
|
.should('have.class', 'linenumber')
|
|
.should('have.attr', 'data-line-number', '100')
|
|
})
|
|
|
|
it("with wrapLines active", () => {
|
|
cy.get('.CodeMirror textarea')
|
|
.type(`\`\`\`javascript=100! \nlet x = 0\n\`\`\``)
|
|
cy.get('.markdown-body > pre > code')
|
|
.should('have.class', 'hljs')
|
|
.should('have.class', 'showGutter')
|
|
.should('have.class', 'wrapLines')
|
|
cy.get('.markdown-body > pre > code > span')
|
|
.should('have.class', 'linenumber')
|
|
.should('have.attr', 'data-line-number', '100')
|
|
})
|
|
})
|
|
|
|
it('has a button', () => {
|
|
cy.get('.CodeMirror textarea')
|
|
.type(`\`\`\`javascript \nlet x = 0\n\`\`\``)
|
|
cy.get('.markdown-body > pre > div > button > i')
|
|
.should('have.class', 'fa-files-o')
|
|
.click()
|
|
// This line can be activated if cypress supports copy to clipboard in firefox, too.
|
|
// Please run `yarn add --dev clipboardy`
|
|
// uncomment cypress plugin
|
|
// cy.task('getClipboard').should('contain', 'let x = 0\n');
|
|
})
|
|
|
|
})
|