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
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
import Document from '@tiptap/extension-document'
|
|
import Paragraph from '@tiptap/extension-paragraph'
|
|
import Text from '@tiptap/extension-text'
|
|
import { describe, expect, it } from 'vite-plus/test'
|
|
|
|
import { generateHTML, generateJSON } from '../../src/server/index.js'
|
|
|
|
describe('server exports with jsdom/happy-dom environment (issue #6951)', () => {
|
|
it('should have global window defined (test environment check)', () => {
|
|
expect(typeof window).toBe('object')
|
|
expect(window).toBeDefined()
|
|
})
|
|
|
|
it('generateJSON should work even when global window is defined', () => {
|
|
const html = '<p>Hello, world!</p>'
|
|
const extensions = [Document, Paragraph, Text]
|
|
|
|
const json = generateJSON(html, extensions)
|
|
|
|
expect(json).toEqual({
|
|
type: 'doc',
|
|
content: [
|
|
{
|
|
type: 'paragraph',
|
|
content: [
|
|
{
|
|
type: 'text',
|
|
text: 'Hello, world!',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
})
|
|
})
|
|
|
|
it('generateHTML should work even when global window is defined', () => {
|
|
const json = {
|
|
type: 'doc',
|
|
content: [
|
|
{
|
|
type: 'paragraph',
|
|
content: [
|
|
{
|
|
type: 'text',
|
|
text: 'Hello, world!',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
const extensions = [Document, Paragraph, Text]
|
|
|
|
// This should NOT throw "generateHTML can only be used in a Node environment"
|
|
const html = generateHTML(json, extensions)
|
|
|
|
expect(html).toBe('<p>Hello, world!</p>')
|
|
})
|
|
})
|