From d71092947954b3d109c5e90a79088d4fbf87cb3f Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Fri, 7 Dec 2018 22:53:17 -0700 Subject: [PATCH] Fix collateral damage from rev aeebbaa --- spec/nested_example_group_spec.cr | 24 ++++++++++++++++++++---- spec/root_example_group_spec.cr | 12 ++++++++++-- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/spec/nested_example_group_spec.cr b/spec/nested_example_group_spec.cr index e8bdf66..20529d5 100644 --- a/spec/nested_example_group_spec.cr +++ b/spec/nested_example_group_spec.cr @@ -354,60 +354,76 @@ describe Spectator::NestedExampleGroup do context "with some examples finished" do it "doesn't run the after_all hooks" do called = false + examples = [] of Spectator::Example hooks = new_hooks(after_all: ->{ called = true; nil }) root = Spectator::RootExampleGroup.new(Spectator::ExampleHooks.empty) group = Spectator::NestedExampleGroup.new("what", root, hooks) root.children = [group.as(Spectator::ExampleComponent)] group.children = Array(Spectator::ExampleComponent).new(5) do |i| PassingExample.new(group, Spectator::Internals::SampleValues.empty).tap do |example| - Spectator::Internals::Harness.run(example) if i % 2 == 0 + examples << example end end + examples.each_with_index do |example, index| + Spectator::Internals::Harness.run(example) if index % 2 == 0 + end group.run_after_hooks called.should be_false end it "runs the after_each hooks" do called = false + examples = [] of Spectator::Example hooks = new_hooks(after_each: ->{ called = true; nil }) root = Spectator::RootExampleGroup.new(Spectator::ExampleHooks.empty) group = Spectator::NestedExampleGroup.new("what", root, hooks) root.children = [group.as(Spectator::ExampleComponent)] group.children = Array(Spectator::ExampleComponent).new(5) do |i| PassingExample.new(group, Spectator::Internals::SampleValues.empty).tap do |example| - Spectator::Internals::Harness.run(example) if i % 2 == 0 + examples << example end end + examples.each_with_index do |example, index| + Spectator::Internals::Harness.run(example) if index % 2 == 0 + end group.run_after_hooks called.should be_true end it "doesn't run the parent after_all hooks" do called = false + examples = [] of Spectator::Example hooks = new_hooks(after_all: ->{ called = true; nil }) root = Spectator::RootExampleGroup.new(hooks) group = Spectator::NestedExampleGroup.new("what", root, Spectator::ExampleHooks.empty) root.children = [group.as(Spectator::ExampleComponent)] group.children = Array(Spectator::ExampleComponent).new(5) do |i| PassingExample.new(group, Spectator::Internals::SampleValues.empty).tap do |example| - Spectator::Internals::Harness.run(example) if i % 2 == 0 + examples << example end end + examples.each_with_index do |example, index| + Spectator::Internals::Harness.run(example) if index % 2 == 0 + end group.run_after_hooks called.should be_false end it "runs the parent after_each hooks" do called = false + examples = [] of Spectator::Example hooks = new_hooks(after_each: ->{ called = true; nil }) root = Spectator::RootExampleGroup.new(hooks) group = Spectator::NestedExampleGroup.new("what", root, Spectator::ExampleHooks.empty) root.children = [group.as(Spectator::ExampleComponent)] group.children = Array(Spectator::ExampleComponent).new(5) do |i| PassingExample.new(group, Spectator::Internals::SampleValues.empty).tap do |example| - Spectator::Internals::Harness.run(example) if i % 2 == 0 + examples << example end end + examples.each_with_index do |example, index| + Spectator::Internals::Harness.run(example) if index % 2 == 0 + end group.run_after_hooks called.should be_true end diff --git a/spec/root_example_group_spec.cr b/spec/root_example_group_spec.cr index eebec64..e8f8136 100644 --- a/spec/root_example_group_spec.cr +++ b/spec/root_example_group_spec.cr @@ -243,26 +243,34 @@ describe Spectator::RootExampleGroup do context "with some examples finished" do it "doesn't run the after_all hooks" do called = false + examples = [] of Spectator::Example hooks = new_hooks(after_all: ->{ called = true; nil }) group = Spectator::RootExampleGroup.new(hooks) group.children = Array(Spectator::ExampleComponent).new(5) do |i| PassingExample.new(group, Spectator::Internals::SampleValues.empty).tap do |example| - Spectator::Internals::Harness.run(example) if i % 2 == 0 + examples << example end end + examples.each_with_index do |example, index| + Spectator::Internals::Harness.run(example) if index % 2 == 0 + end group.run_after_hooks called.should be_false end it "runs the after_each hooks" do called = false + examples = [] of Spectator::Example hooks = new_hooks(after_each: ->{ called = true; nil }) group = Spectator::RootExampleGroup.new(hooks) group.children = Array(Spectator::ExampleComponent).new(5) do |i| PassingExample.new(group, Spectator::Internals::SampleValues.empty).tap do |example| - Spectator::Internals::Harness.run(example) if i % 2 == 0 + examples << example end end + examples.each_with_index do |example, index| + Spectator::Internals::Harness.run(example) if index % 2 == 0 + end group.run_after_hooks called.should be_true end