react / wstein / node_modules / jest-cli / node_modules / jasmine-only / app / js / jasmine_only.coffee
80677 views((jasmine) ->12# the window3root = @45# jasmines environment6env = jasmine.getEnv()78# features we want added, describe.only and it.only9describeOnly = (description, specDefinitions) ->10suite = new jasmine.Suite(@, description, null, @currentSuite)11suite.exclusive_ = 112@exclusive_ = Math.max(@exclusive_, 1)13@describe_(suite, specDefinitions)1415itOnly = (description, func) ->16spec = @it(description, func)17spec.exclusive_ = 218@exclusive_ = 219spec2021env.exclusive_ = 02223env.describe = (description, specDefinitions) ->24suite = new jasmine.Suite(@, description, null, @currentSuite)25@describe_(suite, specDefinitions)2627env.describe_ = (suite, specDefinitions) ->28parentSuite = @currentSuite29if parentSuite30parentSuite.add suite31else32@currentRunner_.add suite33@currentSuite = suite34declarationError = null35try36specDefinitions.call suite37catch e38declarationError = e39if declarationError40@it "encountered a declaration exception", ->41throw declarationError4243@currentSuite = parentSuite4445return suite4647env.specFilter = (spec) ->48@exclusive_ <= spec.exclusive_4950env.describe.only = ->51describeOnly.apply(env, arguments)5253env.it.only = ->54itOnly.apply(env, arguments)5556root.describe.only = (description, specDefinitions) ->57env.describe.only(description, specDefinitions)5859root.it.only = (description, func) ->60env.it.only(description, func)6162# aliases6364root.iit = root.it.only65root.ddescribe = root.describe.only6667# constructor duck punching, <3 coffeescript6869class jasmine.Spec extends jasmine.Spec70constructor: (env, suite, description) ->71@exclusive_ = suite.exclusive_72super(env, suite, description)7374class jasmine.Suite extends jasmine.Suite75constructor: (env, suite, specDefinitions, parentSuite) ->76@exclusive_ = parentSuite and parentSuite.exclusive_ or 077super(env, suite, specDefinitions, parentSuite)7879) jasmine808182