rspec-given 2.4.5 → 3.0.0.beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +8 -10
  4. data/README.md +50 -34
  5. data/README.old +720 -0
  6. data/Rakefile +23 -17
  7. data/TODO +13 -0
  8. data/examples/example_helper.rb +8 -1
  9. data/examples/integration/and_spec.rb +6 -11
  10. data/examples/integration/focused_line_spec.rb +2 -1
  11. data/examples/integration/given_spec.rb +19 -9
  12. data/examples/integration/invariant_spec.rb +6 -6
  13. data/examples/integration/then_spec.rb +0 -1
  14. data/examples/loader.rb +4 -0
  15. data/examples/minitest_helper.rb +38 -0
  16. data/examples/stack/stack_spec.rb +2 -3
  17. data/lib/given.rb +2 -0
  18. data/lib/rspec/given.rb +1 -19
  19. data/rakelib/bundler_fix.rb +17 -0
  20. data/rakelib/gemspec.rake +161 -0
  21. data/rakelib/metrics.rake +30 -0
  22. data/rakelib/preview.rake +14 -0
  23. data/spec/lib/{rspec/given → given}/evaluator_spec.rb +1 -1
  24. data/spec/lib/{rspec/given → given}/ext/numeric_spec.rb +2 -2
  25. data/spec/lib/{rspec/given → given}/ext/numeric_specifications.rb +0 -0
  26. data/spec/lib/{rspec/given → given}/extensions_spec.rb +2 -2
  27. data/spec/lib/given/failure_matcher_spec.rb +77 -0
  28. data/spec/lib/given/failure_spec.rb +49 -0
  29. data/spec/lib/given/file_cache_spec.rb +26 -0
  30. data/spec/lib/{rspec/given → given}/fuzzy_number_spec.rb +2 -2
  31. data/spec/lib/{rspec/given → given}/have_failed_spec.rb +5 -4
  32. data/spec/lib/{rspec/given → given}/lexical_purity_spec.rb +0 -0
  33. data/spec/lib/given/line_extractor_spec.rb +84 -0
  34. data/spec/lib/{rspec/given → given}/module_methods_spec.rb +2 -2
  35. data/spec/lib/{rspec/given → given}/natural_assertion_spec.rb +4 -36
  36. data/spec/lib/{rspec/given → given}/options_spec.rb +33 -33
  37. data/spec/spec_helper.rb +20 -0
  38. data/spec/support/faux_then.rb +2 -2
  39. data/spec/support/natural_assertion_control.rb +1 -1
  40. metadata +35 -42
  41. data/examples/integration/failing_spec.rb +0 -5
  42. data/lib/rspec/given/configure.rb +0 -20
  43. data/lib/rspec/given/core.rb +0 -9
  44. data/lib/rspec/given/evaluator.rb +0 -39
  45. data/lib/rspec/given/ext/numeric.rb +0 -32
  46. data/lib/rspec/given/extensions.rb +0 -262
  47. data/lib/rspec/given/failure.rb +0 -53
  48. data/lib/rspec/given/file_cache.rb +0 -19
  49. data/lib/rspec/given/fuzzy_number.rb +0 -70
  50. data/lib/rspec/given/fuzzy_shortcuts.rb +0 -1
  51. data/lib/rspec/given/have_failed.rb +0 -77
  52. data/lib/rspec/given/line_extractor.rb +0 -43
  53. data/lib/rspec/given/module_methods.rb +0 -70
  54. data/lib/rspec/given/monkey.rb +0 -42
  55. data/lib/rspec/given/natural_assertion.rb +0 -193
  56. data/lib/rspec/given/rspec1_given.rb +0 -11
  57. data/lib/rspec/given/version.rb +0 -10
  58. data/spec/lib/rspec/given/failure_spec.rb +0 -17
  59. data/spec/lib/rspec/given/file_cache_spec.rb +0 -28
  60. data/spec/lib/rspec/given/line_extractor_spec.rb +0 -86
