spectacular
Version:
Advanced BDD framework for CoffeeScript and JavaScript
148 lines (104 loc) • 3.7 kB
text/coffeescript
runningSpecs('missing dependency')
.shouldSucceedWith /Warning: unmet dependency foo/, ->
describe 'dependent', ->
dependsOn 'foo'
it -> true.should be true
runningSpecs('example depending on succeeding examples')
.shouldSucceedWith /3 success, 3 assertions, 0 failures, 0 errors, 0 skipped/, ->
describe 'dependency 1', id: 'success1', ->
it -> true.should be true
describe 'dependency 2', id: 'success2', ->
it -> true.should be true
describe 'dependent', ->
dependsOn 'success1'
dependsOn 'success2'
it -> true.should be true
runningSpecs('example depending on a failing example')
.shouldFailWith /1 failure, 0 errors, 1 skipped/, ->
describe 'dependency', id: 'top', ->
context 'succeeding', ->
it -> true.should be true
describe 'dependency failing', id: 'failure', ->
it -> false.should be true
describe 'dependent', ->
dependsOn 'top'
dependsOn 'failure'
it 'should be skipped', ->
true.should be true
runningSpecs('parent depending on child')
.shouldStopWith /can't depends on ancestor/, ->
describe 'parent', id: 'parent1', ->
context 'child', id: 'child1', ->
dependsOn 'parent1'
it -> true.should be true
runningSpecs('child depending on parent')
.shouldStopWith /can't depends on ancestor/, ->
describe 'parent', id: 'parent2', ->
dependsOn 'child2'
context 'child', id: 'child2', ->
it -> true.should be true
runningSpecs('circular dependencies')
.shouldStopWith /circular dependencies between/, ->
describe 'cycle 1', id: 'c1', ->
dependsOn 'c2'
it -> true.should be true
describe 'cycle 2', id: 'c2', ->
dependsOn 'c1'
it -> true.should be true
runningSpecs('exclusive examples in group with dependencies')
.shouldSucceedWith /3 success, 3 assertion/, ->
describe 'excluded groups', id: 'success', ->
it -> true.should be true
it -> true.should be true
describe 'exclusive groups', ->
dependsOn 'success'
only it -> true.should be true
runningSpecs('deep circular dependencies')
.shouldStopWith /circular dependencies between/, ->
describe 'cycle 1', id: 'c1', ->
describe 'child 1', id: 'cc1', ->
dependsOn 'c2'
it -> true.should be true
describe 'cycle 2', id: 'c2', ->
dependsOn 'cc1'
it -> true.should be true
runningSpecs('n+1 circular dependencies')
.shouldStopWith /circular dependencies between/, ->
describe 'cycle 1', id: 'c1', ->
dependsOn 'c2'
it -> true.should be true
describe 'cycle 2', id: 'c2', ->
dependsOn 'c3'
it -> true.should be true
describe 'cycle 3', id: 'c3', ->
dependsOn 'c1'
it -> true.should be true
runningSpecs('cascading successful examples')
.shouldSucceedWith /3 success, 3 assertions, 0 failures/, ->
describe 'parent group', ->
it -> true.should be true
whenPass ->
it -> true.should be true
whenPass ->
context 'in a nested context', ->
it -> true.should be true
runningSpecs('cascading failing examples')
.shouldFailWith /0 success, 1 assertion, 1 failure, (.*), 2 skipped/, ->
describe null, ->
it -> should exist
whenPass ->
context 'skipped', ->
it -> true.should be true
whenPass ->
context 'skipped', ->
it -> true.should be true
runningSpecs('cascading & depenpent failing examples')
.shouldFailWith /1 success, 2 assertions, 1 failure, (.*), 1 skipped/, ->
describe 'success group', id: 'success', ->
it -> true.should be true
describe 'parent group', ->
it -> true.should be false
whenPass ->
dependsOn 'success'
context 'skipped', ->
it -> true.should be true