mirror of
https://gitea.invidious.io/iv-org/shard-spectator.git
synced 2024-08-15 00:53:35 +00:00
Move helper methods and classes to their own directory
This commit is contained in:
parent
0e1d87d8d4
commit
66dcc21383
5 changed files with 96 additions and 99 deletions
37
spec/helpers/spy_example.cr
Normal file
37
spec/helpers/spy_example.cr
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Example that invokes a closure when it is run.
|
||||
# This is useful for capturing what's going on when an event is running.
|
||||
class SpyExample < Spectator::RunnableExample
|
||||
# Dummy description.
|
||||
def what
|
||||
"SPY"
|
||||
end
|
||||
|
||||
# Captures the sample values when the example is created.
|
||||
def initialize(group, @sample_values)
|
||||
super(group, @sample_values)
|
||||
end
|
||||
|
||||
# Sample values given to the example.
|
||||
getter sample_values : Spectator::Internals::SampleValues
|
||||
|
||||
setter block : Proc(Nil)? = nil
|
||||
|
||||
# Method called by the framework to run the example code.
|
||||
private def run_instance
|
||||
if block = @block
|
||||
block.call
|
||||
end
|
||||
end
|
||||
|
||||
# Creates a spy example.
|
||||
# The block passed to this method will be executed when the example runs.
|
||||
def self.create(&block)
|
||||
hooks = Spectator::ExampleHooks.empty
|
||||
group = Spectator::RootExampleGroup.new(hooks)
|
||||
values = Spectator::Internals::SampleValues.empty
|
||||
new(group, values).tap do |example|
|
||||
group.children = [example.as(Spectator::ExampleComponent)]
|
||||
example.block = block
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue