rspec 0.4.0 → 0.5.0

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 (94) hide show
  1. data/CHANGES +7 -12
  2. data/Rakefile +17 -12
  3. data/TUTORIAL +1 -1
  4. data/WHY_RSPEC +115 -0
  5. data/bin/spec +17 -4
  6. data/bin/test2rspec +35 -0
  7. data/examples/airport_spec.rb +35 -0
  8. data/examples/mocking_spec.rb +16 -0
  9. data/examples/spec_framework_spec.rb +28 -0
  10. data/examples/stack.rb +36 -0
  11. data/examples/stack_spec.rb +112 -0
  12. data/lib/spec.rb +5 -18
  13. data/lib/spec/api.rb +4 -0
  14. data/lib/spec/{exceptions.rb → api/exceptions.rb} +1 -1
  15. data/lib/spec/{expectations.rb → api/expectations.rb} +5 -4
  16. data/lib/spec/api/helper.rb +10 -0
  17. data/lib/spec/{have_helper.rb → api/helper/have_helper.rb} +1 -1
  18. data/lib/spec/{instance_helper.rb → api/helper/instance_helper.rb} +0 -0
  19. data/lib/spec/{instance_negator.rb → api/helper/instance_negator.rb} +0 -0
  20. data/lib/spec/{kind_helper.rb → api/helper/kind_helper.rb} +0 -0
  21. data/lib/spec/{kind_negator.rb → api/helper/kind_negator.rb} +0 -0
  22. data/lib/spec/{respond_helper.rb → api/helper/respond_helper.rb} +0 -0
  23. data/lib/spec/{respond_negator.rb → api/helper/respond_negator.rb} +0 -0
  24. data/lib/spec/{should_base.rb → api/helper/should_base.rb} +6 -4
  25. data/lib/spec/{should_helper.rb → api/helper/should_helper.rb} +12 -0
  26. data/lib/spec/{should_negator.rb → api/helper/should_negator.rb} +11 -0
  27. data/lib/spec/api/mock.rb +184 -0
  28. data/lib/spec/rake/spectask.rb +153 -0
  29. data/lib/spec/runner.rb +9 -0
  30. data/lib/spec/runner/backtrace_tweaker.rb +17 -0
  31. data/lib/spec/runner/context.rb +47 -0
  32. data/lib/spec/runner/context_runner.rb +52 -0
  33. data/lib/spec/runner/execution_context.rb +15 -0
  34. data/lib/spec/runner/instance_exec.rb +15 -0
  35. data/lib/spec/runner/kernel_ext.rb +6 -0
  36. data/lib/spec/runner/option_parser.rb +41 -0
  37. data/lib/spec/runner/rdoc_formatter.rb +17 -0
  38. data/lib/spec/runner/simple_text_reporter.rb +92 -0
  39. data/lib/spec/runner/specification.rb +42 -0
  40. data/lib/spec/tool/command_line.rb +39 -0
  41. data/lib/spec/tool/test_unit_translator.rb +112 -0
  42. data/lib/spec/version.rb +13 -0
  43. data/test/spec/api/helper/arbitrary_predicate_test.rb +121 -0
  44. data/test/spec/api/helper/containment_test.rb +117 -0
  45. data/test/spec/api/helper/equality_test.rb +46 -0
  46. data/test/spec/api/helper/identity_test.rb +68 -0
  47. data/test/spec/api/helper/raising_test.rb +50 -0
  48. data/test/spec/api/helper/regex_matching_test.rb +38 -0
  49. data/test/spec/api/helper/should_satisfy_test.rb +37 -0
  50. data/test/spec/api/helper/throwing_test.rb +56 -0
  51. data/test/spec/api/helper/true_false_special_case_test.rb +87 -0
  52. data/test/spec/api/helper/typing_test.rb +107 -0
  53. data/test/spec/api/mock_test.rb +161 -0
  54. data/test/spec/runner/backtrace_tweaker_test.rb +20 -0
  55. data/test/spec/runner/context_runner_test.rb +19 -0
  56. data/test/spec/runner/context_test.rb +29 -0
  57. data/test/spec/runner/execution_context_test.rb +13 -0
  58. data/test/spec/runner/option_parser_test.rb +50 -0
  59. data/test/spec/runner/rdoc_formatter_test.rb +23 -0
  60. data/test/spec/runner/simple_text_reporter_test.rb +128 -0
  61. data/test/spec/runner/specification_test.rb +70 -0
  62. data/test/spec/tool/command_line_test.rb +22 -0
  63. data/test/spec/tool/test_unit_api_spec.rb +61 -0
  64. data/test/spec/tool/test_unit_api_test.rb +61 -0
  65. data/test/spec/tool/test_unit_translator_test.rb +29 -0
  66. data/test/test_helper.rb +8 -0
  67. metadata +89 -67
  68. data/examples/add_specification_spec.rb +0 -15
  69. data/examples/craps.rb +0 -15
  70. data/examples/craps_spec.rb +0 -105
  71. data/examples/dsl_spec.rb +0 -8
  72. data/examples/movie.rb +0 -7
  73. data/examples/movie_list.rb +0 -19
  74. data/examples/movie_spec.rb +0 -37
  75. data/lib/spec/collector.rb +0 -17
  76. data/lib/spec/context.rb +0 -89
  77. data/lib/spec/dsl.rb +0 -23
  78. data/lib/spec/gui_runner.rb +0 -59
  79. data/lib/spec/mock.rb +0 -183
  80. data/lib/spec/text_runner.rb +0 -75
  81. data/test/collection_owner.rb +0 -48
  82. data/test/context_fixtures_test.rb +0 -71
  83. data/test/context_run_test.rb +0 -174
  84. data/test/dsl_test.rb +0 -48
  85. data/test/error_reporting_test.rb +0 -225
  86. data/test/expectations_for_should_have_test.rb +0 -144
  87. data/test/expectations_test.rb +0 -592
  88. data/test/get_classes.rb +0 -6
  89. data/test/gui_runner_test.rb +0 -162
  90. data/test/mock_test.rb +0 -157
  91. data/test/spec_collection_test.rb +0 -39
  92. data/test/specification_addition_test.rb +0 -29
  93. data/test/specification_identification_test.rb +0 -71
  94. data/test/text_runner_test.rb +0 -146
