From fafe5606e6aa019d42f03a770ec2ec809e9c8de6 Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Fri, 13 Sep 2019 14:10:25 -0600 Subject: [PATCH] Rename DSL::Builder to SpecBuilder Place all builders under SpecBuilder. --- src/spectator.cr | 2 +- src/spectator/dsl/structure_dsl.cr | 28 +++++++++---------- src/spectator/includes.cr | 1 + .../{dsl/builder.cr => spec_builder.cr} | 12 ++++---- .../example_builder.cr | 2 +- .../example_group_builder.cr | 2 +- .../example_group_stack.cr | 2 +- .../nested_example_group_builder.cr | 2 +- .../root_example_group_builder.cr | 2 +- 9 files changed, 27 insertions(+), 26 deletions(-) rename src/spectator/{dsl/builder.cr => spec_builder.cr} (93%) rename src/spectator/{builders => spec_builder}/example_builder.cr (85%) rename src/spectator/{builders => spec_builder}/example_group_builder.cr (89%) rename src/spectator/{builders => spec_builder}/example_group_stack.cr (94%) rename src/spectator/{builders => spec_builder}/nested_example_group_builder.cr (92%) rename src/spectator/{builders => spec_builder}/root_example_group_builder.cr (90%) diff --git a/src/spectator.cr b/src/spectator.cr index 3a088c4..bcfeda6 100644 --- a/src/spectator.cr +++ b/src/spectator.cr @@ -101,7 +101,7 @@ module Spectator # Builds the tests and runs the framework. private def run # Build the test suite and run it. - suite = ::Spectator::DSL::Builder.build(config.example_filter) + suite = ::Spectator::SpecBuilder.build(config.example_filter) Runner.new(suite, config).run rescue ex # Catch all unhandled exceptions here. diff --git a/src/spectator/dsl/structure_dsl.cr b/src/spectator/dsl/structure_dsl.cr index 30a75f5..a2799e1 100644 --- a/src/spectator/dsl/structure_dsl.cr +++ b/src/spectator/dsl/structure_dsl.cr @@ -263,7 +263,7 @@ module Spectator::DSL {% end %} # Start a new group. - ::Spectator::DSL::Builder.start_group( + ::Spectator::SpecBuilder.start_group( {% if what.is_a?(StringLiteral) %} {% if what.starts_with?("#") || what.starts_with?(".") %} {{what.id.symbolize}} @@ -279,7 +279,7 @@ module Spectator::DSL {{block.body}} # End the current group. - ::Spectator::DSL::Builder.end_group + ::Spectator::SpecBuilder.end_group end end @@ -543,7 +543,7 @@ module Spectator::DSL # Start a new example group. # Sample groups require additional configuration. - ::Spectator::DSL::Builder.start_sample_group( + ::Spectator::SpecBuilder.start_sample_group( {{collection.stringify}}, # String representation of the collection. Sample%sample, # Type that can construct the elements. ->(s : Sample%sample) { s.%to_a }, # Proc to build the array of elements in the collection. @@ -555,7 +555,7 @@ module Spectator::DSL {{block.body}} # End the current group. - ::Spectator::DSL::Builder.end_group + ::Spectator::SpecBuilder.end_group end end @@ -656,7 +656,7 @@ module Spectator::DSL # Start a new example group. # Sample groups require additional configuration. - ::Spectator::DSL::Builder.start_sample_group( + ::Spectator::SpecBuilder.start_sample_group( {{collection.stringify}}, # String representation of the collection. Sample%sample, # All elements in the collection. {{name.stringify}}, # Name for the current element. @@ -667,7 +667,7 @@ module Spectator::DSL {{block.body}} # End the current group. - ::Spectator::DSL::Builder.end_group + ::Spectator::SpecBuilder.end_group end end @@ -990,7 +990,7 @@ module Spectator::DSL # # See also: `#before_each`, `#after_all`, `#after_each`, and `#around_each`. macro before_all(&block) - ::Spectator::DSL::Builder.add_before_all_hook {{block}} + ::Spectator::SpecBuilder.add_before_all_hook {{block}} end # Creates a hook that will run prior to every example in the group. @@ -1051,7 +1051,7 @@ module Spectator::DSL {{yield}} end - ::Spectator::DSL::Builder.add_before_each_hook do + ::Spectator::SpecBuilder.add_before_each_hook do # Get the wrapper instance and cast to current group type. example = ::Spectator::Internals::Harness.current.example instance = example.instance.as({{@type.id}}) @@ -1110,7 +1110,7 @@ module Spectator::DSL # # See also: `#before_all`, `#before_each`, `#after_each`, and `#around_each`. macro after_all(&block) - ::Spectator::DSL::Builder.add_after_all_hook {{block}} + ::Spectator::SpecBuilder.add_after_all_hook {{block}} end # Creates a hook that will run following every example in the group. @@ -1170,7 +1170,7 @@ module Spectator::DSL {{yield}} end - ::Spectator::DSL::Builder.add_after_each_hook do + ::Spectator::SpecBuilder.add_after_each_hook do # Get the wrapper instance and cast to current group type. example = ::Spectator::Internals::Harness.current.example instance = example.instance.as({{@type.id}}) @@ -1266,7 +1266,7 @@ module Spectator::DSL {{yield}} end - ::Spectator::DSL::Builder.add_around_each_hook do |proc| + ::Spectator::SpecBuilder.add_around_each_hook do |proc| # Get the wrapper instance and cast to current group type. example = ::Spectator::Internals::Harness.current.example instance = example.instance.as({{@type.id}}) @@ -1325,7 +1325,7 @@ module Spectator::DSL {{yield}} end - ::Spectator::DSL::Builder.add_pre_condition do + ::Spectator::SpecBuilder.add_pre_condition do example = ::Spectator::Internals::Harness.current.example instance = example.instance.as({{@type.id}}) instance.%condition @@ -1384,7 +1384,7 @@ module Spectator::DSL {{yield}} end - ::Spectator::DSL::Builder.add_post_condition do + ::Spectator::SpecBuilder.add_post_condition do example = ::Spectator::Internals::Harness.current.example instance = example.instance.as({{@type.id}}) instance.%condition @@ -1429,7 +1429,7 @@ module Spectator::DSL {% end %} %source = ::Spectator::Source.new({{_source_file}}, {{_source_line}}) - ::Spectator::DSL::Builder.add_example({{what.stringify}}, %source, {{@type.name}}) { |test| test.as({{@type.name}}).%run } + ::Spectator::SpecBuilder.add_example({{what.stringify}}, %source, {{@type.name}}) { |test| test.as({{@type.name}}).%run } end # Creates an example, or a test case. diff --git a/src/spectator/includes.cr b/src/spectator/includes.cr index 9861c89..db239f1 100644 --- a/src/spectator/includes.cr +++ b/src/spectator/includes.cr @@ -18,6 +18,7 @@ require "./matchers" require "./formatting" # Then all of the top-level types. +require "./spec_builder" require "./example_component" require "./example" require "./runnable_example" diff --git a/src/spectator/dsl/builder.cr b/src/spectator/spec_builder.cr similarity index 93% rename from src/spectator/dsl/builder.cr rename to src/spectator/spec_builder.cr index 718191a..88f1673 100644 --- a/src/spectator/dsl/builder.cr +++ b/src/spectator/spec_builder.cr @@ -1,14 +1,14 @@ -require "../builders/example_group_stack" +require "./spec_builder/*" -module Spectator::DSL +module Spectator # Global builder used to create the runtime instance of the spec. # The DSL methods call into this module to generate parts of the spec. # Once the DSL is done, the `#build` method can be invoked # to create the entire spec as a runtime instance. - module Builder + module SpecBuilder extend self - @@stack = Builders::ExampleGroupStack.new + @@stack = ExampleGroupStack.new # Begins a new nested group in the spec. # A corresponding `#end_group` call must be made @@ -16,7 +16,7 @@ module Spectator::DSL # See `NestedExampleGroupBuilder#initialize` for the arguments # as arguments to this method are passed directly to it. def start_group(*args) : Nil - group = Builders::NestedExampleGroupBuilder.new(*args) + group = NestedExampleGroupBuilder.new(*args) @@stack.push(group) end @@ -46,7 +46,7 @@ module Spectator::DSL example_type : ::SpectatorTest.class, &runner : ::SpectatorTest ->) : Nil builder = ->{ example_type.new.as(::SpectatorTest) } wrapper = TestWrapper.new(description, source, builder, runner) - factory = Builders::ExampleBuilder.new(wrapper) + factory = ExampleBuilder.new(wrapper) @@stack.current.add_child(factory) end diff --git a/src/spectator/builders/example_builder.cr b/src/spectator/spec_builder/example_builder.cr similarity index 85% rename from src/spectator/builders/example_builder.cr rename to src/spectator/spec_builder/example_builder.cr index a181216..5961467 100644 --- a/src/spectator/builders/example_builder.cr +++ b/src/spectator/spec_builder/example_builder.cr @@ -1,4 +1,4 @@ -module Spectator::Builders +module Spectator::SpecBuilder class ExampleBuilder def initialize(@wrapper : TestWrapper) end diff --git a/src/spectator/builders/example_group_builder.cr b/src/spectator/spec_builder/example_group_builder.cr similarity index 89% rename from src/spectator/builders/example_group_builder.cr rename to src/spectator/spec_builder/example_group_builder.cr index 159b9ac..69d91a8 100644 --- a/src/spectator/builders/example_group_builder.cr +++ b/src/spectator/spec_builder/example_group_builder.cr @@ -1,6 +1,6 @@ require "./example_builder" -module Spectator::Builders +module Spectator::SpecBuilder abstract class ExampleGroupBuilder alias Child = NestedExampleGroupBuilder | ExampleBuilder diff --git a/src/spectator/builders/example_group_stack.cr b/src/spectator/spec_builder/example_group_stack.cr similarity index 94% rename from src/spectator/builders/example_group_stack.cr rename to src/spectator/spec_builder/example_group_stack.cr index 0a9b792..50385bb 100644 --- a/src/spectator/builders/example_group_stack.cr +++ b/src/spectator/spec_builder/example_group_stack.cr @@ -1,7 +1,7 @@ require "./root_example_group_builder" require "./nested_example_group_builder" -module Spectator::Builders +module Spectator::SpecBuilder struct ExampleGroupStack getter root diff --git a/src/spectator/builders/nested_example_group_builder.cr b/src/spectator/spec_builder/nested_example_group_builder.cr similarity index 92% rename from src/spectator/builders/nested_example_group_builder.cr rename to src/spectator/spec_builder/nested_example_group_builder.cr index d2c748b..1693c52 100644 --- a/src/spectator/builders/nested_example_group_builder.cr +++ b/src/spectator/spec_builder/nested_example_group_builder.cr @@ -1,6 +1,6 @@ require "./example_group_builder" -module Spectator::Builders +module Spectator::SpecBuilder class NestedExampleGroupBuilder < ExampleGroupBuilder def initialize(@what : String | Symbol) end diff --git a/src/spectator/builders/root_example_group_builder.cr b/src/spectator/spec_builder/root_example_group_builder.cr similarity index 90% rename from src/spectator/builders/root_example_group_builder.cr rename to src/spectator/spec_builder/root_example_group_builder.cr index fb3e27f..9b1d3df 100644 --- a/src/spectator/builders/root_example_group_builder.cr +++ b/src/spectator/spec_builder/root_example_group_builder.cr @@ -1,6 +1,6 @@ require "./example_group_builder" -module Spectator::Builders +module Spectator::SpecBuilder class RootExampleGroupBuilder < ExampleGroupBuilder def build RootExampleGroup.new.tap do |group|