Add test for default freezing + noFreeze option

This commit is contained in:
Ben Drucker
2016-07-04 16:19:17 -07:00
parent c3293b5953
commit fb38d151c6
+46
View File
@@ -0,0 +1,46 @@
const test = require('tape')
const choo = require('../../')
test('freeze (default)', function (t) {
t.plan(2)
const app = choo()
app.model({
state: {
foo: 'bar'
}
})
app.router((route) => [
route('/', function (state, prev, send) {
state.foo = ''
t.equal(state.foo, 'bar', 'cannot modify property')
state.bar = 'baz'
t.equal(state.bar, undefined, 'cannot add property')
})
])
app.start()
})
test('noFreeze', function (t) {
t.plan(2)
const app = choo({noFreeze: true})
app.model({
state: {
foo: 'bar'
}
})
app.router((route) => [
route('/', function (state, prev, send) {
state.foo = ''
t.equal(state.foo, '', 'can modify property')
state.bar = 'baz'
t.equal(state.bar, 'baz', 'can add property')
})
])
app.start()
})