Skip to content

Commit

Permalink
Adding setup and teardown methods
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonathan Wright committed Jan 6, 2008
1 parent f59ab9e commit 81fd561
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 4 deletions.
21 changes: 19 additions & 2 deletions spec.io
Expand Up @@ -8,6 +8,19 @@ Object verify := method(
)
)

BodyContext := Object clone do(
newSlot("setupMessage", Message)
newSlot("teardownMessage", Message)

setup := method(
setupMessage = call argAt(0)
)

teardown := method(
teardownMessage = call argAt(0)
)
)

describe := method(
if(call argCount == 1,
stateSlotName := nil
Expand All @@ -19,15 +32,19 @@ describe := method(
bodyMessage := call argAt(2)
)

bodyContext := Object clone
bodyContext := BodyContext clone

if(stateSlotName,
bodyContext setSlot(stateSlotName,
method(shouldName,
Lobby exampleCount = exampleCount + 1

testContext := Object clone
e := try(call argAt(1) doInContext(testContext))
e := try(
setupMessage doInContext(testContext)
call argAt(1) doInContext(testContext)
teardownMessage doInContext(testContext)
)
if(e,
failureErrors append(e)
writeln(" - ", shouldName, " [Error ", failureErrors size, "]")
Expand Down
9 changes: 7 additions & 2 deletions user-spec.io
@@ -1,13 +1,18 @@
describe(webUser, WebUser,
setup(
user := WebUser clone
)

teardown(
user = nil
)

webUser("should be in any roles assigned to it",
user := WebUser clone
user assignRole("assigned role")
user verify(inRole("assigned role"))
)

webUser("should NOT be in any roles not assigned to it",
user := WebUser clone
user verify(inRole("assigned role") not)
)
)

0 comments on commit 81fd561

Please sign in to comment.