@danielkalen/simplybind
Version:
Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.
32 lines (25 loc) • 702 B
text/coffeescript
new TestSuite
'title': 'Update 1k DOM Els'
'subtitle': 'Update 1000 existing elements 100 times'
'measureMethod': 'sync'
# 'warmUps': 100
'timesToRun': 100
'setupFn': (container$)->
@obj = 'prop':'value'
currentValue = 0
divs = ('<div />' for i in [1..1000])
@divs$ = $(divs.join '')
SimplyBind('prop').of(@obj)
.to('multi:textContent').of(@divs$.toArray())
@getNewValue = ()-> "value#{currentValue++}"
container$.html @divs$
return
'teardownFn': (container$)->
container$.empty()
SimplyBind.unBindAll(@obj, true)
SimplyBind.unBindAll(div, true) for div in @divs$
delete @obj
delete @divs$
delete @getNewValue
'testFn': ()->
@obj.prop = @getNewValue()