import { describe, expect, it } from 'vitest' import { createGlobalDataScript, createGlobalDataScriptWithInit, injectGlobalDataIntoHTML, } from './inject-global-data.js' describe('createGlobalDataScript', () => { it('creates a script tag with JSON data', () => { const result = createGlobalDataScript('__TEST__', { foo: 'bar', num: 42 }) expect(result).toBe('') }) it('handles nested data structures', () => { const data = { user: { id: 1, name: 'John' }, settings: { theme: 'dark', notifications: true }, } const result = createGlobalDataScript('__APP__', data) expect(result).toContain('globalThis.__APP__ =') expect(result).toContain(JSON.stringify(data)) }) it('escapes special characters in data', () => { const data = { html: '' } const result = createGlobalDataScript('__SAFE__', data) // JSON.stringify escapes the forward slashes expect(result).not.toContain('') }) }) describe('injectGlobalDataIntoHTML', () => { const sampleHTML = `