fixture_background 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,7 +16,9 @@ module FixtureBackground
16
16
  "#{parent_class.name}"
17
17
  end
18
18
  EOT
19
-
19
+
20
+ background_to_use.generate!
21
+
20
22
  klass.fixture_path = background_to_use.fixture_path
21
23
  klass.fixtures :all
22
24
 
@@ -39,7 +41,11 @@ module FixtureBackground
39
41
  @parent = parent
40
42
  @background_block = blk
41
43
 
42
- Generator.new(@full_class_name, background_signature, fixture_path, ancestors_and_own_background_blocks, @test_unit_class) unless background_valid?
44
+ @generator = Generator.new(@full_class_name, background_signature, fixture_path, ancestors_and_own_background_blocks, @test_unit_class) unless background_valid?
45
+ end
46
+
47
+ def generate!
48
+ @generator.generate! if @generator
43
49
  end
44
50
 
45
51
  def ancestors_and_own_background_blocks
@@ -1,9 +1,10 @@
1
1
  module FixtureBackground
2
2
  class Generator
3
3
  def initialize(fixture_name, version, background_dir, blocks, test_unit_class)
4
- @background_dir = background_dir
5
- @test_unit_class = test_unit_class
6
-
4
+ @fixture_name, @version, @background_dir, @blocks, @test_unit_class = fixture_name, version, background_dir, blocks, test_unit_class
5
+ end
6
+
7
+ def generate!
7
8
  remove_background_dir
8
9
  create_background_dir
9
10
 
@@ -19,7 +20,7 @@ module FixtureBackground
19
20
 
20
21
  bm = Benchmark.realtime do
21
22
  dump_ivars do |klass|
22
- blocks.each do |block|
23
+ @blocks.each do |block|
23
24
  klass.instance_eval(&block)
24
25
  end
25
26
  end
@@ -27,10 +28,10 @@ module FixtureBackground
27
28
  end
28
29
 
29
30
  File.open("#{@background_dir}/.version", 'w+') do |f|
30
- f.write version
31
+ f.write @version
31
32
  end
32
33
 
33
- puts "Instanciating #{fixture_name} took #{bm}ms"
34
+ puts "Instanciating #{@fixture_name} took #{bm}ms"
34
35
  end
35
36
  rescue Exception
36
37
  remove_background_dir
@@ -21,7 +21,7 @@ module Shoulda
21
21
  end
22
22
 
23
23
  def background(&blk)
24
- @fixture_background = FixtureBackground::Background.new(full_class_name, test_unit_class, parent_fixture_background, blk)
24
+ @fixture_background = FixtureBackground::Background.new(full_class_name, test_unit_class, parent_fixture_background, blk)
25
25
  end
26
26
 
27
27
  def class_for_test
@@ -1,4 +1,4 @@
1
1
  module FixtureBackground
2
- VERSION = "0.9.4"
2
+ VERSION = "0.9.5"
3
3
  end
4
4
 
@@ -1,14 +1,21 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class PersonTest < ActiveSupport::TestCase
4
+
4
5
  background do
5
6
  some_test_helper_returning_one
7
+ instance_test_helper_defined_after_background_returning_one
6
8
  @hase = Person.create(:name => "bunny")
7
9
  end
8
10
 
11
+ def instance_test_helper_defined_after_background_returning_one
12
+ 1
13
+ end
14
+
9
15
  context "with thies" do
10
16
  background do
11
17
  some_test_helper_returning_one
18
+ instance_test_helper_defined_after_background_returning_one
12
19
  @thies = Person.create(:name => "thies")
13
20
  end
14
21
 
@@ -56,4 +63,8 @@ class PersonTest < ActiveSupport::TestCase
56
63
  assert_equal 2, Person.count
57
64
  end
58
65
  end
66
+
67
+ protected
68
+
69
+
59
70
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 4
9
- version: 0.9.4
8
+ - 5
9
+ version: 0.9.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - Thies C. Arntzen
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-31 00:00:00 +02:00
18
+ date: 2011-04-05 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies: []
21
21