UNPKG

863 Btext/coffeescriptView Raw
1should = require('chai').should()
2rack = require '../.'
3
4class DelayedAsset extends rack.Asset
5 create: (options) ->
6 @delay = options.delay
7 build = =>
8 @emit 'created', contents: "delay#{@delay}"
9 setTimeout build, @delay
10
11class CollectionAsset extends rack.Asset
12 create: (options) ->
13 for i in [1..options.size]
14 @addAsset new DelayedAsset
15 delay: i * 100
16 url: '/delayed' + i
17 @emit 'created'
18
19describe 'an asset collection', ->
20
21 it 'should wait for all sub-assets to build', (done) ->
22 asset = new CollectionAsset size: 3
23 asset.on 'complete', ->
24 subassetsBuilt = true
25 for subasset in asset.assets
26 subassetsBuilt = false unless subasset.completed
27 subassetsBuilt.should.be.ok
28 done()