mirror of
https://gitea.invidious.io/iv-org/shard-spectator.git
synced 2024-08-15 00:53:35 +00:00
Add example filter to config
This commit is contained in:
parent
d1767ebb7a
commit
3654b2473b
2 changed files with 21 additions and 0 deletions
|
@ -19,6 +19,9 @@ module Spectator
|
|||
# Indicates whether tests are run in a random order.
|
||||
getter? randomize : Bool
|
||||
|
||||
# Filter that determines which examples to run.
|
||||
getter example_filter : ExampleFilter
|
||||
|
||||
# Creates a new configuration.
|
||||
def initialize(builder)
|
||||
@formatters = builder.formatters
|
||||
|
@ -27,6 +30,7 @@ module Spectator
|
|||
@dry_run = builder.dry_run?
|
||||
@random = builder.random
|
||||
@randomize = builder.randomize?
|
||||
@example_filter = builder.example_filter
|
||||
end
|
||||
|
||||
# Yields each formatter that should be reported to.
|
||||
|
|
|
@ -17,6 +17,7 @@ module Spectator
|
|||
@fail_blank = false
|
||||
@dry_run = false
|
||||
@randomize = false
|
||||
@filters = [] of ExampleFilter
|
||||
|
||||
# Sets the primary formatter to use for reporting test progress and results.
|
||||
def formatter=(formatter : Formatting::Formatter)
|
||||
|
@ -108,6 +109,22 @@ module Spectator
|
|||
@randomize
|
||||
end
|
||||
|
||||
# Adds a filter to determine which examples can run.
|
||||
def add_example_filter(filter : ExampleFilter)
|
||||
@filters << filter
|
||||
end
|
||||
|
||||
# Retrieves a filter that determines which examples can run.
|
||||
# If no filters were added with `#add_example_filter`,
|
||||
# then the returned filter will allow all examples to be run.
|
||||
protected def example_filter
|
||||
if @filters.empty?
|
||||
NullExampleFilter.new
|
||||
else
|
||||
CompositeExampleFilter.new(@filters)
|
||||
end
|
||||
end
|
||||
|
||||
# Creates a configuration.
|
||||
def build : Config
|
||||
Config.new(self)
|
||||
|
|
Loading…
Reference in a new issue