@@ -0,0 +1,61 @@
1
+ require File.dirname(__FILE__) + '/../../test_helper'
2
+
3
+ module Spec
4
+ module Tool
5
+ class TestUnitApiTest < Test::Unit::TestCase
6
+
7
+ def setup
8
+ @an_int = 789
9
+ end
10
+
11
+ def teardown
12
+ end
13
+
14
+ def test_can_be_translated_to_rspec
15
+ a_float = 123.45
16
+ a_nil = nil
17
+
18
+ assert @an_int
19
+ assert_block { true }
20
+ assert_block do
21
+ true
22
+ end
23
+ assert_equal 789 ,@an_int, "a message"
24
+ assert_in_delta 123.5, a_float, 0.1, "a message"
25
+ assert_instance_of Fixnum, @an_int, "a message"
26
+ assert_kind_of Numeric, @an_int, "a message"
27
+ assert_match /789/ , @an_int.to_s
28
+ assert_nil a_nil
29
+ assert_no_match /7890/, @an_int.to_s, "a message"
30
+ assert_not_equal 780, @an_int
31
+ assert_not_nil @an_int, "a message"
32
+ assert_not_same @an_int, a_float, "a message"
33
+ assert_nothing_raised { foo = 1 }
34
+ assert_nothing_raised do
35
+ foo = 2
36
+ end
37
+ assert_nothing_thrown { foo = 3 }
38
+ assert_nothing_thrown do
39
+ foo = 4
40
+ end
41
+ #assert_operator object1, operator, object2, "a message"
42
+ assert_raise(NotImplementedError){ raise NotImplementedError }
43
+ assert_raise(NotImplementedError) do
44
+ raise NotImplementedError
45
+ end
46
+ assert_raises(NotImplementedError){ raise NotImplementedError }
47
+ assert_raises(NotImplementedError) do
48
+ raise NotImplementedError
49
+ end
50
+ assert_respond_to @an_int, :to_f, "a message"
51
+ assert_same a_float, a_float, "a message"
52
+ #assert_send send_array, "a message"
53
+ assert_throws(:foo, "a message"){ throw :foo }
54
+ assert_throws(:foo, "a message") do
55
+ throw :foo
56
+ end
57
+
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,29 @@
1
+ require File.dirname(__FILE__) + '/../../test_helper'
2
+ require 'spec/tool/test_unit_translator'
3
+ require 'tempfile'
4
+
5
+ module Spec
6
+ module Tool
7
+ class TestUnitTranslatorTest < Test::Unit::TestCase
8
+ def test_should_translate_test_classes_to_contexts
9
+ c = TestUnitTranslator.new
10
+ test_unit_file = File.dirname(__FILE__) + '/test_unit_api_test.rb'
11
+ translated = c.translate(test_unit_file)
12
+ expected_path = File.dirname(__FILE__) + '/test_unit_api_spec.rb'
13
+ expected = File.open(expected_path).read
14
+
15
+ translated_tmp = Tempfile.open("translated")
16
+ translated_tmp.write(translated)
17
+ translated_tmp.flush
18
+ translated_tmp.close
19
+
20
+ diff = `diff -w -u #{expected_path} #{translated_tmp.path}`
21
+ if diff.strip != ""
22
+ fail("Conversion didn't match expectation. Diff:\n#{diff}")
23
+ else
24
+ assert true # Just so we get an assertion count in the output
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,8 @@
1
+ require 'test/unit'
2
+ $LOAD_PATH.push File.dirname(__FILE__) + '/../lib'
3
+ $LOAD_PATH.push File.dirname(__FILE__) + '/../test'
4
+ require 'spec'
5
+ mock_context_runner = Spec::Api::Mock.new "mock_context_runner"
6
+ mock_context_runner.should_receive(:add_context).any_number_of_times
7
+ mock_context_runner.should_receive(:run).any_number_of_times
8
+ Spec::Runner::Context.context_runner = mock_context_runner
metadata CHANGED
@@ -3,93 +3,115 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: rspec
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.4.0
7
- date: 2006-02-28 00:00:00 -08:00
6
+ version: 0.5.0
7
+ date: 2006-04-03 00:00:00 -05:00
8
8
  summary: Behaviour Specification Framework for Ruby
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email: srbaker@pobox.com
12
12
  homepage: http://rspec.rubyforge.org