data/Rakefile CHANGED
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/ruby -wKU
2
2
 
3
3
  require 'rake/clean'
4
- require './lib/rspec/given/version'
5
- require './lib/rspec/given/module_methods'
4
+ require './lib/given/version'
5
+ require './lib/given/module_methods'
6
6
 
7
7
  CLEAN.include("pkg/rspec-given-*").exclude("pkg/*.gem")
8
8
  CLOBBER.include("*.gemspec", "html", "README", "README.old")
9
9
 
10
10
  # README Formatting --------------------------------------------------
11
11
 
12
- task :default => :ex2
12
+ task :default => :examples
13
13
 
14
14
  def version
15
- RSpec::Given::VERSION
15
+ Given::VERSION
16
16
  end
17
17
 
18
18
  def tag_name
@@ -44,10 +44,10 @@ end
44
44
  # Running examples ---------------------------------------------------
45
45
 
46
46
  desc "Run all the examples"
47
- task :examples => [:specs, :examples1, :examples2]
47
+ task :examples => [:specs, :rs_examples]
48
48
 
49
49
  desc "Run the RSpec 2 specs and examples"
50
- task :ex2 => [:specs, :examples2]
50
+ task :examples => [:specs, :rs_examples, :mt_examples]
51
51
 
52
52
  desc "Run the specs"
53
53
  task :specs do
@@ -55,28 +55,34 @@ task :specs do
55
55
  sh "rspec spec"
56
56
  end
57
57
 
58
- desc "Run the examples in RSpec 1"
59
- task :examples1 => [:verify_rspec1] do
60
- puts "Running examples (with RSpec2)"
61
- sh "spec examples/stack/stack_spec1.rb"
62
- end
63
-
64
58
  EXAMPLES = FileList['examples/**/*_spec.rb'].
65
59
  exclude('examples/failing/*.rb').
66
60
  exclude('examples/integration/failing/*.rb')
67
61
 
68
- unless RSpec::Given::NATURAL_ASSERTIONS_SUPPORTED
62
+ unless Given::NATURAL_ASSERTIONS_SUPPORTED
69
63
  EXAMPLES.exclude("examples/stack/*.rb")
70
64
  end
71
65
 
72
66
  FAILING_EXAMPLES = FileList['examples/failing/**/*_spec.rb']
73
67
 
68
+ desc "Run the RSpec specs and examples"
69
+ task :rs => [:specs, :rs_examples]
70
+
71
+ desc "Run the Minitest tests and examples"
72
+ task :mt => [:specs, :mt_examples]
73
+
74
74
  desc "Run the examples in RSpec 2"
75
- task :examples2 => [:verify_rspec2] do
75
+ task :rs_examples => [:verify_rspec2] do
76
76
  puts "Running examples (with RSpec2)"
77
77
  sh "rspec #{EXAMPLES}"
78
78
  end
79
79
 
80
+ desc "Run the examples in Minitest"
81
+ task :mt_examples do
82
+ puts "Running examples (with Minitest)"
83
+ sh "ruby -Ilib:examples examples/loader.rb #{EXAMPLES}"
84
+ end
85
+
80
86
  desc "Run failing examples"
81
87
  task :failing => [:verify_rspec2] do
82
88
  puts "Running failing examples (with RSpec2)"
@@ -114,7 +120,7 @@ task :readme => ["README.md"] do
114
120
  end
115
121
 
116
122
  desc "Generate an RDoc README"
117
- file "README.md" => ["examples/stack/stack_spec.rb", "lib/rspec/given/version.rb"] do
123
+ file "README.md" => ["examples/stack/stack_spec.rb", "lib/given/version.rb"] do
118
124
  open("README.md") do |ins|
119
125
  open("README.tmp", "w") do |outs|
120
126
  state = :copy
