mirror of
https://gitea.invidious.io/iv-org/shard-spectator.git
synced 2024-08-15 00:53:35 +00:00
53 lines
1.4 KiB
Crystal
53 lines
1.4 KiB
Crystal
require "./spec_helper"
|
|
|
|
def new_pending_result(example : Spectator::Example? = nil)
|
|
Spectator::PendingResult.new(example || FailingExample.create)
|
|
end
|
|
|
|
describe Spectator::PendingResult do
|
|
describe "#call" do
|
|
context "without a block" do
|
|
it "invokes #pending on an instance" do
|
|
spy = ResultCallSpy.new
|
|
new_pending_result.call(spy)
|
|
spy.pending?.should be_true
|
|
end
|
|
|
|
it "returns the value of #pending" do
|
|
result = new_pending_result
|
|
returned = result.call(ResultCallSpy.new)
|
|
returned.should eq(:pending)
|
|
end
|
|
end
|
|
|
|
context "with a block" do
|
|
it "invokes #pending on an instance" do
|
|
spy = ResultCallSpy.new
|
|
new_pending_result.call(spy) { nil }
|
|
spy.pending?.should be_true
|
|
end
|
|
|
|
it "yields itself" do
|
|
result = new_pending_result
|
|
value = nil.as(Spectator::Result?)
|
|
result.call(ResultCallSpy.new) { |r| value = r }
|
|
value.should eq(result)
|
|
end
|
|
|
|
it "returns the value of #pending" do
|
|
result = new_pending_result
|
|
value = 42
|
|
returned = result.call(ResultCallSpy.new) { value }
|
|
returned.should eq(value)
|
|
end
|
|
end
|
|
end
|
|
|
|
describe "#example" do
|
|
it "is the expected value" do
|
|
example = PassingExample.create
|
|
result = new_pending_result(example: example)
|
|
result.example.should eq(example)
|
|
end
|
|
end
|
|
end
|