13
13
  rubyforge_project: rspec
14
- description: "RSpec is a behaviour specification framework for Ruby. RSpec was created in
15
- response to Dave Astels' article _A New Look at Test Driven Development_ which
16
- can be read at: http://daveastels.com/index.php?p=5 RSpec is intended to
17
- provide the features discussed in Dave's article."
14
+ description: "RSpec is a behaviour specification framework for Ruby. RSpec was created in response to Dave Astels' article _A New Look at Test Driven Development_ which can be read at: http://daveastels.com/index.php?p=5 RSpec is intended to provide the features discussed in Dave's article."
18
15
  autorequire: spec
19
16
  default_executable: spec
20
17
  bindir: bin
21
18
  has_rdoc: true
22
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
23
20
  requirements:
24
- -
25
- - ">"
26
- - !ruby/object:Gem::Version
27
- version: 0.0.0
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
28
24
  version:
29
25
  platform: ruby
30
26
  signing_key:
31
27
  cert_chain:
32
28
  authors:
33
- - Steven Baker
29
+ - Steven Baker
34
30
  files:
35
- - CHANGES
36
- - Rakefile
37
- - README
38
- - TODO
39
- - TUTORIAL
40
- - lib/spec.rb
41
- - lib/spec/collector.rb
42
- - lib/spec/context.rb
43
- - lib/spec/dsl.rb
44
- - lib/spec/exceptions.rb
45
- - lib/spec/expectations.rb
46
- - lib/spec/gui_runner.rb
47
- - lib/spec/have_helper.rb
48
- - lib/spec/instance_helper.rb
49
- - lib/spec/instance_negator.rb
50
- - lib/spec/kind_helper.rb
51
- - lib/spec/kind_negator.rb
52
- - lib/spec/mock.rb
53
- - lib/spec/respond_helper.rb
54
- - lib/spec/respond_negator.rb
55
- - lib/spec/should_base.rb
56
- - lib/spec/should_helper.rb
57
- - lib/spec/should_negator.rb
58
- - lib/spec/text_runner.rb
59
- - test/collection_owner.rb
60
- - test/context_fixtures_test.rb
61
- - test/context_run_test.rb
62
- - test/dsl_test.rb
63
- - test/error_reporting_test.rb
64
- - test/expectations_for_should_have_test.rb
65
- - test/expectations_test.rb
66
- - test/get_classes.rb
67
- - test/gui_runner_test.rb
68
- - test/mock_test.rb
69
- - test/spec_collection_test.rb
70
- - test/specification_addition_test.rb
71
- - test/specification_identification_test.rb
72
- - test/text_runner_test.rb
73
- - examples/add_specification_spec.rb
74
- - examples/craps.rb
75
- - examples/craps_spec.rb
76
- - examples/dsl_spec.rb
77
- - examples/movie.rb
78
- - examples/movie_list.rb
79
- - examples/movie_spec.rb
31
+ - CHANGES
32
+ - Rakefile
33
+ - README
34
+ - TODO
35
+ - TUTORIAL
36
+ - WHY_RSPEC
37
+ - lib/spec.rb
38
+ - lib/spec/api.rb
39
+ - lib/spec/runner.rb
40
+ - lib/spec/version.rb
41
+ - lib/spec/api/exceptions.rb
42
+ - lib/spec/api/expectations.rb
43
+ - lib/spec/api/helper.rb
44
+ - lib/spec/api/mock.rb
45
+ - lib/spec/api/helper/have_helper.rb
46
+ - lib/spec/api/helper/instance_helper.rb
47
+ - lib/spec/api/helper/instance_negator.rb
48
+ - lib/spec/api/helper/kind_helper.rb
49
+ - lib/spec/api/helper/kind_negator.rb
50
+ - lib/spec/api/helper/respond_helper.rb
51
+ - lib/spec/api/helper/respond_negator.rb
52
+ - lib/spec/api/helper/should_base.rb
53
+ - lib/spec/api/helper/should_helper.rb
54
+ - lib/spec/api/helper/should_negator.rb
55
+ - lib/spec/rake/spectask.rb
56
+ - lib/spec/runner/backtrace_tweaker.rb
57
+ - lib/spec/runner/context.rb
58
+ - lib/spec/runner/context_runner.rb
59
+ - lib/spec/runner/execution_context.rb
60
+ - lib/spec/runner/instance_exec.rb
61
+ - lib/spec/runner/kernel_ext.rb
62
+ - lib/spec/runner/option_parser.rb
63
+ - lib/spec/runner/rdoc_formatter.rb
64
+ - lib/spec/runner/simple_text_reporter.rb
65
+ - lib/spec/runner/specification.rb
66
+ - lib/spec/tool/command_line.rb
67
+ - lib/spec/tool/test_unit_translator.rb
68
+ - test/test_helper.rb
69
+ - test/spec/api/mock_test.rb
70
+ - test/spec/api/helper/arbitrary_predicate_test.rb
71
+ - test/spec/api/helper/containment_test.rb
72
+ - test/spec/api/helper/equality_test.rb
73
+ - test/spec/api/helper/identity_test.rb
74
+ - test/spec/api/helper/raising_test.rb
75
+ - test/spec/api/helper/regex_matching_test.rb
76
+ - test/spec/api/helper/should_satisfy_test.rb
77
+ - test/spec/api/helper/throwing_test.rb
78
+ - test/spec/api/helper/true_false_special_case_test.rb
79
+ - test/spec/api/helper/typing_test.rb
80
+ - test/spec/runner/backtrace_tweaker_test.rb
81
+ - test/spec/runner/context_runner_test.rb
82
+ - test/spec/runner/context_test.rb
83
+ - test/spec/runner/execution_context_test.rb
84
+ - test/spec/runner/option_parser_test.rb
85
+ - test/spec/runner/rdoc_formatter_test.rb
86
+ - test/spec/runner/simple_text_reporter_test.rb
87
+ - test/spec/runner/specification_test.rb
88
+ - test/spec/tool/command_line_test.rb
89
+ - test/spec/tool/test_unit_api_spec.rb
90
+ - test/spec/tool/test_unit_api_test.rb
91
+ - test/spec/tool/test_unit_translator_test.rb
92
+ - examples/airport_spec.rb
93
+ - examples/mocking_spec.rb
94
+ - examples/spec_framework_spec.rb
95
+ - examples/stack.rb
96
+ - examples/stack_spec.rb
80
97
  test_files: []
