snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
This commit is contained in:
110
apps/examples/e2e/fixtures/fixtures.ts
Normal file
110
apps/examples/e2e/fixtures/fixtures.ts
Normal file
@@ -0,0 +1,110 @@
|
||||
import { Page, test as base } from '@playwright/test'
|
||||
import { EndToEndApi } from '../../src/misc/EndToEndApi'
|
||||
import { ActionsMenu } from './menus/ActionsMenu'
|
||||
import { HelpMenu } from './menus/HelpMenu'
|
||||
import { MainMenu } from './menus/MainMenu'
|
||||
import { MenuClickCapture } from './menus/MenuClickCapture'
|
||||
import { NavigationPanel } from './menus/NavigationPanel'
|
||||
import { PageMenu } from './menus/PageMenu'
|
||||
import { RichTextToolbar } from './menus/RichTextToolbar'
|
||||
import { StylePanel } from './menus/StylePanel'
|
||||
import { Toolbar } from './menus/Toolbar'
|
||||
|
||||
interface Fixtures {
|
||||
menuClickCapture: MenuClickCapture
|
||||
toolbar: Toolbar
|
||||
richTextToolbar: RichTextToolbar
|
||||
stylePanel: StylePanel
|
||||
actionsMenu: ActionsMenu
|
||||
helpMenu: HelpMenu
|
||||
mainMenu: MainMenu
|
||||
pageMenu: PageMenu
|
||||
navigationPanel: NavigationPanel
|
||||
api: ReturnType<typeof makeApiFixture>
|
||||
isMac: boolean
|
||||
}
|
||||
|
||||
export type ApiFixture = {
|
||||
[K in keyof EndToEndApi]: (
|
||||
...args: Parameters<EndToEndApi[K]>
|
||||
) => Promise<ReturnType<EndToEndApi[K]>>
|
||||
}
|
||||
|
||||
function makeApiFixture(keys: { [K in keyof EndToEndApi]: true }, page: Page): ApiFixture {
|
||||
const result = {} as any
|
||||
|
||||
for (const key of Object.keys(keys)) {
|
||||
result[key] = (...args: any[]) => {
|
||||
return page.evaluate(
|
||||
([key, ...args]) => {
|
||||
return (window as any).tldrawApi[key](...args)
|
||||
},
|
||||
[key, ...args]
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
const test = base.extend<Fixtures>({
|
||||
menuClickCapture: async ({ page }, testUse) => {
|
||||
const toolbar = new MenuClickCapture(page)
|
||||
await testUse(toolbar)
|
||||
},
|
||||
toolbar: async ({ page }, testUse) => {
|
||||
const toolbar = new Toolbar(page)
|
||||
await testUse(toolbar)
|
||||
},
|
||||
richTextToolbar: async ({ page }, testUse) => {
|
||||
const richTextToolbar = new RichTextToolbar(page)
|
||||
await testUse(richTextToolbar)
|
||||
},
|
||||
stylePanel: async ({ page }, testUse) => {
|
||||
const stylePanel = new StylePanel(page)
|
||||
await testUse(stylePanel)
|
||||
},
|
||||
actionsMenu: async ({ page }, testUse) => {
|
||||
const actionsMenu = new ActionsMenu(page)
|
||||
await testUse(actionsMenu)
|
||||
},
|
||||
helpMenu: async ({ page }, testUse) => {
|
||||
const helpMenu = new HelpMenu(page)
|
||||
await testUse(helpMenu)
|
||||
},
|
||||
mainMenu: async ({ page }, testUse) => {
|
||||
const mainMenu = new MainMenu(page)
|
||||
await testUse(mainMenu)
|
||||
},
|
||||
pageMenu: async ({ page }, testUse) => {
|
||||
const pagemenu = new PageMenu(page)
|
||||
await testUse(pagemenu)
|
||||
},
|
||||
navigationPanel: async ({ page }, testUse) => {
|
||||
const navigationPanel = new NavigationPanel(page)
|
||||
await testUse(navigationPanel)
|
||||
},
|
||||
api: async ({ page }, testUse) => {
|
||||
const api = makeApiFixture(
|
||||
{
|
||||
exportAsSvg: true,
|
||||
exportAsFormat: true,
|
||||
createShapeId: true,
|
||||
resetMockShapeIds: true,
|
||||
createMermaidDiagram: true,
|
||||
checkMermaidReadability: true,
|
||||
toRichText: true,
|
||||
preloadFonts: true,
|
||||
markAllArrowBindings: true,
|
||||
b64VecsEncodePoints: true,
|
||||
},
|
||||
page
|
||||
)
|
||||
await testUse(api)
|
||||
},
|
||||
isMac: async ({ page: _ }, testUse) => {
|
||||
await testUse(process.platform === 'darwin')
|
||||
},
|
||||
})
|
||||
|
||||
export default test
|
||||
Reference in New Issue
Block a user