elabs_matchers 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/.gitignore +4 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +61 -0
  5. data/README.rdoc +45 -0
  6. data/Rakefile +17 -0
  7. data/doc/ElabsMatchers.html +106 -0
  8. data/doc/ElabsMatchers/Matchers.html +93 -0
  9. data/doc/ElabsMatchers/Matchers/Capybara.html +81 -0
  10. data/doc/ElabsMatchers/Matchers/Rspec.html +81 -0
  11. data/doc/_index.html +140 -0
  12. data/doc/class_list.html +36 -0
  13. data/doc/css/common.css +1 -0
  14. data/doc/css/full_list.css +53 -0
  15. data/doc/css/style.css +318 -0
  16. data/doc/file.README.html +102 -0
  17. data/doc/file_list.html +38 -0
  18. data/doc/frames.html +13 -0
  19. data/doc/index.html +102 -0
  20. data/doc/js/app.js +203 -0
  21. data/doc/js/full_list.js +149 -0
  22. data/doc/js/jquery.js +16 -0
  23. data/doc/method_list.html +35 -0
  24. data/doc/top-level-namespace.html +88 -0
  25. data/elabs_matchers.gemspec +27 -0
  26. data/lib/elabs_matchers.rb +19 -0
  27. data/lib/elabs_matchers/cucumber/common.rb +57 -0
  28. data/lib/elabs_matchers/helpers/capybara.rb +24 -0
  29. data/lib/elabs_matchers/helpers/common.rb +27 -0
  30. data/lib/elabs_matchers/helpers/fixtures.rb +21 -0
  31. data/lib/elabs_matchers/helpers/orm.rb +32 -0
  32. data/lib/elabs_matchers/helpers/session.rb +26 -0
  33. data/lib/elabs_matchers/matchers/capybara/common.rb +200 -0
  34. data/lib/elabs_matchers/matchers/rspec/common.rb +59 -0
  35. data/lib/elabs_matchers/matchers/rspec/orm.rb +29 -0
  36. data/lib/elabs_matchers/orm/post.rb +27 -0
  37. data/lib/elabs_matchers/version.rb +3 -0
  38. data/spec/elabs_matchers/cucumber/common_spec.rb +49 -0
  39. data/spec/elabs_matchers/helpers/capybara_spec.rb +32 -0
  40. data/spec/elabs_matchers/helpers/common_spec.rb +25 -0
  41. data/spec/elabs_matchers/helpers/fixtures_spec.rb +9 -0
  42. data/spec/elabs_matchers/helpers/orm_spec.rb +22 -0
  43. data/spec/elabs_matchers/matchers/capybara/common_spec.rb +202 -0
  44. data/spec/elabs_matchers/matchers/rspec/common_spec.rb +74 -0
  45. data/spec/elabs_matchers/matchers/rspec/orm_spec.rb +16 -0
  46. data/spec/fixtures/file.txt +1 -0
  47. data/spec/spec_helper.rb +11 -0
  48. metadata +192 -0
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElabsMatchers::Helpers::Capybara do
4
+ let(:page) { Capybara::Session.new(:rack_test, proc { |env| [200, {}, [html]]}) }
5
+ let(:html) do
6
+ %Q{
7
+ <label for="post_date_1i">Date</label>
8
+ <select id="post_date_1i" name="post[date(1i)]">
9
+ <option value='2009' selected='selected'>2009</option>
10
+ <option value='2010'>2010</option>
11
+ </select>
12
+ <select id="post_date_2i" name="post[date(2i)]">
13
+ <option value='1' selected='selected'>January</option>
14
+ <option value='2'>February</option>
15
+ </select>
16
+ }
17
+ end
18
+
19
+ before do
20
+ page.extend(ElabsMatchers::Helpers::Capybara)
21
+ page.visit "/"
22
+ end
23
+
24
+ describe "#select_year_and_month" do
25
+ it "selects the year and momth selects" do
26
+ page.select_year_and_month('2010', 'February', :from => "Date")
27
+
28
+ page.find("#post_date_1i").find('option[selected]').text.should == "2010"
29
+ page.find("#post_date_2i").find('option[selected]').text.should == "February"
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElabsMatchers::Helpers::Common do
4
+ describe "normalize_keys" do
5
+ it "turns the keys into symbols" do
6
+ normalize_keys("First name" => "Adam").keys.first.should == "first_name"
7
+ end
8
+
9
+ it "turns paramaterizes the key with _ as seperator" do
10
+ normalize_keys("First name" => "Adam").keys.first.should == "first_name"
11
+ end
12
+
13
+ it "doesn't change the values" do
14
+ normalize_keys("First name" => "Adam").values.first.should == "Adam"
15
+ end
16
+
17
+ it "turns the hash into a HashWithIndifferentAccess" do
18
+ normalize_keys("First name" => "Adam").class.should == HashWithIndifferentAccess
19
+ end
20
+
21
+ it "works with several pairs" do
22
+ normalize_keys("First name" => "Douglas", "Last name" => "Adams").should == { "first_name" => "Douglas", "last_name" => "Adams" }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElabsMatchers::Helpers::Fixtures do
4
+ describe "#fixture_file" do
5
+ it "opens the file from the fixtures file" do
6
+ fixture_file("file.txt").read.should == "My file content."
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElabsMatchers::Helpers::Orm do
4
+ let(:post) { ElabsMatchers::Orm::Post.create(:title => "New") }
5
+
6
+ describe "#save_and_reload" do
7
+ it "it saves the record" do
8
+ post.title = "Updated"
9
+ save_and_reload(post).title.should == "Updated"
10
+ end
11
+
12
+ it "it reloads the record" do
13
+ save_and_reload(post).object_id.should_not == post.object_id
14
+ end
15
+ end
16
+
17
+ describe "#reload" do
18
+ it "it reloads the record" do
19
+ reload(post).object_id.should_not == post.object_id
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,202 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElabsMatchers::Matchers::Capybara::Common do
4
+ describe "#have_options" do
5
+ let(:html) { Capybara.string("<select><option value='1'>A</option><option value='2'>B</option></select>") }
6
+
7
+ it "returns true if the select tag have the requested option tags" do
8
+ html.should have_options("A", "B")
9
+ end
10
+
11
+ it "returns true if given some of the options" do
12
+ html.should have_options("B")
13
+ end
14
+
15
+ it "returns false if the select tag does not have the requested option tags" do
16
+ html.should_not have_options("A", "C")
17
+ end
18
+ end
19
+
20
+ describe "#have_table_row" do
21
+ let(:html) do
22
+ Capybara.string(%Q{
23
+ <table>
24
+ <caption>Posts</caption>
25
+ <thead>
26
+ <tr><th>Title</th><th>Author</th></tr>
27
+ </thead>
28
+ <tbody>
29
+ <tr><td>First</td><td>Adam</td></tr>
30
+ <tr><td>Second</td><td>David</td></tr>
31
+ </tbody>
32
+ </table>
33
+ })
34
+ end
35
+
36
+ it "returns true when the one of the pairs in the row exists" do
37
+ html.should have_table_row("Posts", "Title" => "First")
38
+ end
39
+
40
+ it "returns true when the all of the pairs in the row exists" do
41
+ html.should have_table_row("Posts", "Title" => "First", "Author" => "Adam")
42
+ end
43
+
44
+ it "returns false when the header is wrong and the value is correct" do
45
+ html.should_not have_table_row("Posts", "Label" => "First")
46
+ end
47
+
48
+ it "returns false when the header is correct and the value is wrong" do
49
+ html.should_not have_table_row("Posts", "Title" => "Third")
50
+ end
51
+
52
+ it "returns false when on of the pairs is wrong" do
53
+ html.should_not have_table_row("Posts", "Title" => "First", "Author" => "David")
54
+ end
55
+
56
+ it "returns false when given the value of another column" do
57
+ html.should_not have_table_row("Posts", "Title" => "Adam")
58
+ end
59
+ end
60
+
61
+ describe "#have_attribute" do
62
+ let(:html) do
63
+ Capybara.string(%Q{<div class="show_for post" id="post_1">
64
+ <p class="wrapper post_status"><strong class="label">Title</strong><br />First</p>
65
+ <p class="wrapper post_status"><strong class="label">Author</strong><br />Adam</p>
66
+ </div>})
67
+ end
68
+
69
+ it "returns true when the label exists with the supplied value" do
70
+ html.should have_attribute("Title", "First")
71
+ end
72
+
73
+ it "returns false when the label exists with but the value is wrong" do
74
+ html.should_not have_attribute("Title", "Wrong")
75
+ end
76
+
77
+ it "returns false when the label does not exist even if the value does" do
78
+ html.should_not have_attribute("Wrong", "First")
79
+ end
80
+ end
81
+
82
+ describe "#have_image" do
83
+ let(:html) { Capybara.string(%Q{<div><img src="logo.png" alt="Logo" /></div>}) }
84
+
85
+ it "returns true if the image exists on the page" do
86
+ html.should have_image("Logo")
87
+ end
88
+
89
+ it "returns false if the image doesn't exist on the page" do
90
+ html.should_not have_image("Avatar")
91
+ end
92
+ end
93
+
94
+ describe "#have_header" do
95
+ let(:html) { Capybara.string(%Q{<div><h1>Elabs</h1><h2>Bespoke</h2><h3>Development</h3></div>}) }
96
+
97
+ it "returns true if given the content of a h1 tag" do
98
+ html.should have_header("Elabs")
99
+ end
100
+
101
+ it "returns true if given the content of a h2 tag" do
102
+ html.should have_header("Bespoke")
103
+ end
104
+
105
+ it "returns false if given the content of a h3 tag" do
106
+ html.should_not have_header("Development")
107
+ end
108
+
109
+ it "returns false if the content doesn't exist on the page" do
110
+ html.should_not have_header("Bugs")
111
+ end
112
+ end
113
+
114
+ describe "#have_flash_notice" do
115
+ let(:html) { Capybara.string(%Q{<div id="flash" class="notice">Success</div><h1>Elabs</h1>}) }
116
+
117
+ it "returns true if given the content of the flash notice" do
118
+ html.should have_flash_notice("Success")
119
+ end
120
+
121
+ it "returns false if given content outside the flash notice" do
122
+ html.should_not have_flash_notice("Elabs")
123
+ end
124
+
125
+ it "returns false if the content doesn't exist on the page" do
126
+ html.should_not have_flash_notice("Failure")
127
+ end
128
+ end
129
+
130
+ describe "#have_flash_alert" do
131
+ let(:html) { Capybara.string(%Q{<div id="flash" class="alert">Error</div><h1>Elabs</h1>}) }
132
+
133
+ it "returns true if given the content of the flash alert" do
134
+ html.should have_flash_alert("Error")
135
+ end
136
+
137
+ it "returns false if given content outside the flash alert" do
138
+ html.should_not have_flash_alert("Elabs")
139
+ end
140
+
141
+ it "returns false if the content doesn't exist on the page" do
142
+ html.should_not have_flash_alert("Success")
143
+ end
144
+ end
145
+
146
+ describe "#have_form_errors_on" do
147
+ let(:html) do
148
+ Capybara.string(%Q{
149
+ <form>
150
+ <span class="error">Can't be blank</span>
151
+ <label for="name">Name</label>
152
+ <input type="text" name="name" id="name" value="" />
153
+ </form>
154
+ })
155
+ end
156
+
157
+ it "returns true if the label and the error message is correct" do
158
+ html.should have_form_errors_on("Name", "Can't be blank")
159
+ end
160
+
161
+ it "returns false if the label is correct by the error message is wrong" do
162
+ html.should_not have_form_errors_on("Name", "Not good enough")
163
+ end
164
+
165
+ it "returns false if the label is wrong by the error message is correct" do
166
+ html.should_not have_form_errors_on("Author", "Can't be blank")
167
+ end
168
+ end
169
+
170
+ describe "#have_fields" do
171
+ let(:html) do
172
+ Capybara.string(%Q{
173
+ <form>
174
+ <label for="author">Author</label>
175
+ <input type="text" name="author" id="author" value="Adam" />
176
+ <label for="year">Year</label>
177
+ <input type="text" name="year" id="year" value="2011" />
178
+ </form>
179
+ })
180
+ end
181
+
182
+ it "returns true with several fields if both labels and values are correct" do
183
+ html.should have_fields("Author" => "Adam", "Year" => "2011")
184
+ end
185
+
186
+ it "returns true with one field if both labels and values are correct" do
187
+ html.should have_fields("Year" => "2011")
188
+ end
189
+
190
+ it "returns false if the label is correct but the value is not" do
191
+ html.should_not have_fields("Author" => "David")
192
+ end
193
+
194
+ it "returns false if the label is correct but the value is not" do
195
+ html.should_not have_fields("Wrong" => "Adam")
196
+ end
197
+
198
+ it "returns false if the one of the pairs is incorrect" do
199
+ html.should_not have_fields("Author" => "Adam", "Year" => "2012")
200
+ end
201
+ end
202
+ end
@@ -0,0 +1,74 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElabsMatchers::Matchers::Rspec::Common do
4
+ describe '#contain_hash' do
5
+ context "with a simple hash" do
6
+ it "returns true with the given value" do
7
+ { "foo" => "bar", "baz" => "quox" }.should contain_hash({ "foo" => "bar" })
8
+ { "foo" => "bar", "baz" => "quox" }.should contain_hash({ "baz" => "quox" })
9
+ end
10
+
11
+ it "returns false if key or value don't match" do
12
+ { "foo" => "bar", "baz" => "quox" }.should_not contain_hash({ "foo" => "quox" })
13
+ { "foo" => "bar", "baz" => "quox" }.should_not contain_hash({ "baz" => "bar" })
14
+ end
15
+ end
16
+
17
+ context "with a simple array" do
18
+ it "returns true with the given value" do
19
+ [ "foo", "quox" ].should contain_hash(["foo"])
20
+ [ "foo", "quox" ].should contain_hash(["quox"])
21
+ [ "foo", "quox" ].should contain_hash(["foo", "quox"])
22
+ end
23
+
24
+ it "returns false if the array doesn't contain the given value" do
25
+ [ "foo", "baz" ].should_not contain_hash(["blah"])
26
+ end
27
+ end
28
+
29
+ context "with a nested hash" do
30
+ it "returns true with the given value" do
31
+ { "foo" => { "foo1" => "bar1", "foo2" => "bar2" }}.should contain_hash({ "foo" => { "foo1" => "bar1" }})
32
+ { "foo" => { "foo1" => "bar1", "foo2" => "bar2" }}.should contain_hash({ "foo" => { "foo2" => "bar2" }})
33
+ end
34
+
35
+ it "returns false if key or value don't match" do
36
+ { "foo" => { "foo1" => "bar1", "foo2" => "bar2" }}.should_not contain_hash({ "foo" => { "foo1" => "bar2" }})
37
+ { "foo" => { "foo1" => "bar1", "foo2" => "bar2" }}.should_not contain_hash({ "foo" => { "foo2" => "bar1" }})
38
+ { "foo" => { "foo1" => "bar1", "foo2" => "bar2" }}.should_not contain_hash({ "foo" => { "monkey" => "baz" }})
39
+ { "foo" => { "foo1" => "bar1", "foo2" => "bar2" }}.should_not contain_hash({ "foo" => "monkey" })
40
+ end
41
+ end
42
+
43
+ context "with a nested array" do
44
+ it "returns true with the given value" do
45
+ { "foo" => ['quox', { 'bar' => 'baz'}]}.should contain_hash({ "foo" => [{ "bar" => "baz" }]})
46
+ { "foo" => ['quox', { 'bar' => 'baz'}]}.should contain_hash({ "foo" => ["quox"]})
47
+ end
48
+
49
+ it "returns false if array doesn't contain the given sequence" do
50
+ { "foo" => ['quox', { 'bar' => 'baz'}]}.should_not contain_hash({ "foo" => [{ "bar" => "quox" }]})
51
+ { "foo" => ['quox', { 'bar' => 'baz'}]}.should_not contain_hash({ "foo" => ["bar"]})
52
+ { "foo" => ['quox', { 'bar' => 'baz'}]}.should_not contain_hash({ "foo" => "monkey"})
53
+ end
54
+ end
55
+ end
56
+
57
+ describe "#only_include" do
58
+ it "returns true when all the elements are passed in the wrong order" do
59
+ %w[foo bar].should only_include("bar", "foo")
60
+ end
61
+
62
+ it "returns true when all the elements are passed in the correct order" do
63
+ %w[foo bar].should only_include("foo", "bar")
64
+ end
65
+
66
+ it "returns false when one or more element is missing" do
67
+ %w[foo bar].should_not only_include("foo")
68
+ end
69
+
70
+ it "returns false when one of the element is not in the list" do
71
+ %w[foo bar].should_not only_include("foo", "bar", "baz")
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElabsMatchers::Matchers::Rspec::Orm do
4
+ describe "#persist" do
5
+ let(:post) { ElabsMatchers::Orm::Post.create(:title => "New") }
6
+
7
+ it "returns true if the value is the supplied" do
8
+ post.should persist(:title, "Updated")
9
+ end
10
+
11
+ it "returns false if the value isn't the supplied" do
12
+ post.stub(:title).and_return("New")
13
+ post.should_not persist(:title, "Updated")
14
+ end
15
+ end
16
+ end
@@ -0,0 +1 @@
1
+ My file content.
@@ -0,0 +1,11 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+ require 'capybara'
6
+ require 'elabs_matchers'
7
+
8
+ Rspec.configure do |config|
9
+ config.mock_with :rspec
10
+ config.include Capybara
11
+ end
metadata ADDED
@@ -0,0 +1,192 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: elabs_matchers
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - "Nicklas Ramh\xC3\xB6j"
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-08-21 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rspec
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: capybara
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: yard
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ type: :development
62
+ version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: activesupport
65
+ prerelease: false
66
+ requirement: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
75
+ type: :development
76
+ version_requirements: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ name: i18n
79
+ prerelease: false
80
+ requirement: &id005 !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ hash: 3
86
+ segments:
87
+ - 0
88
+ version: "0"
89
+ type: :development
90
+ version_requirements: *id005
91
+ description: Provides a set of usefull rspec matchers to be used with RSpec and/or Capybara
92
+ email:
93
+ - dev+ramhoj@elabs.se
94
+ executables: []
95
+
96
+ extensions: []
97
+
98
+ extra_rdoc_files: []
99
+
100
+ files:
101
+ - .gitignore
102
+ - .rvmrc
103
+ - Gemfile
104
+ - Gemfile.lock
105
+ - README.rdoc
106
+ - Rakefile
107
+ - doc/ElabsMatchers.html
108
+ - doc/ElabsMatchers/Matchers.html
109
+ - doc/ElabsMatchers/Matchers/Capybara.html
110
+ - doc/ElabsMatchers/Matchers/Rspec.html
111
+ - doc/_index.html
112
+ - doc/class_list.html
113
+ - doc/css/common.css
114
+ - doc/css/full_list.css
115
+ - doc/css/style.css
116
+ - doc/file.README.html
117
+ - doc/file_list.html
118
+ - doc/frames.html
119
+ - doc/index.html
120
+ - doc/js/app.js
121
+ - doc/js/full_list.js
122
+ - doc/js/jquery.js
123
+ - doc/method_list.html
124
+ - doc/top-level-namespace.html
125
+ - elabs_matchers.gemspec
126
+ - lib/elabs_matchers.rb
127
+ - lib/elabs_matchers/cucumber/common.rb
128
+ - lib/elabs_matchers/helpers/capybara.rb
129
+ - lib/elabs_matchers/helpers/common.rb
130
+ - lib/elabs_matchers/helpers/fixtures.rb
131
+ - lib/elabs_matchers/helpers/orm.rb
132
+ - lib/elabs_matchers/helpers/session.rb
133
+ - lib/elabs_matchers/matchers/capybara/common.rb
134
+ - lib/elabs_matchers/matchers/rspec/common.rb
135
+ - lib/elabs_matchers/matchers/rspec/orm.rb
136
+ - lib/elabs_matchers/orm/post.rb
137
+ - lib/elabs_matchers/version.rb
138
+ - spec/elabs_matchers/cucumber/common_spec.rb
139
+ - spec/elabs_matchers/helpers/capybara_spec.rb
140
+ - spec/elabs_matchers/helpers/common_spec.rb
141
+ - spec/elabs_matchers/helpers/fixtures_spec.rb
142
+ - spec/elabs_matchers/helpers/orm_spec.rb
143
+ - spec/elabs_matchers/matchers/capybara/common_spec.rb
144
+ - spec/elabs_matchers/matchers/rspec/common_spec.rb
145
+ - spec/elabs_matchers/matchers/rspec/orm_spec.rb
146
+ - spec/fixtures/file.txt
147
+ - spec/spec_helper.rb
148
+ has_rdoc: true
149
+ homepage: ""
150
+ licenses: []
151
+
152
+ post_install_message:
153
+ rdoc_options: []
154
+
155
+ require_paths:
156
+ - lib
157
+ required_ruby_version: !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: 3
163
+ segments:
164
+ - 0
165
+ version: "0"
166
+ required_rubygems_version: !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
175
+ requirements: []
176
+
177
+ rubyforge_project: elabs_matchers
178
+ rubygems_version: 1.3.7
179
+ signing_key:
180
+ specification_version: 3
181
+ summary: Provides a set of usefull rspec matchers
182
+ test_files:
183
+ - spec/elabs_matchers/cucumber/common_spec.rb
184
+ - spec/elabs_matchers/helpers/capybara_spec.rb
185
+ - spec/elabs_matchers/helpers/common_spec.rb
186
+ - spec/elabs_matchers/helpers/fixtures_spec.rb
187
+ - spec/elabs_matchers/helpers/orm_spec.rb
188
+ - spec/elabs_matchers/matchers/capybara/common_spec.rb
189
+ - spec/elabs_matchers/matchers/rspec/common_spec.rb
190
+ - spec/elabs_matchers/matchers/rspec/orm_spec.rb
191
+ - spec/fixtures/file.txt
192
+ - spec/spec_helper.rb