98
+
81
99
  rdoc_options:
82
- - "--title"
83
- - RSpec
84
- - "--main"
85
- - README
86
- - "--line-numbers"
100
+ - --title
101
+ - RSpec
102
+ - --main
103
+ - README
104
+ - --line-numbers
87
105
  extra_rdoc_files:
88
- - README
89
- - CHANGES
90
- - TUTORIAL
106
+ - README
107
+ - CHANGES
108
+ - TUTORIAL
91
109
  executables:
92
- - spec
110
+ - spec
111
+ - test2rspec
93
112
  extensions: []
113
+
94
114
  requirements: []
95
- dependencies: []
115
+
116
+ dependencies: []
117
+
@@ -1,15 +0,0 @@
1
- require 'spec'
2
-
3
- class AddSpecification < Spec::Context
4
-
5
- def a_passing_spec
6
- true.should.be true
7
- end
8
-
9
- def a_failing_spec
10
- true.should.be false
11
- end
12
-
13
- end
14
-
15
- AddSpecification.add_specification('another_failing_spec') { false.should.be true }
@@ -1,15 +0,0 @@
1
- class Craps
2
-
3
- def initialize(a_die, another_die)
4
- @die1 = a_die
5
- @die2 = another_die
6
- end
7
-
8
- def play
9
- total_roll = @die1.roll() + @die2.roll()
10
- return true if total_roll == 7
11
- return true if total_roll == 11
12
- false
13
- end
14
-
15
- end
@@ -1,105 +0,0 @@
1
- require 'spec'
2
- require File.dirname(__FILE__) + '/craps'
3
-
4
- class CrapsSpecification < Spec::Context
5
-
6
- def setup
7
- @die1 = mock "die1"
8
- @die2 = mock "die2"
9
- @game = Craps.new(@die1, @die2)
10
- end
11
-
12
- # coming out roll of 7
13
-
14
- def come_out_roll_of_1_6_wins
15
- _load_dice([1], [6])
16
- @game.play.should.be true
17
- end
18
-
19
- def come_out_roll_of_2_5_wins
20
- _load_dice([2], [5])
21
- @game.play.should.be true
22
- end
23
-
24
- def come_out_roll_of_3_4_wins
25
- _load_dice([3], [4])
26
- @game.play.should.be true
27
- end
28
-
29
- def come_out_roll_of_4_3_wins
30
- _load_dice([4], [3])
31
- @game.play.should.be true
32
- end
33
-
34
- def come_out_roll_of_5_2_wins
35
- _load_dice([5], [2])
36
- @game.play.should.be true
37
- end
38
-
39
- def come_out_roll_of_6_1_wins
40
- _load_dice([6], [1])
41
- @game.play.should.be true
42
- end
43
-
44
- # coming out roll of 11
45
-
46
- def come_out_roll_of_5_6_wins
47
- _load_dice([5], [6])
48
- @game.play.should.be true
49
- end
50
-
51
- def come_out_roll_of_6_5_wins
52
- _load_dice([6], [5])
53
- @game.play.should.be true
54
- end
55
-
56
- # coming out roll of 2
57
-
58
- def come_out_roll_of_1_1_looses
59
- _load_dice([1], [1])
60
- @game.play.should.be false
61
- end
62
-
63
- # coming out roll of 3
64
-
65
- def come_out_roll_of_1_2_looses
66
- _load_dice([1], [2])
67
- @game.play.should.be false
68
- end
69
-
70
- def come_out_roll_of_2_1_looses
71
- _load_dice([2], [1])
72
- @game.play.should.be false
73
- end
74
-
75
- # coming out roll of 12
76
-
77
- def come_out_roll_of_6_6_looses
78
- _load_dice([6], [6])
79
- @game.play.should.be false
80
- end
81
-
82
- # loosing with a point
83
-
84
- # def second_roll_of_7_looses
85
- # _load_dice([2, 4], [2, 3])
86
- # @game.play.should.be false
87
- # end
88
-
89
- # support
90
-
91
- def _load_dice(rolls1, rolls2)
92
- _load_die(@die1, rolls1)
93
- _load_die(@die2, rolls2)
94
- end
95
-
96
- def _load_die(die, rolls)
97
- rolls.each { |roll| die.should_receive(:roll).once.with_no_args.and_return(roll) }
98
- end
99
-
100
- end
101
-
102
- if __FILE__ == $0
103
- runner = Spec::TextRunner.new($stdout)
104
- runner.run(CrapsSpecification)
105
- end
@@ -1,8 +0,0 @@
1
- specification "failing_spec" do
2
- true.should.be false
3
- end
4
-
5
-
6
- specification "passing_spec" do
7
- true.should.be true
8
- end
@@ -1,7 +0,0 @@
1
- class Movie
2
- attr_reader :name
3
-
4
- def initialize(aName)
5
- @name = aName
6
- end
7
- end
@@ -1,19 +0,0 @@
1
- class MovieList
2
-
3
- def initialize
4
- @movies = Hash.new
5
- end
6
-
7
- def size
8
- @movies.size
9
- end
10
-
11
- def add (movieToAdd)
12
- @movies.store(movieToAdd.name, movieToAdd)
13
- end
14
-
15
- def include? (aName)
16
- @movies.include?(aName)
17
- end
18
-
19
- end