Sha256: af2027e36dfef2716c4367ea1011600268211c0de0dbd7ccb215c64db94b6a76

Contents?: true

Size: 787 Bytes

Versions: 5

Compression:

Stored size: 787 Bytes

Contents

stubView ?= {}

stubView =
  create: (name) ->
    boundEvents: {}
    fieldValues: {}
    trigger: (event) ->
      @boundEvents[event]()

    bind: (event, handler) ->
      @boundEvents[event] = handler

    render: jasmine.createSpy("#{name} render")

    fieldContains: (name, value) -> @fieldValues[name] = value
    get: (name, callback) ->
      callback(@fieldValues[name])

    getMany: (fields, callback) ->
      results = {}
      getManyPrime = (remaining) =>
        if (remaining.length > 0)
          field = _.first(remaining)
          @get field, (fieldValue) ->
            results[field] = fieldValue
            getManyPrime(_.rest(remaining))
        else
          callback(results)
      getManyPrime(fields)


    hideErrors: ()->

exports.stubView = stubView

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
calatrava-0.6.3 lib/calatrava/templates/kernel/spec/stubView.coffee
calatrava-0.6.2 lib/calatrava/templates/kernel/spec/stubView.coffee
calatrava-0.6.1 lib/calatrava/templates/kernel/spec/stubView.coffee
calatrava-0.6.0 lib/calatrava/templates/kernel/spec/stubView.coffee
calatrava-0.5.0 lib/calatrava/templates/kernel/spec/stubView.coffee