UNPKG

967 BJavaScriptView Raw
1var Nanocomponent = require('../')
2var test = require('tape')
3var html = require('bel')
4
5test('cache', (t) => {
6 t.test('should validate input types', (t) => {
7 t.plan(1)
8 var comp = new Nanocomponent()
9 t.throws(comp.render.bind(comp), /createElement should be implemented/)
10 })
11
12 t.test('should render elements', (t) => {
13 t.plan(2)
14
15 function MyComp () {
16 if (!(this instanceof MyComp)) return new MyComp()
17 Nanocomponent.call(this)
18 }
19 MyComp.prototype = Object.create(Nanocomponent.prototype)
20
21 MyComp.prototype.createElement = function (name) {
22 return html`<div>${name}</div>`
23 }
24
25 MyComp.prototype.update = function (name) {
26 return false
27 }
28
29 var myComp = new MyComp()
30
31 var el1 = myComp.render('mittens')
32 t.equal(String(el1), '<div>mittens</div>', 'init render success')
33
34 var el3 = myComp.render('scruffles')
35 t.equal(String(el3), '<div>scruffles</div>', 're-render success')
36 })
37})