rspec 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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