moy-dom
Version:
A flexiable Virtual DOM library for building modern web interface.
53 lines (34 loc) • 1.04 kB
JavaScript
import { Element, render, reRender } from '../src'
describe('test render', () => {
let app
beforeEach(() => {
app = document.createElement('div')
app.id = 'app'
})
test('test node', () => {
render(app, () => 'text content')
expect(app.innerHTML).toBe('text content')
})
test('undefined', () => {
render(app, () => {})
expect(app.innerHTML).toBe('undefined')
})
test('null', () => {
render(app, () => null)
expect(app.innerHTML).toBe('')
})
test('Element', () => {
render(app, () => Element.of('span', 'text content'))
expect(app.innerHTML).toBe('<span>text content</span>')
})
})
test('test reRender', () => {
const app = document.createElement('div')
app.id = 'app'
let init = true
const getNode = () => init ? (init = false) || Element.of('span', {class: 'text'}, 'text content') : 'text content'
render(app, getNode)
expect(app.innerHTML).toBe('<span class="text">text content</span>')
reRender()
expect(app.innerHTML).toBe('text content')
})