shared_should 0.6.4 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.4
1
+ 0.6.5
data/lib/shared_should.rb CHANGED
@@ -42,11 +42,12 @@ class Test::Unit::TestCase
42
42
  return context_or_test_class.kind_of?(Shoulda::Context) ? context_or_test_class : Test::Unit::TestCase
43
43
  end
44
44
 
45
- alias_method :initialize_without_shared_setup_execute, :initialize
46
- def initialize(test_name)
47
- initialize_without_shared_setup_execute(test_name)
48
- (@@setup_blocks[self.class] || []).each do |setup_block|
49
- setup_block.bind(self).call
45
+ def execute_class_shared_setups_if_not_executed
46
+ if !@shared_setups_executed
47
+ @shared_setups_executed = true
48
+ (@@setup_blocks[self.class] || []).each do |setup_block|
49
+ setup_block.bind(self).call
50
+ end
50
51
  end
51
52
  end
52
53
 
@@ -61,6 +62,7 @@ class Test::Unit::TestCase
61
62
  end
62
63
 
63
64
  def call_block_with_shared_value(test_block)
65
+ execute_class_shared_setups_if_not_executed
64
66
  if test_block.arity == 1
65
67
  # check arity of 1 before checking if value is an array. If one parameter, never treat the shared_value as variable args
66
68
  test_block.bind(self).call(self.shared_value)
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{shared_should}
8
- s.version = "0.6.4"
8
+ s.version = "0.6.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Pearce"]
@@ -10,6 +10,29 @@ class TestSharedShould < Test::Unit::TestCase
10
10
  assert @setup_instance_method_executed
11
11
  end
12
12
 
13
+ # test class as context
14
+ share_setup "for a true value in class" do
15
+ assert @setup_instance_method_executed # setup instance method should have been called first
16
+ @class_value = true
17
+ end
18
+
19
+ share_should "be a valid should test in class" do
20
+ assert @class_value
21
+ end
22
+
23
+ share_context "for a valid context test in class" do
24
+ should "have a true value" do
25
+ assert @class_value
26
+ end
27
+ end
28
+
29
+ use_setup "for a true value in class"
30
+
31
+ use_should "be a valid should test in class"
32
+
33
+ use_context "for a valid context test in class"
34
+
35
+
13
36
  context ".share_context" do
14
37
  context "without params" do
15
38
  share_context "for a valid value" do
@@ -380,28 +403,7 @@ class TestSharedShould < Test::Unit::TestCase
380
403
  use_context "for a valid context test"
381
404
  end
382
405
 
383
- # test class as context
384
- share_setup "for a true value in class" do
385
- @class_value = true
386
- end
387
-
388
- share_should "be a valid should test in class" do
389
- assert @class_value
390
- end
391
-
392
- share_context "for a valid context test in class" do
393
- should "have a true value" do
394
- assert @class_value
395
- end
396
- end
397
-
398
- use_setup "for a true value in class"
399
-
400
- use_should "be a valid should test in class"
401
-
402
- use_context "for a valid context test in class"
403
-
404
-
406
+
405
407
  # ensure should macros work
406
408
  def self.should_be_a_valid_macro
407
409
  should "be a valid macro" do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shared_should
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 4
10
- version: 0.6.4
9
+ - 5
10
+ version: 0.6.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Pearce