mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-14 20:40:17 -05:00
7f37ba737c
* Update Copybara options in preparation for open-sourcing the source editor * Move files * Update paths * Remove source-editor module and checks for its existence * Explicitly mention CM6 license in files that contain code adapted from CM6 GitOrigin-RevId: 89b7cc2b409db01ad103198ccbd1b126ab56349b
81 lines
1.4 KiB
TypeScript
81 lines
1.4 KiB
TypeScript
import { ShareDoc } from '../../../../../types/share-doc'
|
|
import { EventEmitter } from 'events'
|
|
|
|
export const docId = 'test-doc'
|
|
|
|
export function mockDocContent(content: string) {
|
|
return `
|
|
\\documentclass{article}
|
|
|
|
\\title{Your Paper}
|
|
\\author{You}
|
|
|
|
\\begin{document}
|
|
\\maketitle
|
|
|
|
\\begin{abstract}
|
|
Your abstract.
|
|
\\end{abstracts}
|
|
|
|
\\section{Introduction}
|
|
|
|
Your introduction goes here!
|
|
|
|
\\section{Results}
|
|
|
|
Your results go here! \\cite{foo}
|
|
|
|
${content}
|
|
|
|
\\end{document}`
|
|
}
|
|
|
|
const contentLines = Array.from(Array(100), (e, i) => `contentLine ${i}`)
|
|
const defaultContent = mockDocContent(contentLines.join('\n'))
|
|
|
|
const MAX_DOC_LENGTH = 2 * 1024 * 1024 // window.maxDocLength
|
|
|
|
class MockShareDoc extends EventEmitter {
|
|
constructor(public text: string) {
|
|
super()
|
|
}
|
|
|
|
getText() {
|
|
return this.text
|
|
}
|
|
|
|
insert() {
|
|
// do nothing
|
|
}
|
|
|
|
del() {
|
|
// do nothing
|
|
}
|
|
}
|
|
|
|
export const mockDoc = (content = defaultContent) => {
|
|
const mockShareJSDoc: ShareDoc = new MockShareDoc(content)
|
|
|
|
return {
|
|
doc_id: docId,
|
|
getSnapshot: () => {
|
|
return content
|
|
},
|
|
attachToCM6: (cm6: any) => {
|
|
cm6.attachShareJs(mockShareJSDoc, MAX_DOC_LENGTH)
|
|
},
|
|
detachFromCM6: () => {
|
|
// Do nothing
|
|
},
|
|
on: () => {
|
|
// Do nothing
|
|
},
|
|
off: () => {
|
|
// Do nothing
|
|
},
|
|
ranges: {
|
|
changes: [],
|
|
comments: [],
|
|
},
|
|
}
|
|
}
|