import { html } from 'dhtml'
import { assert_eq, test } from '../../../scripts/test/test.ts'
import { renderToString } from '../../server.ts'
const DEPTH = 10
test('basic recursion is handled correctly', () => {
const app = {
renders: 0,
render() {
if (++this.renders > DEPTH) return 'hello!'
return this
},
}
assert_eq(renderToString(app), '[>'.repeat(DEPTH) + '[>hello!]>' + ']>'.repeat(DEPTH))
})
test('nested recursion is handled correctly', () => {
const app = {
renders: 0,
render() {
if (++this.renders > DEPTH) return 'hello!'
return html`${this}`
},
}
assert_eq(renderToString(app), '[>'.repeat(DEPTH) + '[>hello!]>' + ']>'.repeat(DEPTH))
})