snapshot of https://github.com/ueberdosis/tiptap.git (main, 2026-09-15; blobs > 131072B omitted)
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
This commit is contained in:
39
packages/react/src/EditorContent.test.ts
Normal file
39
packages/react/src/EditorContent.test.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import React from 'react'
|
||||
import { describe, expect, it, vi } from 'vite-plus/test'
|
||||
|
||||
import { createContentComponent } from './EditorContent.js'
|
||||
import type { ReactRenderer } from './ReactRenderer.js'
|
||||
|
||||
const createRenderer = (id: string) =>
|
||||
({
|
||||
reactElement: React.createElement('span', null, id),
|
||||
element: document.createElement('div'),
|
||||
}) as ReactRenderer
|
||||
|
||||
describe('createContentComponent', () => {
|
||||
it('batches synchronous renderer change notifications', async () => {
|
||||
const contentComponent = createContentComponent()
|
||||
const subscriber = vi.fn()
|
||||
|
||||
contentComponent.subscribe(subscriber)
|
||||
|
||||
contentComponent.setRenderer('first', createRenderer('first'))
|
||||
contentComponent.setRenderer('second', createRenderer('second'))
|
||||
|
||||
expect(Object.keys(contentComponent.getSnapshot())).toEqual(['first', 'second'])
|
||||
expect(subscriber).not.toHaveBeenCalled()
|
||||
|
||||
await Promise.resolve()
|
||||
|
||||
expect(subscriber).toHaveBeenCalledTimes(1)
|
||||
|
||||
contentComponent.removeRenderer('first')
|
||||
contentComponent.removeRenderer('second')
|
||||
|
||||
expect(Object.keys(contentComponent.getSnapshot())).toEqual([])
|
||||
|
||||
await Promise.resolve()
|
||||
|
||||
expect(subscriber).toHaveBeenCalledTimes(2)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user