watir-rspec 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/.yardopts ADDED
@@ -0,0 +1,6 @@
1
+ --readme README.md
2
+ --no-private
3
+ --hide-void-return
4
+ --title "Watir-RSpec"
5
+ --files LICENSE
6
+ --default-return ""
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Jarmo Pertman
1
+ Copyright (c) 2012-2013 Jarmo Pertman
2
2
 
3
3
  MIT License
4
4
 
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
19
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
20
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
21
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,80 +1,139 @@
1
- # Watir::RSpec
2
-
3
- Use Watir with RSpec with ease.
4
-
5
- ## Installation
6
-
7
- Add these lines to your application's Gemfile:
8
-
9
- group :test do
10
- gem 'watir-rspec'
11
- end
12
-
13
- And add these lines to your spec\_helper.rb file:
14
-
15
- RSpec.configure do |config|
16
- # Add Watir::RSpec::HtmlFormatter to get links to the screenshots, html and
17
- # all other files created during the failing examples.
18
- config.add_formatter('documentation')
19
- config.add_formatter(Watir::RSpec::HtmlFormatter)
20
-
21
- # Open up the browser for each example.
22
- config.before :all do
23
- @browser = Watir::Browser.new
24
- end
25
-
26
- # Close that browser after each example.
27
- config.after :all do
28
- @browser.close if @browser
29
- end
30
-
31
- # Include RSpec::Helper into each of your example group for making it possible to
32
- # write in your examples instead of:
33
- # @browser.goto "localhost"
34
- # @browser.text_field(:name => "first_name").set "Bob"
35
- #
36
- # like this:
37
- # goto "localhost"
38
- # text_field(:name => "first_name").set "Bob"
39
- #
40
- # This needs that you've used @browser as an instance variable name in
41
- # before :all block.
42
- config.include Watir::RSpec::Helper
43
- end
44
-
45
-
46
- When using Rails and writing specs to requests directory, add an additional filter for RSpec:
47
-
48
- config.before :all, :type => :request do
49
- @browser = Watir::Browser.new :chrome
50
- end
51
-
52
- config.after :all, :type => :request do
53
- @browser.close if @browser
54
- end
55
-
56
- config.include Watir::RSpec::Helper, :type => :request
57
-
58
- ## Usage
59
-
60
- Just use the browser in your examples. If you haven't included
61
- Watir::RSpec::Helper, then you need to use the @browser instance variable when
62
- calling Watir::Browser methods, otherwise you may omit it.
63
-
64
- When creating/downloading/uploading files in your examples and using
65
- Watir::RSpec::HtmlFormatter then you can generate links automatically to these files when example
66
- fails. To do that you need to use Watir::RSpec.file\_path method for generating
67
- unique file name:
68
-
69
- uploaded_file_path = Watir::RSpec.file_path("uploaded.txt")
70
- File.open(uploaded_file_path, "w") {|file| file.write "Generated File Input"}
71
-
72
- If you're using Rails, then you also need to install [watir-rails](https://github.com/watir/watir-rails) gem.
73
-
74
- ## Contributing
75
-
76
- 1. Fork it
77
- 2. Create your feature branch (`git checkout -b my-new-feature`)
78
- 3. Commit your changes (`git commit -am 'Added some feature'`)
79
- 4. Push to the branch (`git push origin my-new-feature`)
80
- 5. Create new Pull Request
1
+ # Watir::RSpec
2
+
3
+ Use [Watir](http://watir.com) with [RSpec](http://rspec.info) with ease.
4
+
5
+ ## Installation
6
+
7
+ Add these lines to your application's Gemfile:
8
+
9
+ ````ruby
10
+ group :test do
11
+ gem 'watir-rspec'
12
+ end
13
+ ````
14
+
15
+ And add these lines to your spec\_helper.rb file:
16
+
17
+ ````ruby
18
+ RSpec.configure do |config|
19
+ # Add Watir::RSpec::HtmlFormatter to get links to the screenshots, html and
20
+ # all other files created during the failing examples.
21
+ config.add_formatter('documentation')
22
+ config.add_formatter(Watir::RSpec::HtmlFormatter)
23
+
24
+ # Open up the browser for each example.
25
+ config.before :all do
26
+ @browser = Watir::Browser.new
27
+ end
28
+
29
+ # Close that browser after each example.
30
+ config.after :all do
31
+ @browser.close if @browser
32
+ end
33
+
34
+ # Include RSpec::Helper into each of your example group for making it possible to
35
+ # write in your examples instead of:
36
+ # @browser.goto "localhost"
37
+ # @browser.text_field(:name => "first_name").set "Bob"
38
+ #
39
+ # like this:
40
+ # goto "localhost"
41
+ # text_field(:name => "first_name").set "Bob"
42
+ #
43
+ # This needs that you've used @browser as an instance variable name in
44
+ # before :all block.
45
+ config.include Watir::RSpec::Helper
46
+ end
47
+ ````
48
+
49
+
50
+ When using Rails and writing specs to requests directory, add an additional filter for RSpec:
51
+
52
+ ````ruby
53
+ config.before :all, :type => :request do
54
+ @browser = Watir::Browser.new :chrome
55
+ end
56
+
57
+ config.after :all, :type => :request do
58
+ @browser.close if @browser
59
+ end
60
+
61
+ config.include Watir::RSpec::Helper, :type => :request
62
+ ````
63
+
64
+ ## Usage
65
+
66
+ ### Executing browser methods
67
+
68
+ If you did include ````Watir::Rspec::Helper```` then it is possible to write code like this in your specs:
69
+
70
+ ````ruby
71
+ text_field(:id => "something").set "foo"
72
+ ````
73
+
74
+ If you did not include ````Watir::RSpec::Helper```` then you have to use browser variable:
75
+
76
+ ````ruby
77
+ @browser.text_field(:id => "something").set "foo"
78
+ ````
79
+
80
+ ### Testing asynchronous functionality
81
+
82
+ ````Watir::RSpec```` adds convenience methods ````#within```` and ````#during```` to all of the RSpec matchers,
83
+ which help to write better and more beautiful test code.
84
+
85
+ Let us pretend that the following div will appear dynamically after some Ajax request.
86
+
87
+ We can use the standard way:
88
+
89
+ ````ruby
90
+ Watir::Wait.until(5) { div(:id => "something").present? }
91
+ ````
92
+
93
+ Or we can use ````#within```` method:
94
+
95
+ ````ruby
96
+ div(:id => "something").should be_present.within(5)
97
+ ````
98
+
99
+ ````#during```` is the opposite of ````#within```` - it means that during the specified time something should be true/false.
100
+
101
+ PS! There is one caveat when using ````#within```` or ````#during```` - it cannot be used in every possible situation.
102
+
103
+ For example, this won't work as expected:
104
+
105
+ ````ruby
106
+ div(:id => "something").text.should eq("foo").within(5)
107
+ ````
108
+
109
+ The reason is that RSpec will check if value of ````#text```` will change to ````"foo"````, but it is just some ````String````,
110
+ which won't change ever. The rule of thumb is that ````#should```` should be always called on an instance of
111
+ the ````Element```` and ````#within/#duration```` on the matcher for that ````Element```` (e.g. ````be_present````, ````be_visible````, ````exist```` etc.).
112
+
113
+ ### Files created during specs
114
+
115
+ When creating/downloading/uploading files in your examples and using
116
+ ````Watir::RSpec::HtmlFormatter```` then you can generate links automatically to these files when example
117
+ fails. To do that you need to use ````Watir::RSpec.file_path```` method for generating
118
+ unique file name:
119
+
120
+ ````ruby
121
+ uploaded_file_path = Watir::RSpec.file_path("uploaded.txt")
122
+ File.open(uploaded_file_path, "w") {|file| file.write "Generated File Input"}
123
+ ````
124
+
125
+ ### Rails support
126
+
127
+ If you're using Rails, then you also need to install [watir-rails](https://github.com/watir/watir-rails) gem.
128
+
129
+ ## Contributing
130
+
131
+ 1. Fork it
132
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
133
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
134
+ 4. Push to the branch (`git push origin my-new-feature`)
135
+ 5. Create new Pull Request
136
+
137
+ ## License
138
+
139
+ Copyright (c) Jarmo Pertman (jarmo.p@gmail.com). See LICENSE for details.
data/Rakefile CHANGED
@@ -1 +1,4 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ require "yard"
4
+ YARD::Rake::YardocTask.new
@@ -3,11 +3,19 @@ module Watir
3
3
  module Helper
4
4
  extend Forwardable
5
5
 
6
+ # @return [Watir::Browser] a latest browser instance if it is initialized with
7
+ # @browser or $browser variable name.
6
8
  def browser
7
9
  @browser || $browser
8
10
  end
9
11
 
10
- def method_missing name, *args #:nodoc:
12
+ # Will dispatch all missing methods to the {#browser} instance.
13
+ # @example Makes it possible to use Watir::Browser methods without specifying the browser instance in the specs like this:
14
+ # it "should do something" do
15
+ # # notice that we're calling Watir::Browser#text_field here directly
16
+ # text_field(:id => "foo").should be_present
17
+ # end
18
+ def method_missing(name, *args)
11
19
  if browser.respond_to?(name)
12
20
  Helper.module_eval %Q[
13
21
  def #{name}(*args)
@@ -9,7 +9,8 @@ module Watir
9
9
  # * saves html of the browser upon test failure
10
10
  # * saves all files generated/downloaded during the test and shows them in the report
11
11
  class HtmlFormatter < ::RSpec::Core::Formatters::HtmlFormatter
12
- def initialize(output) # :nodoc:
12
+ # @private
13
+ def initialize(output)
13
14
  @output_path = File.expand_path(ENV["WATIR_RESULTS_PATH"] || (output.respond_to?(:path) ? output.path : "tmp/spec-results/index.html"))
14
15
  FileUtils.rm_rf File.dirname(@output_path), :verbose => true if File.exists?(@output_path)
15
16
 
@@ -23,18 +24,21 @@ module Watir
23
24
  super(File.open(@output_path, "w"))
24
25
  end
25
26
 
26
- def example_group_started(example_group) # :nodoc:
27
+ # @private
28
+ def example_group_started(example_group)
27
29
  @files_saved_during_example.clear
28
30
  super
29
31
  end
30
32
 
31
- def example_started(example) # :nodoc:
33
+ # @private
34
+ def example_started(example)
32
35
  @files_saved_during_example.clear
33
36
  super
34
37
  end
35
38
 
36
- def extra_failure_content(exception) # :nodoc:
37
- browser = example_group.before_all_ivars[:@browser]
39
+ # @private
40
+ def extra_failure_content(exception)
41
+ browser = example_group.before_all_ivars[:@browser] || $browser
38
42
  return super unless browser && browser.exists?
39
43
 
40
44
  save_screenshot browser
@@ -47,10 +51,13 @@ module Watir
47
51
  super + content.join($/)
48
52
  end
49
53
 
50
- # Generates unique file name and path for each example.
54
+ # Generate unique file path for the current spec. If the file
55
+ # will be created during that spec and spec fails then it will be
56
+ # shown automatically in the html report.
51
57
  #
52
- # All file names generated with this method will be shown
53
- # on the report.
58
+ # @param [String] File name to be used for file.
59
+ # Will be used as a part of the complete name.
60
+ # @return [String] Absolute path for the unique file name.
54
61
  def file_path(file_name, description=nil)
55
62
  extension = File.extname(file_name)
56
63
  basename = File.basename(file_name, extension)
@@ -61,7 +68,7 @@ module Watir
61
68
 
62
69
  private
63
70
 
64
- def link_for(file) # :nodoc:
71
+ def link_for(file)
65
72
  return unless File.exists?(file[:path])
66
73
 
67
74
  description = file[:desc] ? file[:desc] : File.extname(file[:path]).upcase[1..-1]
@@ -69,7 +76,7 @@ module Watir
69
76
  "<a href='#{path.relative_path_from(Pathname.new(@output_path).dirname)}'>#{description}</a>&nbsp;"
70
77
  end
71
78
 
72
- def save_html(browser) # :nodoc:
79
+ def save_html(browser)
73
80
  file_name = file_path("browser.html")
74
81
  begin
75
82
  html = browser.html
@@ -80,7 +87,7 @@ module Watir
80
87
  file_name
81
88
  end
82
89
 
83
- def save_screenshot(browser, description="Screenshot") # :nodoc:
90
+ def save_screenshot(browser, description="Screenshot")
84
91
  file_name = file_path("screenshot.png", description)
85
92
  browser.screenshot.save(file_name)
86
93
  file_name
@@ -1,5 +1,5 @@
1
1
  module Watir
2
2
  class RSpec
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
data/lib/watir/rspec.rb CHANGED
@@ -7,109 +7,118 @@ if defined? ActiveRecord
7
7
  end
8
8
 
9
9
  module Watir
10
- # add #within(timeout) and #during(timeout) methods for every matcher for allowing to wait until some condition is met.
11
- # div.click
12
- # another_div.should be_present.within(5)
13
- #
14
- # expect {
15
- # div.click
16
- # }.to change {another_div.text}.from("before").to("after").within(5)
17
- #
18
- # expect {
19
- # div.click
20
- # }.to make {another_div.present?}.within(5)
21
- #
22
- # expect {
23
- # div.click
24
- # }.to change {another_div.text}.soon
25
- #
26
10
  class RSpec
27
11
  class << self
28
- def add_within_and_during_to_matcher const
29
- const.class_eval do
30
-
31
- inst_methods = instance_methods.map &:to_sym
12
+ # Add #within(timeout) and #during(timeout) methods for every matcher for allowing to wait until some condition is met.
13
+ # div.click
14
+ # another_div.should be_present.within(5)
15
+ #
16
+ # expect {
17
+ # div.click
18
+ # }.to change {another_div.text}.from("before").to("after").within(5)
19
+ #
20
+ # expect {
21
+ # div.click
22
+ # }.to make {another_div.present?}.within(5)
23
+ #
24
+ # expect {
25
+ # div.click
26
+ # }.to change {another_div.text}.soon
27
+ #
28
+ # @private
29
+ def add_within_and_during_to_matcher const
30
+ const.class_eval do
31
+
32
+ inst_methods = instance_methods.map &:to_sym
33
+
34
+ if !(inst_methods.include?(:__matches?) || inst_methods.include?(:__does_not_match?)) &&
35
+ (inst_methods.include?(:matches?) || inst_methods.include?(:does_not_match?))
36
+
37
+ def within(timeout)
38
+ @within_timeout = timeout
39
+ self
40
+ end
32
41
 
33
- if !(inst_methods.include?(:__matches?) || inst_methods.include?(:__does_not_match?)) &&
34
- (inst_methods.include?(:matches?) || inst_methods.include?(:does_not_match?))
42
+ def during(timeout)
43
+ @during_timeout = timeout
44
+ self
45
+ end
35
46
 
36
- def within(timeout)
37
- @within_timeout = timeout
38
- self
39
- end
47
+ def soon
48
+ within(30)
49
+ end
40
50
 
41
- def during(timeout)
42
- @during_timeout = timeout
43
- self
44
- end
51
+ def seconds
52
+ # for syntactic sugar
53
+ self
54
+ end
45
55
 
46
- def soon
47
- within(30)
48
- end
56
+ alias_method :second, :seconds
49
57
 
50
- def seconds
51
- # for syntactic sugar
52
- self
53
- end
58
+ def minutes
59
+ @within_timeout *= 60 if @within_timeout
60
+ @during_timeout *= 60 if @during_timeout
61
+ self
62
+ end
54
63
 
55
- alias_method :second, :seconds
64
+ alias_method :minute, :minutes
65
+ end
56
66
 
57
- def minutes
58
- @within_timeout *= 60 if @within_timeout
59
- @during_timeout *= 60 if @during_timeout
60
- self
61
- end
67
+ if inst_methods.include? :matches?
68
+ alias_method :__matches?, :matches?
62
69
 
63
- alias_method :minute, :minutes
70
+ def matches?(actual)
71
+ match_with_wait {__matches?(actual)}
64
72
  end
73
+ end
65
74
 
66
- if inst_methods.include? :matches?
67
- alias_method :__matches?, :matches?
75
+ if inst_methods.include? :does_not_match?
76
+ alias_method :__does_not_match?, :does_not_match?
68
77
 
69
- def matches?(actual)
70
- match_with_wait {__matches?(actual)}
71
- end
78
+ def does_not_match?(actual)
79
+ match_with_wait {__does_not_match?(actual)}
72
80
  end
73
-
74
- if inst_methods.include? :does_not_match?
75
- alias_method :__does_not_match?, :does_not_match?
76
-
77
- def does_not_match?(actual)
78
- match_with_wait {__does_not_match?(actual)}
79
- end
80
- elsif inst_methods.include? :matches?
81
- def does_not_match?(actual)
82
- match_with_wait {!__matches?(actual)}
83
- end
81
+ elsif inst_methods.include? :matches?
82
+ def does_not_match?(actual)
83
+ match_with_wait {!__matches?(actual)}
84
84
  end
85
+ end
85
86
 
86
- private
87
-
88
- def match_with_wait
89
- if @within_timeout
90
- timeout = @within_timeout; @within_timeout = nil
91
- Watir::Wait.until(timeout) {yield} rescue false
92
- elsif @during_timeout
93
- timeout = @during_timeout; @during_timeout = nil
94
- Watir::Wait.while(timeout) {yield} rescue true
95
- else
96
- yield
97
- end
87
+ private
88
+
89
+ def match_with_wait
90
+ if @within_timeout
91
+ timeout = @within_timeout; @within_timeout = nil
92
+ Watir::Wait.until(timeout) {yield} rescue false
93
+ elsif @during_timeout
94
+ timeout = @during_timeout; @during_timeout = nil
95
+ Watir::Wait.while(timeout) {yield} rescue true
96
+ else
97
+ yield
98
98
  end
99
99
  end
100
100
  end
101
+ end
101
102
 
102
- def file_path(file_name, description=nil)
103
- formatter.file_path(file_name, description=nil)
104
- end
103
+ # Generate unique file path for the current spec. If the file
104
+ # will be created during that spec and spec fails then it will be
105
+ # shown automatically in the html report.
106
+ #
107
+ # @param [String] File name to be used for file.
108
+ # Will be used as a part of the complete name.
109
+ # @return [String] Absolute path for the unique file name.
110
+ # @raise [RuntimeError] when {Watir::RSpec::HtmlFormatter} is not in use.
111
+ def file_path(file_name, description=nil)
112
+ formatter.file_path(file_name, description=nil)
113
+ end
105
114
 
106
- private
115
+ private
107
116
 
108
- def formatter
109
- @formatter ||= begin
110
- formatter = ::RSpec.configuration.formatters.find {|f| f.kind_of? Watir::RSpec::HtmlFormatter}
111
- unless formatter
112
- raise <<-EOF
117
+ def formatter
118
+ @formatter ||= begin
119
+ formatter = ::RSpec.configuration.formatters.find {|f| f.kind_of? Watir::RSpec::HtmlFormatter}
120
+ unless formatter
121
+ raise <<-EOF
113
122
  Watir::RSpec::HtmlFormatter is not set as a RSpec formatter.
114
123
 
115
124
  You need to add it into your spec_helper.rb file like this:
@@ -117,42 +126,43 @@ module Watir
117
126
  config.add_formatter('documentation')
118
127
  config.add_formatter(Watir::RSpec::HtmlFormatter)
119
128
  end
120
- EOF
121
- end
122
- formatter
129
+ EOF
123
130
  end
124
- end
125
-
126
-
131
+ formatter
132
+ end
127
133
  end
128
134
 
129
- end
130
- end
131
135
 
132
- # patch for #within(timeout) method
133
- module ::RSpec::Matchers
134
- class BuiltIn::Change
135
- def matches?(event_proc)
136
- raise_block_syntax_error if block_given?
136
+ end
137
137
 
138
- # to make #change work with #in(timeout) method
139
- unless defined? @actual_before
140
- @actual_before = evaluate_value_proc
141
- event_proc.call
142
- end
143
- @actual_after = evaluate_value_proc
138
+ end
139
+ end
144
140
 
145
- (!change_expected? || changed?) && matches_before? && matches_after? && matches_expected_delta? && matches_min? && matches_max?
141
+ # patch for #within(timeout) method
142
+ # @private
143
+ module ::RSpec::Matchers
144
+ class BuiltIn::Change
145
+ def matches?(event_proc)
146
+ raise_block_syntax_error if block_given?
147
+
148
+ # to make #change work with #in(timeout) method
149
+ unless defined? @actual_before
150
+ @actual_before = evaluate_value_proc
151
+ event_proc.call
146
152
  end
147
- end
153
+ @actual_after = evaluate_value_proc
148
154
 
149
- alias_method :make, :change
155
+ (!change_expected? || changed?) && matches_before? && matches_after? && matches_expected_delta? && matches_min? && matches_max?
156
+ end
150
157
  end
151
158
 
152
- matchers = RSpec::Matchers::BuiltIn.constants.map(&:to_sym)
153
- matchers.delete :BaseMatcher
154
- matchers.each do |const|
155
- Watir::RSpec.add_within_and_during_to_matcher RSpec::Matchers::BuiltIn.const_get const
156
- end
159
+ alias_method :make, :change
160
+ end
161
+
162
+ matchers = RSpec::Matchers::BuiltIn.constants.map(&:to_sym)
163
+ matchers.delete :BaseMatcher
164
+ matchers.each do |const|
165
+ Watir::RSpec.add_within_and_during_to_matcher RSpec::Matchers::BuiltIn.const_get const
166
+ end
157
167
 
158
168
  Watir::RSpec.add_within_and_during_to_matcher RSpec::Matchers::DSL::Matcher
data/watir-rspec.gemspec CHANGED
@@ -16,4 +16,8 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Watir::RSpec::VERSION
17
17
 
18
18
  gem.add_dependency "rspec", "~>2.0"
19
+
20
+ gem.add_development_dependency "yard"
21
+ gem.add_development_dependency "rake"
22
+ gem.add_development_dependency "redcarpet"
19
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-29 00:00:00.000000000 Z
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -27,6 +27,54 @@ dependencies:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: '2.0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: yard
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: redcarpet
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
30
78
  description: Use Watir with RSpec with ease.
31
79
  email:
32
80
  - jarmo.p@gmail.com
@@ -35,6 +83,7 @@ extensions: []
35
83
  extra_rdoc_files: []
36
84
  files:
37
85
  - .gitignore
86
+ - .yardopts
38
87
  - Gemfile
39
88
  - LICENSE
40
89
  - README.md