Sha256: a1fb4751e86159ecd23fad1b6b1d0e4233d389b374e72952bd321889462db47b

Contents?: true

Size: 1.7 KB

Versions: 5

Compression:

Stored size: 1.7 KB

Contents

Shuriken.Test.Reporters: {}

((reporters) ->
  
  class reporters.Reporter
    
    constructor: (results) ->
      @results: results
      
    showResults: () -> throw "Please us an implemented reporter."
    
  class reporters.ConsoleReporter extends reporters.Reporter
    
    showResults: (results, padding) ->
      results?= @results
      padding?= 0
      if $.isArray @results
        # A
      else if @results instanceof Shuriken.Test.ContextResult
        # B
      else if @results instanceof Shuriken.Test.AssertionCatcher
        # C
      
    puts: (args...) -> console.log('[Shuriken.Test.Reporters.ConsoleReporter]', args...)
    
    paddedPuts: (padding, args...) ->
      padding
      
    
    showContext: (cr, padding) ->
      padding?= 0
      context: cr.context
      @paddedPuts padding, "Context: $context.name"
      @showResults cr.results, padding + 2
    
    showTest: (tr, padding) ->
      padding?= 0
      assertions: tr.assertions
      if assertions.failed()
        @paddedPuts padding, "[\u2718]", tr.test.name, "(${assertions.failedReason()})"
      else if assertions.passed() and assertions.passedCount > 0
        @paddedPuts padding, "[\u2714]", tr.test.name
      else
        @paddedPuts padding, "[\u203D]", tr.test.name, "(Pending)"
      
    showArray: (array, padding) ->
      padding?= 0
      lastIndex: array.length - 1
      for i in [0..lastIndex]
        @showResults array[i], padding
        @paddedPuts padding, "" unless i == lastIndex
      
    
  # Set the current reporter.
  reporters.current: reporters.ConsoleReporter
      
  Shuriken.Test.displayResults: (results) ->
    reporter: new reporters.current results
    reporter.showResults()

)(Shuriken.Test.Reporters)

Version data entries

5 entries across 4 versions & 1 rubygems

Version Path
shuriken-0.2.1 wip-coffeescripts/test/reporters.coffee
shuriken-0.1.4 wip-coffeescripts/test/reporters.coffee
shuriken-0.1.3.1 wip-coffeescripts/test/reporters.coffee
shuriken-0.1.3 coffeescripts/shuriken/test/reporters.coffee
shuriken-0.1.3 wip-coffeescripts/test/reporters.coffee