Sha256: fd35f7ab9e02c991a613a4792f1c70b6695cc74c0797e4e17fb006f7b37fdaba

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

#= require_self
#= require teabag/base/runner
#= require teabag/base/fixture
#= require teabag/base/reporters/html
#= require teabag/base/reporters/console

class @Teabag
  @defer:     false
  @slow:      75
  @root:      null
  @started:   false
  @finished:  false
  @Reporters: {}
  @Date:      Date
  @location:  window.location
  @messages:  []

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

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

  # provides interface for AMD usage -- pass all dependencies in as an array, and params will be checked for matches
  @resolveDependenciesFromParams: (all = []) ->
    deps = []
    return all if (paths = @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


  # logging methods -- used by selenium / phantomJS to get information back to ruby
  @log: ->
    @messages.push(arguments[0])
    try console.log(arguments...)
    catch e
      throw new Error("Unable to use console.log for logging")


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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
teabag-0.7.3 app/assets/javascripts/teabag/base/teabag.coffee