rspec 0.6.3 → 0.6.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +28 -3
- data/EXAMPLES.rd +2 -16
- data/README +5 -2
- data/Rakefile +8 -4
- data/bin/spec +1 -0
- data/examples/custom_formatter.rb +2 -1
- data/examples/helper_method_spec.rb +12 -0
- data/examples/{mocking_spec.rb → mocking_example.rb} +0 -0
- data/examples/{bdd_framework_spec.rb → predicate_example.rb} +0 -0
- data/examples/stubbing_example.rb +28 -0
- data/lib/spec.rb +2 -1
- data/lib/spec/expectations.rb +7 -0
- data/lib/spec/expectations/diff.rb +56 -0
- data/lib/spec/expectations/exceptions.rb +6 -0
- data/lib/spec/expectations/expectations.rb +19 -0
- data/lib/spec/expectations/have_helper.rb +41 -0
- data/lib/spec/expectations/helper.rb +4 -0
- data/lib/spec/expectations/should_base.rb +52 -0
- data/lib/spec/expectations/should_helper.rb +93 -0
- data/lib/spec/expectations/should_negator.rb +71 -0
- data/lib/spec/{api → expectations}/sugar.rb +8 -8
- data/lib/spec/mocks.rb +5 -0
- data/lib/spec/{api/mocks → mocks}/argument_expectation.rb +1 -1
- data/lib/spec/{api → mocks}/exceptions.rb +3 -5
- data/lib/spec/{api/mocks → mocks}/message_expectation.rb +15 -9
- data/lib/spec/{api/mocks → mocks}/mock.rb +44 -26
- data/lib/spec/{api/mocks → mocks}/order_group.rb +1 -1
- data/lib/spec/runner/backtrace_tweaker.rb +4 -1
- data/lib/spec/runner/execution_context.rb +13 -4
- data/lib/spec/runner/formatter/base_text_formatter.rb +26 -13
- data/lib/spec/runner/formatter/html_formatter.rb +1 -1
- data/lib/spec/runner/option_parser.rb +6 -2
- data/lib/spec/runner/specification.rb +2 -2
- data/lib/spec/test_to_spec/ruby2ruby.rb +1 -1
- data/lib/spec/version.rb +1 -1
- data/test/spec/expectations/arbitrary_operator_test.rb +55 -0
- data/test/spec/expectations/arbitrary_predicate_test.rb +163 -0
- data/test/spec/{api/helper → expectations}/containment_test.rb +2 -2
- data/test/spec/expectations/diff_test.rb +62 -0
- data/test/spec/{api/helper → expectations}/identity_test.rb +2 -2
- data/test/spec/{api/helper → expectations}/object_equality_test.rb +2 -2
- data/test/spec/{api/helper → expectations}/raising_test.rb +5 -5
- data/test/spec/{api/helper → expectations}/regex_matching_test.rb +6 -6
- data/test/spec/{api/helper → expectations}/should_have_test.rb +11 -2
- data/test/spec/{api/helper → expectations}/should_satisfy_test.rb +2 -4
- data/test/spec/{api → expectations}/sugar_test.rb +8 -8
- data/test/spec/expectations/supported_symbols_test.rb +33 -0
- data/test/spec/{api/helper → expectations}/throwing_test.rb +2 -2
- data/test/spec/{api/helper → expectations}/true_false_special_case_test.rb +2 -2
- data/test/spec/{api/helper → expectations}/typing_test.rb +2 -2
- data/test/spec/{api/mocks → mocks}/mock_arg_constraints_test.rb +4 -4
- data/test/spec/{api/mocks → mocks}/mock_counts_test.rb +2 -2
- data/test/spec/{api/mocks → mocks}/mock_ordering_test.rb +2 -2
- data/test/spec/{api/mocks → mocks}/mock_test.rb +22 -7
- data/test/spec/{api/mocks → mocks}/null_object_test.rb +8 -2
- data/test/spec/runner/backtrace_tweaker_test.rb +21 -19
- data/test/spec/runner/context_matching_test.rb +2 -2
- data/test/spec/runner/context_runner_test.rb +6 -6
- data/test/spec/runner/context_test.rb +1 -1
- data/test/spec/runner/execution_context_test.rb +22 -5
- data/test/spec/runner/formatter/failure_dump_test.rb +7 -7
- data/test/spec/runner/option_parser_test.rb +20 -0
- data/test/spec/runner/reporter_test.rb +3 -3
- data/test/spec/runner/specification_test.rb +3 -3
- data/test/spec/test_to_spec/sexp_transformer_assertion_test.rb +4 -4
- data/test/spec/test_to_spec/sexp_transformer_test.rb +1 -1
- data/test/spec/test_to_spec/testfiles/test_unit_api_test.rb +2 -2
- data/test/test_classes.rb +21 -1
- data/test/test_helper.rb +1 -1
- data/vendor/selenium/README.txt +23 -0
- data/vendor/selenium/find_rspecs_home_page.rb +23 -0
- data/vendor/selenium/rspec_selenium.rb +33 -0
- data/vendor/watir/README.txt +32 -0
- data/vendor/watir/find_rspecs_home_page.rb +21 -0
- data/vendor/watir/find_rspecs_home_page.txt +15 -0
- data/vendor/watir/rspec_watir.rb +45 -0
- metadata +52 -41
- data/examples/airport_spec.rb +0 -33
- data/examples/custom_method_spec.rb +0 -24
- data/examples/sugar_spec.rb +0 -14
- data/lib/spec/api.rb +0 -8
- data/lib/spec/api/expectations.rb +0 -17
- data/lib/spec/api/helper.rb +0 -4
- data/lib/spec/api/helper/diff.rb +0 -54
- data/lib/spec/api/helper/have_helper.rb +0 -40
- data/lib/spec/api/helper/should_base.rb +0 -31
- data/lib/spec/api/helper/should_helper.rb +0 -93
- data/lib/spec/api/helper/should_negator.rb +0 -72
- data/test/spec/api/helper/arbitrary_predicate_test.rb +0 -112
- data/test/spec/api/helper/diff_test.rb +0 -60
@@ -16,15 +16,15 @@ module Spec
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_should_add_spacing_between_sections
|
19
|
-
error = Spec::
|
19
|
+
error = Spec::Expectations::ExpectationNotMetError.new "message"
|
20
20
|
set_backtrace error
|
21
21
|
@reporter.spec_finished "spec", error, "spec"
|
22
22
|
@reporter.dump
|
23
|
-
assert_match(/\nF\n\n1\)\nSpec::
|
23
|
+
assert_match(/\nF\n\n1\)\nSpec::Expectations::ExpectationNotMetError in 'context spec'\nmessage\n\/a\/b\/c\/d\/e.rb:34:in `spec'\n\nFinished in /, @io.string)
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_should_end_with_line_break
|
27
|
-
error = Spec::
|
27
|
+
error = Spec::Expectations::ExpectationNotMetError.new "message"
|
28
28
|
set_backtrace error
|
29
29
|
@reporter.spec_finished "spec", error, "spec"
|
30
30
|
@reporter.dump
|
@@ -32,11 +32,11 @@ module Spec
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_should_include_informational_header
|
35
|
-
error = Spec::
|
35
|
+
error = Spec::Expectations::ExpectationNotMetError.new "message"
|
36
36
|
set_backtrace error
|
37
37
|
@reporter.spec_finished "spec", error, "spec"
|
38
38
|
@reporter.dump
|
39
|
-
assert_match(/^Spec::
|
39
|
+
assert_match(/^Spec::Expectations::ExpectationNotMetError in 'context spec'/, @io.string)
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_should_include_context_and_spec_name_in_backtrace_if_error_in_spec
|
@@ -81,11 +81,11 @@ module Spec
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def test_spacing_between_sections
|
84
|
-
error = Spec::
|
84
|
+
error = Spec::Expectations::ExpectationNotMetError.new "message"
|
85
85
|
set_backtrace error
|
86
86
|
@reporter.spec_finished "spec", error, "spec"
|
87
87
|
@reporter.dump
|
88
|
-
assert_match(/\ncontext\n- spec \(FAILED - 1\)\n\n1\)\nSpec::
|
88
|
+
assert_match(/\ncontext\n- spec \(FAILED - 1\)\n\n1\)\nSpec::Expectations::ExpectationNotMetError in 'context spec'\nmessage\n\/a\/b\/c\/d\/e.rb:34:in `spec'\n\nFinished in /, @io.string)
|
89
89
|
end
|
90
90
|
|
91
91
|
end
|
@@ -116,6 +116,26 @@ module Spec
|
|
116
116
|
options = OptionParser.parse(["-s","something or other"], false, @err, @out)
|
117
117
|
assert_equal "something or other", options.spec_name
|
118
118
|
end
|
119
|
+
|
120
|
+
def test_should_not_use_colour_by_default
|
121
|
+
options = OptionParser.parse([], false, @err, @out)
|
122
|
+
assert !options.colour
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_should_support_queens_colour_option
|
126
|
+
options = OptionParser.parse(["--colour"], false, @err, @out)
|
127
|
+
assert options.colour
|
128
|
+
end
|
129
|
+
|
130
|
+
def test_should_support_us_color_option
|
131
|
+
options = OptionParser.parse(["--color"], false, @err, @out)
|
132
|
+
assert options.colour
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_should_support_c_option
|
136
|
+
options = OptionParser.parse(["-c"], false, @err, @out)
|
137
|
+
assert options.colour
|
138
|
+
end
|
119
139
|
end
|
120
140
|
end
|
121
141
|
end
|
@@ -6,8 +6,8 @@ module Spec
|
|
6
6
|
|
7
7
|
def setup
|
8
8
|
@io = StringIO.new
|
9
|
-
@backtrace_tweaker = Spec::
|
10
|
-
@formatter = Spec::
|
9
|
+
@backtrace_tweaker = Spec::Mocks::Mock.new("backtrace tweaker")
|
10
|
+
@formatter = Spec::Mocks::Mock.new("formatter")
|
11
11
|
@reporter = Reporter.new(@formatter, @backtrace_tweaker)
|
12
12
|
end
|
13
13
|
|
@@ -120,7 +120,7 @@ module Spec
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def failure
|
123
|
-
|
123
|
+
Mocks::DuckTypeArgConstraint.new(:header, :message, :backtrace)
|
124
124
|
end
|
125
125
|
|
126
126
|
end
|
@@ -4,7 +4,7 @@ module Spec
|
|
4
4
|
class SpecificationTest < Test::Unit::TestCase
|
5
5
|
|
6
6
|
def setup
|
7
|
-
@reporter =
|
7
|
+
@reporter = Spec::Mocks::Mock.new "reporter"
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_should_run_spec_in_scope_of_execution_context
|
@@ -47,11 +47,11 @@ module Spec
|
|
47
47
|
@reporter.should_receive(:spec_started).with "spec"
|
48
48
|
@reporter.should_receive(:spec_finished) do |spec_name, error|
|
49
49
|
spec_name.should_equal "spec"
|
50
|
-
error.message.should_match
|
50
|
+
error.message.should_match(/expected 'poke' once, but received it 0 times/)
|
51
51
|
end
|
52
52
|
spec.run @reporter
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
def test_should_run_teardown_even_when_main_block_fails
|
56
56
|
spec = Specification.new("spec") do
|
57
57
|
raise "in body"
|
@@ -111,13 +111,13 @@ module Spec
|
|
111
111
|
end
|
112
112
|
|
113
113
|
def test_assert_match
|
114
|
-
assert_match
|
115
|
-
'foo'.should_match
|
114
|
+
assert_match(/foo/, 'foo')
|
115
|
+
'foo'.should_match(/foo/)
|
116
116
|
end
|
117
117
|
|
118
118
|
def test_assert_no_match
|
119
|
-
assert_no_match
|
120
|
-
'bar'.should_not_match
|
119
|
+
assert_no_match(/foo/, 'bar')
|
120
|
+
'bar'.should_not_match(/foo/)
|
121
121
|
end
|
122
122
|
|
123
123
|
def test_assert_respond_to
|
@@ -29,9 +29,9 @@ class TestUnitApiTest < Test::Unit::TestCase
|
|
29
29
|
assert_in_delta 123.5, a_float, 0.1, "a message"
|
30
30
|
assert_instance_of Fixnum, @an_int, "a message"
|
31
31
|
assert_kind_of Numeric, @an_int, "a message"
|
32
|
-
assert_match
|
32
|
+
assert_match(/789/ , @an_int.to_s)
|
33
33
|
assert_nil a_nil
|
34
|
-
assert_no_match
|
34
|
+
assert_no_match(/7890/, @an_int.to_s, "a message")
|
35
35
|
assert_not_equal 780, @an_int
|
36
36
|
assert_not_nil @an_int, "a message"
|
37
37
|
assert_not_same @an_int, a_float, "a message"
|
data/test/test_classes.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# They are kept in a separate file so that they can also
|
3
3
|
# be accessed by the test2spec-translated specs
|
4
4
|
module Spec
|
5
|
-
module
|
5
|
+
module Expectations
|
6
6
|
class Person
|
7
7
|
attr_reader :name
|
8
8
|
def initialize name
|
@@ -46,6 +46,12 @@ module Spec
|
|
46
46
|
def add_to_collection_with_length_method(item)
|
47
47
|
@items_in_collection_with_length_method.push(item)
|
48
48
|
end
|
49
|
+
|
50
|
+
def items_for(arg)
|
51
|
+
return [1, 2, 3] if arg == 'a'
|
52
|
+
[1]
|
53
|
+
end
|
54
|
+
|
49
55
|
end
|
50
56
|
|
51
57
|
class HandCodedMock
|
@@ -66,11 +72,25 @@ module Spec
|
|
66
72
|
@funny_called = true
|
67
73
|
@return_val
|
68
74
|
end
|
75
|
+
|
76
|
+
def exists?
|
77
|
+
@return_val
|
78
|
+
end
|
79
|
+
|
80
|
+
def multi_word_predicate?
|
81
|
+
@return_val
|
82
|
+
end
|
69
83
|
|
70
84
|
def __verify
|
71
85
|
@funny_called.should_be true
|
72
86
|
end
|
73
87
|
end
|
88
|
+
class ClassWithUnqueriedPredicate
|
89
|
+
attr_accessor :foo
|
90
|
+
def initialize(foo)
|
91
|
+
@foo = foo
|
92
|
+
end
|
93
|
+
end
|
74
94
|
end
|
75
95
|
end
|
76
96
|
end
|
data/test/test_helper.rb
CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.push File.dirname(__FILE__) + '/../test'
|
|
5
5
|
require 'spec'
|
6
6
|
require 'test_classes'
|
7
7
|
RSPEC_TESTING = true unless defined? RSPEC_TESTING # This causes the diff extension to not be loaded
|
8
|
-
require 'spec/
|
8
|
+
require 'spec/expectations/diff'
|
9
9
|
$context_runner = ::Spec::Runner::OptionParser.create_context_runner(['test'], false, STDERR, STDOUT)
|
10
10
|
|
11
11
|
# helpers for test_to_spec tests
|
@@ -0,0 +1,23 @@
|
|
1
|
+
= Using Selenium with RSpec =
|
2
|
+
(Also see ../watir/README.txt)
|
3
|
+
|
4
|
+
The files in this directory are examples illustrating how to use Selenium
|
5
|
+
from RSpec. In addition to Ruby and RSpec you need:
|
6
|
+
|
7
|
+
* Install Java 1.4 or later
|
8
|
+
* Download SeleniumRC 0.8.1 or later (http://www.openqa.org/selenium-rc/)
|
9
|
+
* Copy selenium-server.jar into this directory.
|
10
|
+
* Copy selenium.rb into this directory.
|
11
|
+
|
12
|
+
After this is installed, open two shells.
|
13
|
+
|
14
|
+
In the first one, run:
|
15
|
+
|
16
|
+
java -jar selenium-server.jar
|
17
|
+
|
18
|
+
In the second one, run:
|
19
|
+
|
20
|
+
ruby find_rspecs_home_page.rb --format specdoc
|
21
|
+
|
22
|
+
NOTE
|
23
|
+
If you want to optimize speed (by sacrificing spec independence) you may apply the patch start_browser_once.patch
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/rspec_selenium'
|
2
|
+
|
3
|
+
context "Google's search page" do
|
4
|
+
|
5
|
+
setup do
|
6
|
+
@browser = Selenium::SeleneseInterpreter.new("localhost", 4444, "*firefox", "http://www.google.no", 10000)
|
7
|
+
@browser.start
|
8
|
+
@browser.open('http://www.google.no')
|
9
|
+
end
|
10
|
+
|
11
|
+
specify "should find rspec's home page when I search for rspec" do
|
12
|
+
@browser.type "name=q", "rspec"
|
13
|
+
@browser.click_and_wait "name=btnG"
|
14
|
+
@browser.is_text_present("rspec.rubyforge.org").should_be(true)
|
15
|
+
end
|
16
|
+
|
17
|
+
specify "should not find Ali G when I search for rspec" do
|
18
|
+
@browser.type "name=q", "rspec"
|
19
|
+
@browser.click_and_wait "name=btnG"
|
20
|
+
@browser.is_text_present("Ali G").should_be(false)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'spec'
|
3
|
+
require File.dirname(__FILE__) + '/selenium'
|
4
|
+
|
5
|
+
class RSpecSelenium
|
6
|
+
def teardown
|
7
|
+
@browser.stop
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
module Spec
|
12
|
+
module Runner
|
13
|
+
class Context
|
14
|
+
def before_context_eval
|
15
|
+
inherit RSpecSelenium
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
module Selenium
|
22
|
+
class SeleneseInterpreter
|
23
|
+
def click_and_wait(locator, timeout="5000")
|
24
|
+
click(locator)
|
25
|
+
wait_for_page_to_load timeout
|
26
|
+
end
|
27
|
+
|
28
|
+
def open_and_wait(url, timeout="5000")
|
29
|
+
open(url)
|
30
|
+
wait_for_page_to_load timeout
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
= Using Watir with RSpec =
|
2
|
+
|
3
|
+
Watir provides a Ruby API to talk to a browser (Internet Explorer).
|
4
|
+
Many people use Watir to *test* web applications, but it is also excellent
|
5
|
+
for *specifying* the *intended behaviour* of a web application. Even
|
6
|
+
for web applications that don't yet exist!
|
7
|
+
|
8
|
+
Customers, QA people, testers and programmers can translate user story
|
9
|
+
acceptance criteria to executable specs based on RSpec and Watir. Take
|
10
|
+
a look at find_rspecs_home_page.txt (the story) with find_rspecs_home_page.rb
|
11
|
+
(the associated spec).
|
12
|
+
|
13
|
+
One of the great benefits of using Watir with RSpec as opposed to using
|
14
|
+
Watir 'alone' or Watir with Test::Unit is RSpec's specdoc feature, which
|
15
|
+
is a great way to see what behaviour is actually implemented and in a working
|
16
|
+
condition. It also makes the behaviour of your webapp more transparent to
|
17
|
+
customers. They can say "The specdoc says foo, but I meant bar. We need to talk".
|
18
|
+
|
19
|
+
This directory contains a simple example to illustrate this. After you
|
20
|
+
have installed Ruby, Watir and RSpec, open a shell, go to this directory
|
21
|
+
and type:
|
22
|
+
|
23
|
+
ruby find_rspecs_home_page.rb --format specdoc
|
24
|
+
|
25
|
+
Or better:
|
26
|
+
|
27
|
+
ruby find_rspecs_home_page.rb --format html > find_rspecs_home_page.html
|
28
|
+
|
29
|
+
And upload find_rspecs_home_page.html to your project's web page or intranet.
|
30
|
+
This will give immediate visibility to the intended behaviour of your web app,
|
31
|
+
as well as whether it's working as expected or not.
|
32
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/rspec_watir'
|
2
|
+
|
3
|
+
context "Google's search page" do
|
4
|
+
|
5
|
+
setup do
|
6
|
+
@browser.goto('http://www.google.com')
|
7
|
+
end
|
8
|
+
|
9
|
+
specify "should find rspec's home page when I search for rspec" do
|
10
|
+
@browser.text_field(:name, "q").set("rspec")
|
11
|
+
@browser.button(:name, "btnG").click
|
12
|
+
@browser.should_contain("rspec.rubyforge.org") # should_contain_text is RSpec sugar
|
13
|
+
end
|
14
|
+
|
15
|
+
specify "should not find Ali G when I search for rspec" do
|
16
|
+
@browser.text_field(:name, "q").set("rspec")
|
17
|
+
@browser.button(:name, "btnG").click
|
18
|
+
@browser.should_not_contain("Ali G")
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
= Find RSpec's home page =
|
2
|
+
|
3
|
+
As an agile customer
|
4
|
+
I want to easily find RSpec's home page
|
5
|
+
So that I can learn about this fantastic tool
|
6
|
+
|
7
|
+
I will know that we are done when:
|
8
|
+
|
9
|
+
Given I am on Google's search page
|
10
|
+
When I search for 'rspec'
|
11
|
+
Then http://rspec.rubyforge.org/ should be the top result
|
12
|
+
|
13
|
+
Given I am on Google's search page
|
14
|
+
When I search for 'rspec'
|
15
|
+
Then Ali G (who says respec a lot) is not among the results
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'spec'
|
3
|
+
require 'watir'
|
4
|
+
|
5
|
+
# Comment out to enable ActiveRecord fixtures
|
6
|
+
#require 'active_record'
|
7
|
+
#require 'active_record/fixtures'
|
8
|
+
#config = YAML::load_file(File.dirname(__FILE__) + '/database.yml')
|
9
|
+
#$fixture_path = File.dirname(__FILE__) + '/fixtures'
|
10
|
+
#ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
|
11
|
+
#ActiveRecord::Base.establish_connection(config['db'])
|
12
|
+
|
13
|
+
class RSpecWatir
|
14
|
+
def setup
|
15
|
+
#Fixtures.create_fixtures($fixture_path, @@fixtures)
|
16
|
+
@browser = Watir::IE.new
|
17
|
+
end
|
18
|
+
|
19
|
+
def teardown
|
20
|
+
@browser.close
|
21
|
+
end
|
22
|
+
|
23
|
+
#def self.fixtures(*testdata)
|
24
|
+
# @@fixtures = testdata
|
25
|
+
#end
|
26
|
+
end
|
27
|
+
|
28
|
+
module Spec
|
29
|
+
module Runner
|
30
|
+
class Context
|
31
|
+
def before_context_eval
|
32
|
+
inherit RSpecWatir
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# Extensions to Watir to make it play nicer with RSpec
|
39
|
+
module Watir
|
40
|
+
class IE
|
41
|
+
# @browser.should_contain("bla bla")
|
42
|
+
# @browser.should_not_contain("bla bla")
|
43
|
+
alias_method :contain?, :contains_text
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.
|
2
|
+
rubygems_version: 0.9.0
|
3
3
|
specification_version: 1
|
4
4
|
name: rspec
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.6.
|
7
|
-
date: 2006-
|
8
|
-
summary: RSpec-0.6.
|
6
|
+
version: 0.6.4
|
7
|
+
date: 2006-10-01 00:00:00 -05:00
|
8
|
+
summary: RSpec-0.6.4 - BDD for Ruby http://rspec.rubyforge.org/
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: rspec-devel@rubyforge.org
|
@@ -25,6 +25,7 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
25
25
|
platform: ruby
|
26
26
|
signing_key:
|
27
27
|
cert_chain:
|
28
|
+
post_install_message:
|
28
29
|
authors:
|
29
30
|
- Steven Baker, Aslak Hellesoy, Dave Astels, David Chelimsky
|
30
31
|
files:
|
@@ -33,22 +34,24 @@ files:
|
|
33
34
|
- Rakefile
|
34
35
|
- README
|
35
36
|
- lib/spec.rb
|
36
|
-
- lib/spec/
|
37
|
+
- lib/spec/expectations.rb
|
38
|
+
- lib/spec/mocks.rb
|
37
39
|
- lib/spec/runner.rb
|
38
40
|
- lib/spec/version.rb
|
39
|
-
- lib/spec/
|
40
|
-
- lib/spec/
|
41
|
-
- lib/spec/
|
42
|
-
- lib/spec/
|
43
|
-
- lib/spec/
|
44
|
-
- lib/spec/
|
45
|
-
- lib/spec/
|
46
|
-
- lib/spec/
|
47
|
-
- lib/spec/
|
48
|
-
- lib/spec/
|
49
|
-
- lib/spec/
|
50
|
-
- lib/spec/
|
51
|
-
- lib/spec/
|
41
|
+
- lib/spec/expectations/diff.rb
|
42
|
+
- lib/spec/expectations/exceptions.rb
|
43
|
+
- lib/spec/expectations/expectations.rb
|
44
|
+
- lib/spec/expectations/have_helper.rb
|
45
|
+
- lib/spec/expectations/helper.rb
|
46
|
+
- lib/spec/expectations/should_base.rb
|
47
|
+
- lib/spec/expectations/should_helper.rb
|
48
|
+
- lib/spec/expectations/should_negator.rb
|
49
|
+
- lib/spec/expectations/sugar.rb
|
50
|
+
- lib/spec/mocks/argument_expectation.rb
|
51
|
+
- lib/spec/mocks/exceptions.rb
|
52
|
+
- lib/spec/mocks/message_expectation.rb
|
53
|
+
- lib/spec/mocks/mock.rb
|
54
|
+
- lib/spec/mocks/order_group.rb
|
52
55
|
- lib/spec/rake/rcov_verify.rb
|
53
56
|
- lib/spec/rake/spectask.rb
|
54
57
|
- lib/spec/runner/backtrace_tweaker.rb
|
@@ -74,24 +77,26 @@ files:
|
|
74
77
|
- lib/spec/test_to_spec/translation_test_runner.rb
|
75
78
|
- test/test_classes.rb
|
76
79
|
- test/test_helper.rb
|
77
|
-
- test/spec/
|
78
|
-
- test/spec/
|
79
|
-
- test/spec/
|
80
|
-
- test/spec/
|
81
|
-
- test/spec/
|
82
|
-
- test/spec/
|
83
|
-
- test/spec/
|
84
|
-
- test/spec/
|
85
|
-
- test/spec/
|
86
|
-
- test/spec/
|
87
|
-
- test/spec/
|
88
|
-
- test/spec/
|
89
|
-
- test/spec/
|
90
|
-
- test/spec/
|
91
|
-
- test/spec/
|
92
|
-
- test/spec/
|
93
|
-
- test/spec/
|
94
|
-
- test/spec/
|
80
|
+
- test/spec/expectations/arbitrary_operator_test.rb
|
81
|
+
- test/spec/expectations/arbitrary_predicate_test.rb
|
82
|
+
- test/spec/expectations/containment_test.rb
|
83
|
+
- test/spec/expectations/diff_test.rb
|
84
|
+
- test/spec/expectations/identity_test.rb
|
85
|
+
- test/spec/expectations/object_equality_test.rb
|
86
|
+
- test/spec/expectations/raising_test.rb
|
87
|
+
- test/spec/expectations/regex_matching_test.rb
|
88
|
+
- test/spec/expectations/should_have_test.rb
|
89
|
+
- test/spec/expectations/should_satisfy_test.rb
|
90
|
+
- test/spec/expectations/sugar_test.rb
|
91
|
+
- test/spec/expectations/supported_symbols_test.rb
|
92
|
+
- test/spec/expectations/throwing_test.rb
|
93
|
+
- test/spec/expectations/true_false_special_case_test.rb
|
94
|
+
- test/spec/expectations/typing_test.rb
|
95
|
+
- test/spec/mocks/mock_arg_constraints_test.rb
|
96
|
+
- test/spec/mocks/mock_counts_test.rb
|
97
|
+
- test/spec/mocks/mock_ordering_test.rb
|
98
|
+
- test/spec/mocks/mock_test.rb
|
99
|
+
- test/spec/mocks/null_object_test.rb
|
95
100
|
- test/spec/runner/backtrace_tweaker_test.rb
|
96
101
|
- test/spec/runner/context_matching_test.rb
|
97
102
|
- test/spec/runner/context_runner_test.rb
|
@@ -113,19 +118,25 @@ files:
|
|
113
118
|
- test/spec/test_to_spec/test_case_ext_test.rb
|
114
119
|
- test/spec/test_to_spec/testfiles/test_unit_api_spec.rb
|
115
120
|
- test/spec/test_to_spec/testfiles/test_unit_api_test.rb
|
116
|
-
- examples/airport_spec.rb
|
117
|
-
- examples/bdd_framework_spec.rb
|
118
121
|
- examples/custom_formatter.rb
|
119
|
-
- examples/custom_method_spec.rb
|
120
122
|
- examples/file_accessor.rb
|
121
123
|
- examples/file_accessor_spec.rb
|
124
|
+
- examples/helper_method_spec.rb
|
122
125
|
- examples/io_processor.rb
|
123
126
|
- examples/io_processor_spec.rb
|
124
|
-
- examples/
|
127
|
+
- examples/mocking_example.rb
|
128
|
+
- examples/predicate_example.rb
|
125
129
|
- examples/stack.rb
|
126
130
|
- examples/stack_spec.rb
|
127
|
-
- examples/
|
131
|
+
- examples/stubbing_example.rb
|
128
132
|
- examples/test_case_spec.rb
|
133
|
+
- vendor/watir/find_rspecs_home_page.rb
|
134
|
+
- vendor/watir/rspec_watir.rb
|
135
|
+
- vendor/watir/find_rspecs_home_page.txt
|
136
|
+
- vendor/watir/README.txt
|
137
|
+
- vendor/selenium/find_rspecs_home_page.rb
|
138
|
+
- vendor/selenium/rspec_selenium.rb
|
139
|
+
- vendor/selenium/README.txt
|
129
140
|
test_files: []
|
130
141
|
|
131
142
|
rdoc_options:
|