@@ -122,7 +128,7 @@ file "README.md" => ["examples/stack/stack_spec.rb", "lib/rspec/given/version.rb
122
128
  case state
123
129
  when :copy
124
130
  if line =~ /rspec-given, version +\d+(\.(\d+|beta))+/i
125
- line.gsub!(/version +\d+(\.(\d+|beta))+/i, "version #{RSpec::Given::VERSION}")
131
+ line.gsub!(/version +\d+(\.(\d+|beta))+/i, "version #{Given::VERSION}")
126
132
  outs.puts line
127
133
  elsif line =~ /^<pre>/
128
134
  state = :insert
@@ -212,7 +218,7 @@ if RDOC_ENABLED
212
218
  rdoc.options = [
213
219
  '--line-numbers',
214
220
  '--main' , 'doc/main.rdoc',
215
- '--title', 'RSpec::Given - Given/When/Then Extensions for RSpec'
221
+ '--title', 'Given - Given/When/Then Extensions for RSpec'
216
222
  ]
217
223
  rdoc.options << '-SHN' << '-f' << 'darkfish' if DARKFISH_ENABLED
218
224
 
data/TODO ADDED
@@ -0,0 +1,13 @@
1
+ Things to do to improve the minitest integration
2
+
3
+ TODO:
4
+
5
+ * Make a separate gem for minitest (do we need one for given-core?)
6
+
7
+ DONE:
8
+
9
+ * Handle have_failed in minitest
10
+ * General cleanup making sure files go where they need.
11
+ * Implement assertion counting for minitest
12
+ * Figure out why the minitest example count is so low.
13
+ * Move stuff out of minitest_helper to appropriate file.
@@ -1,3 +1,10 @@
1
1
  $LOAD_PATH << './examples/stack'
2
2
 
3
- require 'spec_helper'
3
+ if defined?(RSpec)
4
+ require 'rspec/given'
5
+ require 'spec_helper'
6
+ else
7
+ require 'minitest/autorun'
8
+ require 'minispec/given'
9
+ require 'minitest_helper'
10
+ end
@@ -1,4 +1,3 @@
1
- require 'rspec/given'
2
1
  require 'example_helper'
3
2
 
4
3
  describe "And" do
@@ -6,30 +5,26 @@ describe "And" do
6
5
  Given(:info) { [] }
7
6
 
8
7
  describe "And is called after Then" do
9
- Given(:m) { double("mock") }
10
- Given { m.should_receive(:and_ran) }
11
8
  Then { info << "T" }
12
- And {
13
- info.should == ["T"]
14
- m.and_ran
15
- }
9
+ And { info << "A" }
10
+ And { given_assert_equal ["T", "A"], info }
16
11
  end
17
12
 
18
13
  describe "And is called only once with multiple Thens" do
19
14
  Then { info << "T" }
20
15
  Then { info << "T2" }
21
- And { info.should == ["T"] }
16
+ And { given_assert(info == ["T"] || info == ["T2"]) }
22
17
  end
23
18
 
24
19
  describe "Inherited Ands are not run" do
25
20
  Then { info << "T-OUTER" }
26
21
  And { info << "A-OUTER" }
27
- And { info.should == ["T-OUTER", "A-OUTER"] }
22
+ And { given_assert_equal ["T-OUTER", "A-OUTER"], info }
28
23
 
29
24
  context "inner" do
30
25
  Then { info << "T-INNER" }
31
26
  And { info << "A-INNER" }
32
- And { info.should == ["T-INNER", "A-INNER"] }
27
+ And { given_assert_equal ["T-INNER", "A-INNER"], info }
33
28
  end
34
29
  end
35
30
 
@@ -42,7 +37,7 @@ describe "And" do
42
37
 
43
38
  it "should define a message" do
44
39
  message = self.class.instance_eval { @message }
45
- message.should =~ /and.*without.*then/i
40
+ given_assert_match(/and.*without.*then/i, message)
46
41
  end
47
42
  end
48
43
 
@@ -2,7 +2,8 @@ require 'example_helper'
2
2
 
3
3
  describe "Focused Line" do
4
4
  it "runs only a single test" do
5
+ ENV['FRAMEWORK'] = nil
5
6
  output = `rspec examples/other/line_example.rb:7`
6
- output.should_not =~ /FIRST/
7
+ given_assert_not_match(/FIRST/, output)
7
8
  end
8
9
  end
@@ -1,4 +1,4 @@
1
- require 'rspec-given'
1
+ require 'example_helper'
2
2
 
3
3
  describe "Running Givens before Whens" do
4
4
  Given(:info) { [] }
@@ -11,11 +11,19 @@ describe "Running Givens before Whens" do
11
11
  context "inner with When" do
12
12
  Given { info << "inner1" }
13
13
  Given { info << "inner2" }
14
- Then { info.should == ["outer1", "outer2", "inner1", "inner2", "when"] }
14
+ Then { given_assert_equal ["outer1", "outer2", "inner1", "inner2", "when"], info }
15
15
 
16
16
  context "using a nested When" do
17
17
  When { info << "when2" }
18
- Then { info.should == ["outer1", "outer2", "inner1", "inner2", "when", "when2"] }
18
+ Then { given_assert_equal ["outer1", "outer2", "inner1", "inner2", "when", "when2"], info}
19
+ end
20
+
21
+ context "using two nested When" do
22
+ When { info << "when2a" }
23
+ When { info << "when2b" }
24
+ Then {
25
+ given_assert_equal ["outer1", "outer2", "inner1", "inner2", "when", "when2a", "when2b"], info
26
+ }
19
27
  end
20
28
  end
21
29
  end
@@ -26,27 +34,29 @@ describe "Running Givens before Whens" do
26
34
  context "inner with when" do
27
35
  Given { info << "inner1" }
28
36
  Given { info << "inner2" }
29
- Then { info.should == ["outer1", "outer2", "inner1", "inner2", "when"] }
37
+ Then { given_assert_equal ["outer1", "outer2", "inner1", "inner2", "when"], info }
30
38
  end
31
39
  end
32
40
 
33
41
  context "using no whens" do
34
42
  Given { info << "inner1" }
35
43
  Given { info << "inner2" }
36
- Then { info.should == ["outer1", "outer2", "inner1", "inner2"] }
44
+ Then { given_assert_equal ["outer1", "outer2", "inner1", "inner2"], info }
37
45
  end
38
46
  end
39
47
 
40
48
  describe "Lazy Givens" do
41
- Given(:bomb) { fail "SHOULD NEVER BE CALLED" }
49
+ Given(:bomb) { fail StandardError, "SHOULD NEVER BE CALLED" }
42
50
 
43
51
  context "when called" do
44
- Then { lambda { bomb }.should raise_error(StandardError, /NEVER/) }
52
+ Then {
53
+ given_assert_raises(StandardError, /NEVER/) { bomb }
54
+ }
45
55
  end
46
56
 
47
57
  context "when not called" do
48
58
  Given(:value) { :ok }
49
- Then { value.should == :ok }
59
+ Then { given_assert_equal :ok, value }
50
60
  end
51
61
  end
52
62
 
@@ -57,7 +67,7 @@ describe "Non-Lazy Givens" do
57
67
 
58
68
  context "inner" do
59
69
  Given!(:a) { info << :given; "A VALUE" }
60
- Then { info.should == [:given, :when] }
70
+ Then { given_assert_equal [:given, :when], info }
61
71
  end
62
72
 
63
73
  end
@@ -1,23 +1,23 @@
1
- require 'rspec/given'
1
+ require 'example_helper'
2
2
 
3
3
  describe "Invariants" do
4
4
  Given(:info) { [] }
5
5
 
6
6
  Invariant { info << "I1" }
7
7
 
8
- Then { info.should == ["I1"] }
8
+ Then { given_assert_equal ["I1"], info }
9
9
 
10
10
  context "with nested invariants" do
11
11
  Invariant { info << "I2" }
12
12
 
13
- Then { info.should == ["I1", "I2"] }
13
+ Then { given_assert_equal ["I1", "I2"], info }
14
14
  end
15
15
 
16
16
  context "with multiple invariants" do
17
17
  Invariant { info << "I2a" }
18
18
  Invariant { info << "I2b" }
19
19
 
20
- Then { info.should == ["I1", "I2a", "I2b"] }
20
+ Then { given_assert_equal ["I1", "I2a", "I2b"], info }
21
21
  end
22
22
 
23
23
  context "with a when" do
@@ -25,7 +25,7 @@ describe "Invariants" do
25
25
 
26
26
  When(:when_info) { info.dup }
27
27
 
28
- Then { info.should == ["I1", "I2"] }
29
- Then { when_info.should == [] }
28
+ Then { given_assert_equal ["I1", "I2"], info }
29
+ Then { given_assert_equal [], when_info }
30
30
  end
31
31
  end
@@ -1,4 +1,3 @@
1
- require 'rspec/given'
2
1
  require 'example_helper'
3
2
 
4
3
  describe "Then" do
@@ -0,0 +1,4 @@
1
+ ARGV.each do |fn|
2
+ puts "Loading #{fn} ..."
3
+ load fn
4
+ end
@@ -0,0 +1,38 @@
1
+
2
+ module GivenAssertions
3
+ def given_assert(cond)
4
+ assert cond
5
+ end
6
+
7
+ def given_assert_equal(expected, actual)
8
+ actual.must_equal(expected)
9
+ end
10
+
11
+ def given_assert_match(pattern, actual)
12
+ actual.must_match(pattern)
13
+ end
14
+
15
+ def given_assert_not_match(pattern, actual)
16
+ actual.wont_match(pattern)
17
+ end
18
+
19
+ def given_assert_raises(error, pattern=//, &block)
20
+ ex = assert_raises(error, &block)
21
+ ex.message.must_match(pattern)
22
+ end
23
+ end
24
+
25
+ module NaturalAssertionControl
26
+ def use_natural_assertions_if_supported(enabled=true)
27
+ if enabled && ! Given::NATURAL_ASSERTIONS_SUPPORTED
28
+ Given {
29
+ skip "Natural assertions are not supported in JRuby"
30
+ }
31
+ else
32
+ use_natural_assertions(enabled)
33
+ end
34
+ end
35
+ end
36
+
37
+ Minitest::Spec.send(:include, GivenAssertions)
38
+ include NaturalAssertionControl
@@ -1,8 +1,7 @@
1
- require 'rspec/given'
2
1
  require 'example_helper'
3
2
  require 'stack'
4
3
 
5
- RSpec::Given.use_natural_assertions
4
+ Given.use_natural_assertions
6
5
 
7
6
  describe Stack do
8
7
  Given(:stack) { Stack.new }
@@ -24,7 +23,7 @@ describe Stack do
24
23
 
25
24
  context "when popping" do
26
25
  When(:result) { stack.pop }
27
- Then { result.should have_failed(Stack::UnderflowError, /empty/) }
26
+ Then { result == Failure(Stack::UnderflowError, /empty/) }
28
27
  end
29
28
  end
30
29
 
data/lib/given.rb ADDED
@@ -0,0 +1,2 @@
1
+
2
+ require 'given/core'
data/lib/rspec/given.rb CHANGED
@@ -1,19 +1 @@
1
- module RSpec
2
- module Given
3
- def self.using_old_rspec?
4
- defined?(Spec) &&
5
- defined?(Spec::VERSION) &&
6
- defined?(Spec::VERSION::SUMMARY) &&
7
- Spec::VERSION::SUMMARY =~ /^rspec +1\./
8
- end
9
- end
10
- end
11
-
12
- if RSpec::Given.using_old_rspec?
13
- require 'rspec/given/rspec1_given'
14
- else
15
- require 'rspec/given/core'
16
- require 'rspec/given/have_failed'
17
- require 'rspec/given/configure'
18
- require 'rspec/given/monkey'
19
- end
1
+ require 'given/rspec/all'
@@ -0,0 +1,17 @@
1
+ module Rake
2
+ module DSL
3
+
4
+ # Define run so that it will run in a bundle clean environment.
5
+
6
+ if defined?(Bundler)
7
+ def nobundle
8
+ Bundler.with_clean_env { yield }
9
+ end
10
+ else
11
+ def nobundle
12
+ yield
13
+ end
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,161 @@
1
+ require 'rubygems/package_task'
2
+ require './lib/given/version'
3
+
4
+ if ! defined?(Gem)
5
+ puts "Package Target requires RubyGEMs"
6
+ else
7
+ PKG_FILES = FileList[
8
+ '[A-Z]*',
9
+ 'lib/*.rb',
10
+ 'lib/**/*.rb',
11
+ 'rakelib/**/*',
12
+ 'test/**/*.rb',
13
+ 'spec/**/*.rb',
14
+ 'examples/**/*',
15
+ 'doc/**/*',
16
+ ]
17
+ PKG_FILES.exclude('TAGS')
18
+ GIVEN_CORE_FILES = FileList[*PKG_FILES].
19
+ exclude("lib/*-given.rb").
20
+ exclude("lib/rspec/**/*").
21
+ exclude("lib/mini*/**/*").
22
+ exclude("spec/**/*").
23
+ exclude("examples/**/*")
24
+ RSPEC_GIVEN_FILES = FileList[*PKG_FILES].
25
+ exclude("lib/mini*/**/*").
26
+ exclude("lib/mini*-given.rb").
27
+ exclude("lib/given/**/*")
28
+ MINISPEC_GIVEN_FILES = FileList[*PKG_FILES].
29
+ exclude("spec/**/*").
30
+ exclude("lib/rspec-given.rb").
31
+ exclude("lib/rspec*/**/*").
32
+ exclude("lib/given/**/*")
33
+
34
+ RSPEC_GIVEN_SPEC = Gem::Specification.new do |s|
35
+ s.name = 'rspec-given'
36
+ s.version = Given::VERSION
37
+ s.summary = "Given/When/Then Specification Extensions for RSpec."
38
+ s.description = <<EOF
39
+ Given is an RSpec extension that allows the use of Given/When/Then
40
+ terminology when defining specifications.
41
+ EOF
42
+ s.files = RSPEC_GIVEN_FILES.to_a
43
+ s.require_path = 'lib' # Use these for libraries.
44
+ s.rdoc_options = [
45
+ '--line-numbers', '--inline-source',
46
+ '--main' , 'doc/main.rdoc',
47
+ '--title', 'RSpec Given Extensions'
48
+ ]
49
+
50
+ s.add_dependency("given_core", "= #{Given::VERSION}")
51
+ s.add_dependency("rspec", ">= 2.12")
52
+
53
+ s.required_ruby_version = '>= 1.9.2'
54
+ s.license = "MIT"
55
+
56
+ s.author = "Jim Weirich"
57
+ s.email = "jim.weirich@gmail.com"
58
+ s.homepage = "http://github.com/jimweirich/rspec-given"
59
+ s.rubyforge_project = "given"
60
+ end
61
+
62
+ MINISPEC_GIVEN_SPEC = Gem::Specification.new do |s|
63
+ s.name = 'minispec-given'
64
+ s.version = Given::VERSION
65
+ s.summary = "Given/When/Then Specification Extensions for Minispec::Spec."
66
+ s.description = <<EOF
67
+ Given is a Minitest::Spec extension that allows the use of Given/When/Then
68
+ terminology when defining specifications.
69
+ EOF
70
+ s.files = MINISPEC_GIVEN_FILES.to_a
71
+ s.require_path = 'lib' # Use these for libraries.
72
+ s.rdoc_options = [
73
+ '--line-numbers', '--inline-source',
74
+ '--main' , 'doc/main.rdoc',
75
+ '--title', 'Minitest::Spec Given Extensions'
76
+ ]
77
+
78
+ s.add_dependency("given_core", "= #{Given::VERSION}")
79
+ s.add_dependency("minitest", "> 4.3")
80
+
81
+ s.required_ruby_version = '>= 1.9.2'
82
+ s.license = "MIT"
83
+
84
+ s.author = "Jim Weirich"
85
+ s.email = "jim.weirich@gmail.com"
86
+ s.homepage = "http://github.com/jimweirich/rspec-given"
87
+ s.rubyforge_project = "given"
88
+ end
89
+
90
+ GIVEN_CORE_SPEC = Gem::Specification.new do |s|
91
+ s.name = 'given_core'
92
+ s.version = Given::VERSION
93
+ s.summary = "Core engine for RSpec::Given and Minitest::Given."
94
+ s.description = <<EOF
95
+ Given_core is the basic functionality behind rspec-given and minispec-given,
96
+ extensions that allow the use of Given/When/Then terminology when defining
97
+ specifications.
98
+ EOF
99
+ s.files = GIVEN_CORE_FILES.to_a
100
+ s.require_path = 'lib' # Use these for libraries.
101
+ s.rdoc_options = [
102
+ '--line-numbers', '--inline-source',
103
+ '--main' , 'doc/main.rdoc',
104
+ '--title', 'RSpec Given Extensions'
105
+ ]
106
+
107
+ s.add_dependency("sorcerer", ">= 0.3.7")
108
+
109
+ s.required_ruby_version = '>= 1.9.2'
110
+ s.license = "MIT"
111
+
112
+ s.author = "Jim Weirich"
113
+ s.email = "jim.weirich@gmail.com"
114
+ s.homepage = "http://github.com/jimweirich/rspec-given"
115
+ s.rubyforge_project = "given"
116
+ end
117
+
118
+ Gem::PackageTask.new(MINISPEC_GIVEN_SPEC) do |pkg|
119
+ pkg.need_zip = false
120
+ pkg.need_tar = false
121
+ end
122
+
123
+ Gem::PackageTask.new(RSPEC_GIVEN_SPEC) do |pkg|
124
+ pkg.need_zip = false
125
+ pkg.need_tar = false
126
+ end
127
+
128
+ Gem::PackageTask.new(GIVEN_CORE_SPEC) do |pkg|
129
+ pkg.need_zip = false
130
+ pkg.need_tar = false
131
+ end
132
+
133
+ file "rspec-given.gemspec" => ["rakelib/gemspec.rake"] do |t|
134
+ require 'yaml'
135
+ open(t.name, "w") { |f| f.puts RSPEC_GIVEN_SPEC.to_yaml }
136
+ end
137
+
138
+ file "minispec-given.gemspec" => ["rakelib/gemspec.rake"] do |t|
139
+ require 'yaml'
140
+ open(t.name, "w") { |f| f.puts MINISPEC_GIVEN_SPEC.to_yaml }
141
+ end
142
+
143
+ file "given_core.gemspec" => ["rakelib/gemspec.rake"] do |t|
144
+ require 'yaml'
145
+ open(t.name, "w") { |f| f.puts GIVEN_CORE_SPEC.to_yaml }
146
+ end
147
+
148
+ desc "Create a stand-alone gemspec"
149
+ task :gemspec => ["rspec-given.gemspec", "minispec-given.gemspec", "given_core.gemspec"]
150
+
151
+ desc "Check Filelists"
152
+ task :filelists do
153
+ puts "==============="
154
+ puts "GIVEN_CORE_FILES=#{GIVEN_CORE_FILES.inspect}"
155
+ puts "==============="
156
+ puts "RSPEC_GIVEN_FILES=#{RSPEC_GIVEN_FILES.inspect}"
157
+ puts "==============="
158
+ puts "MINISPEC_GIVEN_FILES=#{MINISPEC_GIVEN_FILES.inspect}"
159
+ puts "==============="
160
+ end
161
+ end