Sha256: c6b1cad246c4da95754b3218b21844fc5500f98877f9f6624a5cb23d9864304b

Contents?: true

Size: 1.65 KB

Versions: 3

Compression:

Stored size: 1.65 KB

Contents

#= require_self
#= require teaspoon/base/runner
#= require teaspoon/base/fixture
#= require teaspoon/base/hook
#= require teaspoon/base/reporters/html
#= require teaspoon/base/reporters/console

class @Teaspoon
  @defer:     false
  @slow:      75
  @root:      window.location.pathname.replace(/\/+(index\.html)?$/, "").replace(/\/[^\/]*$/, "")
  @started:   false
  @finished:  false
  @Reporters: {}
  @Date:      Date
  @location:  window.location
  @messages:  []

  @execute: ->
    if Teaspoon.defer
      Teaspoon.defer = false
      return
    Teaspoon.reload() if Teaspoon.started
    Teaspoon.started = true
    new Teaspoon.Runner()


  @reload: ->
    window.location.reload()


  @onWindowLoad: (method) ->
    originalOnload = window.onload
    window.onload = ->
      originalOnload() if originalOnload && originalOnload.call
      method()


  @resolveDependenciesFromParams: (all = []) ->
    deps = []
    return all if (paths = Teaspoon.location.search.match(/[\?&]file(\[\])?=[^&\?]*/gi)) == null

    for path in paths
      parts = decodeURIComponent(path.replace(/\+/g, " ")).match(/\/(.+)\.(js|js.coffee|coffee)$/i)
      continue if parts == null
      file = parts[1].substr(parts[1].lastIndexOf("/") + 1)
      for dep in all then deps.push(dep) if dep.indexOf(file) >= 0
    deps


  @log: ->
    Teaspoon.messages.push(arguments[0])
    try console.log(arguments...)
    catch e
      throw new Error("Unable to use console.log for logging")


  @getMessages: ->
    messages = Teaspoon.messages
    Teaspoon.messages = []
    messages



class Teaspoon.Error extends Error

  constructor: (message) ->
    @name = "TeaspoonError"
    @message = (message || "")

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
teaspoon-0.9.1 app/assets/javascripts/teaspoon/base/teaspoon.coffee
teaspoon-0.9.0 app/assets/javascripts/teaspoon/base/teaspoon.coffee
teaspoon-0.8.0 app/assets/javascripts/teaspoon/base/teaspoon.coffee