rspec 0.6.3 → 0.6.4
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.
- 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:
|