spec_ui 0.2.3 → 0.2.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/Manifest.txt +2 -1
- data/examples/selenium/Rakefile +45 -5
- data/examples/selenium/spec/{google → selenium}/find_rspecs_homepage_spec.rb +11 -2
- data/examples/selenium/spec/spec_helper.rb +1 -1
- data/examples/watir/Rakefile +44 -4
- data/examples/watir/spec/spec_helper.rb +4 -4
- data/examples/watir/spec/watir/find_rspecs_homepage_spec.rb +10 -3
- data/lib/spec/ui/formatter.rb +162 -113
- data/lib/spec/ui/screenshot_saver.rb +11 -3
- data/lib/spec/ui/selenium.rb +1 -1
- data/lib/spec/ui/version.rb +1 -1
- data/lib/spec/ui/watir/browser.rb +1 -1
- data/lib/spec/ui/watir/watir_behaviour.rb +24 -0
- data/spec/spec/ui/watir/matchers_spec.rb +1 -1
- metadata +14 -8
data/Manifest.txt
CHANGED
@@ -14,9 +14,10 @@ lib/spec/ui/version.rb
|
|
14
14
|
lib/spec/ui/watir.rb
|
15
15
|
lib/spec/ui/watir/browser.rb
|
16
16
|
lib/spec/ui/watir/matchers.rb
|
17
|
+
lib/spec/ui/watir/watir_behaviour.rb
|
17
18
|
examples/selenium/Rakefile
|
18
19
|
examples/selenium/README.txt
|
19
|
-
examples/selenium/spec/
|
20
|
+
examples/selenium/spec/selenium/find_rspecs_homepage_spec.rb
|
20
21
|
examples/selenium/spec/spec_helper.rb
|
21
22
|
examples/watir/Rakefile
|
22
23
|
examples/watir/README.txt
|
data/examples/selenium/Rakefile
CHANGED
@@ -1,17 +1,57 @@
|
|
1
|
-
# You don't need to tweak the $LOAD_PATH if you have RSpec
|
2
|
-
$LOAD_PATH.unshift(
|
1
|
+
# You don't need to tweak the $LOAD_PATH if you have RSpec installed as a gem
|
2
|
+
$LOAD_PATH.unshift('../../../rspec/lib')
|
3
3
|
|
4
4
|
require 'rubygems'
|
5
5
|
require 'spec/rake/spectask'
|
6
6
|
|
7
7
|
desc "Run Selenium Specs"
|
8
8
|
Spec::Rake::SpecTask.new('spec:selenium') do |t|
|
9
|
-
t.spec_files = FileList['spec/
|
10
|
-
# This line is not necessary if you have
|
11
|
-
t.
|
9
|
+
t.spec_files = FileList['spec/selenium/**/*.rb']
|
10
|
+
# This line is not necessary if you have Spec::Ui installed as a gem
|
11
|
+
t.libs = ["../../lib"]
|
12
12
|
t.spec_opts = [
|
13
|
+
'--color', '--diff',
|
13
14
|
'--require', 'rubygems,spec/ui',
|
14
15
|
'--format', 'Spec::Ui::ScreenshotFormatter:spec_report.html',
|
15
16
|
'--format', 'progress'
|
16
17
|
]
|
17
18
|
end
|
19
|
+
|
20
|
+
# IMPORTANT: If you use the master/slave mode you really ought to
|
21
|
+
# run everything on different machines.
|
22
|
+
|
23
|
+
desc "Run Selenium Specs as Spec::Distributed slave"
|
24
|
+
Spec::Rake::SpecTask.new('spec:selenium:slave') do |t|
|
25
|
+
t.spec_files = FileList['spec/selenium/**/*.rb']
|
26
|
+
# This line is not necessary if you have Spec::Ui and Spec::Distributed installed as gems
|
27
|
+
t.libs = ["../../lib", "../../../spec_distributed/lib"]
|
28
|
+
t.spec_opts = lambda do
|
29
|
+
url = ENV['DRB_URL']
|
30
|
+
raise "You must pass DRB_URL=druby://localhost:8991 (for example) on the command line" if url.nil?
|
31
|
+
[
|
32
|
+
'--color', '--diff',
|
33
|
+
'--require', 'rubygems,spec/ui,spec/distributed',
|
34
|
+
'--format', 'Spec::Ui::SlaveScreenshotFormatter:spec_report.html',
|
35
|
+
'--format', 'progress',
|
36
|
+
'--runner', "Spec::Distributed::SlaveRunner:#{url}"
|
37
|
+
]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "Run Selenium Specs as Spec::Distributed master"
|
42
|
+
Spec::Rake::SpecTask.new('spec:selenium:master') do |t|
|
43
|
+
t.spec_files = FileList['spec/selenium/**/*.rb']
|
44
|
+
# This line is not necessary if you have Spec::Ui and Spec::Distributed installed as gems
|
45
|
+
t.libs = ["../../lib", "../../../spec_distributed/lib"]
|
46
|
+
t.spec_opts = lambda do
|
47
|
+
urls = ENV['DRB_URLS']
|
48
|
+
raise "You must pass DRB_URLS=druby://localhost:8991,druby://localhost:8991 (for example) on the command line" if urls.nil?
|
49
|
+
[
|
50
|
+
'--color', '--diff',
|
51
|
+
'--require', 'rubygems,spec/ui,spec/distributed',
|
52
|
+
'--format', 'Spec::Ui::MasterScreenshotFormatter:spec_report.html',
|
53
|
+
'--format', 'progress',
|
54
|
+
'--runner', "Spec::Distributed::MasterRunner:#{urls}"
|
55
|
+
]
|
56
|
+
end
|
57
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../spec_helper'
|
2
2
|
|
3
|
-
describe "Google's search page" do
|
3
|
+
describe "Google's search page I" do
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
# The @browser is initialised in spec_helper.rb
|
@@ -13,6 +13,15 @@ describe "Google's search page" do
|
|
13
13
|
@browser.is_text_present("rspec.rubyforge.org").should be_true
|
14
14
|
end
|
15
15
|
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "Google's search page II" do
|
19
|
+
|
20
|
+
before(:each) do
|
21
|
+
# The @browser is initialised in spec_helper.rb
|
22
|
+
@browser.open('http://www.google.no')
|
23
|
+
end
|
24
|
+
|
16
25
|
it "should find rspec's home page when I search for 'better than fudge' (will probably fail)" do
|
17
26
|
@browser.type "name=q", "better than fudge"
|
18
27
|
@browser.click_and_wait "name=btnG"
|
@@ -25,4 +34,4 @@ describe "Google's search page" do
|
|
25
34
|
@browser.is_text_present("Ali G").should be_false
|
26
35
|
end
|
27
36
|
|
28
|
-
end
|
37
|
+
end
|
data/examples/watir/Rakefile
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# You don't need to tweak the $LOAD_PATH if you have RSpec
|
2
|
-
$LOAD_PATH.unshift(
|
1
|
+
# You don't need to tweak the $LOAD_PATH if you have RSpec installed as a gem
|
2
|
+
$LOAD_PATH.unshift('../../../rspec/lib')
|
3
3
|
|
4
4
|
require 'rubygems'
|
5
5
|
require 'spec/rake/spectask'
|
@@ -7,11 +7,51 @@ require 'spec/rake/spectask'
|
|
7
7
|
desc "Run Watir Specs"
|
8
8
|
Spec::Rake::SpecTask.new('spec:watir') do |t|
|
9
9
|
t.spec_files = FileList['spec/watir/**/*.rb']
|
10
|
-
# This line is not necessary if you have
|
11
|
-
t.
|
10
|
+
# This line is not necessary if you have Spec::Ui installed as a gem
|
11
|
+
t.libs = ["../../lib"]
|
12
12
|
t.spec_opts = [
|
13
|
+
'--color', '--diff',
|
13
14
|
'--require', 'rubygems,spec/ui',
|
14
15
|
'--format', 'Spec::Ui::ScreenshotFormatter:spec_report.html',
|
15
16
|
'--format', 'progress'
|
16
17
|
]
|
17
18
|
end
|
19
|
+
|
20
|
+
# IMPORTANT: If you use the master/slave mode you really ought to
|
21
|
+
# run everything on different machines.
|
22
|
+
|
23
|
+
desc "Run Watir Specs as Spec::Distributed slave"
|
24
|
+
Spec::Rake::SpecTask.new('spec:watir:slave') do |t|
|
25
|
+
t.spec_files = FileList['spec/watir/**/*.rb']
|
26
|
+
# This line is not necessary if you have Spec::Ui and Spec::Distributed installed as gems
|
27
|
+
t.libs = ["../../lib", "../../../spec_distributed/lib"]
|
28
|
+
t.spec_opts = lambda do
|
29
|
+
url = ENV['DRB_URL']
|
30
|
+
raise "You must pass DRB_URL=druby://localhost:8991 (for example) on the command line" if url.nil?
|
31
|
+
[
|
32
|
+
'--color', '--diff',
|
33
|
+
'--require', 'rubygems,spec/ui,spec/distributed',
|
34
|
+
'--format', 'Spec::Ui::SlaveScreenshotFormatter:spec_report.html',
|
35
|
+
'--format', 'progress',
|
36
|
+
'--runner', "Spec::Distributed::SlaveRunner:#{url}"
|
37
|
+
]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "Run Watir Specs as Spec::Distributed master"
|
42
|
+
Spec::Rake::SpecTask.new('spec:watir:master') do |t|
|
43
|
+
t.spec_files = FileList['spec/watir/**/*.rb']
|
44
|
+
# This line is not necessary if you have Spec::Ui and Spec::Distributed installed as gems
|
45
|
+
t.libs = ["../../lib", "../../../spec_distributed/lib"]
|
46
|
+
t.spec_opts = lambda do
|
47
|
+
urls = ENV['DRB_URLS']
|
48
|
+
raise "You must pass DRB_URLS=druby://localhost:8991,druby://localhost:8991 (for example) on the command line" if urls.nil?
|
49
|
+
[
|
50
|
+
'--color', '--diff',
|
51
|
+
'--require', 'rubygems,spec/ui,spec/distributed',
|
52
|
+
'--format', 'Spec::Ui::MasterScreenshotFormatter:spec_report.html',
|
53
|
+
'--format', 'progress',
|
54
|
+
'--runner', "Spec::Distributed::MasterRunner:#{urls}"
|
55
|
+
]
|
56
|
+
end
|
57
|
+
end
|
@@ -11,12 +11,12 @@ Spec::Runner.configure do |config|
|
|
11
11
|
config.before(:all) do
|
12
12
|
@browser = Watir::Browser.new
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
config.after(:each) do
|
16
|
-
Spec::Ui::ScreenshotFormatter.take_screenshot_of(@browser)
|
16
|
+
Spec::Ui::ScreenshotFormatter.instance.take_screenshot_of(@browser)
|
17
17
|
end
|
18
18
|
|
19
19
|
config.after(:all) do
|
20
|
-
@browser.kill!
|
20
|
+
@browser.kill!
|
21
21
|
end
|
22
|
-
end
|
22
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../spec_helper'
|
2
2
|
|
3
|
-
describe "Google's search page" do
|
3
|
+
describe "Google's search page I" do
|
4
4
|
before(:each) do
|
5
5
|
# The @browser is initialised in spec_helper.rb
|
6
6
|
@browser.goto('http://www.google.com')
|
@@ -9,7 +9,14 @@ describe "Google's search page" do
|
|
9
9
|
it "should find rspec's home page when I search for rspec" do
|
10
10
|
@browser.text_field(:name, "q").set("rspec")
|
11
11
|
@browser.button(:name, "btnG").click
|
12
|
-
@browser.should have_link(:url, "http://rspec.rubyforge.org/")
|
12
|
+
@browser.should have_link(:url, "http://rspec.rubyforge.org/index.html")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "Google's search page II" do
|
17
|
+
before(:each) do
|
18
|
+
# The @browser is initialised in spec_helper.rb
|
19
|
+
@browser.goto('http://www.google.com')
|
13
20
|
end
|
14
21
|
|
15
22
|
it "should find rspec's home page when I search for 'better than fudge' (this is supposed to fail)" do
|
@@ -25,4 +32,4 @@ describe "Google's search page" do
|
|
25
32
|
end
|
26
33
|
|
27
34
|
it "should do something we haven't done yet"
|
28
|
-
end
|
35
|
+
end
|
data/lib/spec/ui/formatter.rb
CHANGED
@@ -1,113 +1,162 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
}
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
1
|
+
require 'spec/ui/screenshot_saver'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
module Spec
|
5
|
+
module Ui
|
6
|
+
class ScreenshotFormatter < Spec::Runner::Formatter::HtmlFormatter
|
7
|
+
class << self
|
8
|
+
attr_accessor :instance
|
9
|
+
end
|
10
|
+
|
11
|
+
include ScreenshotSaver
|
12
|
+
|
13
|
+
def initialize(where, out=where)
|
14
|
+
super(out)
|
15
|
+
if where.is_a?(String)
|
16
|
+
@root = File.dirname(where)
|
17
|
+
else
|
18
|
+
raise "#{self.class} must write to a file, so that we know where to store screenshots"
|
19
|
+
end
|
20
|
+
raise "Only one instance of #{self.class} is allowed" unless self.class.instance.nil?
|
21
|
+
ScreenshotFormatter.instance = self
|
22
|
+
end
|
23
|
+
|
24
|
+
# Takes screenshot and snapshot of the +browser+'s html.
|
25
|
+
# This method calls #screenshot! so that method should not be called
|
26
|
+
# when this method is used.
|
27
|
+
# This method *must* be called in an after(:each) block.
|
28
|
+
def take_screenshot_of(browser)
|
29
|
+
screenshot
|
30
|
+
save_html(browser)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Takes a screenshot of the current window and saves it to disk.
|
34
|
+
# Use this method when you don't have a browser object.
|
35
|
+
def screenshot
|
36
|
+
png_path = File.join(@root, relative_png_path)
|
37
|
+
ensure_dir(png_path)
|
38
|
+
save_screenshot(png_path)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Writes the HTML from +browser+ to disk
|
42
|
+
def save_html(browser)
|
43
|
+
ensure_dir(absolute_html_path)
|
44
|
+
File.open(absolute_html_path, "w") {|io| io.write(browser.html)}
|
45
|
+
end
|
46
|
+
|
47
|
+
def ensure_dir(file)
|
48
|
+
dir = File.dirname(file)
|
49
|
+
FileUtils.mkdir_p(dir) unless File.directory?(dir)
|
50
|
+
end
|
51
|
+
|
52
|
+
def absolute_png_path
|
53
|
+
File.join(@root, relative_png_path)
|
54
|
+
end
|
55
|
+
|
56
|
+
def relative_png_path
|
57
|
+
"images/#{current_example_number}.png"
|
58
|
+
end
|
59
|
+
|
60
|
+
def absolute_html_path
|
61
|
+
File.join(@root, relative_html_path)
|
62
|
+
end
|
63
|
+
|
64
|
+
def relative_html_path
|
65
|
+
"html/#{current_example_number}.html"
|
66
|
+
end
|
67
|
+
|
68
|
+
def global_scripts
|
69
|
+
super + <<-EOF
|
70
|
+
function showImage(e) {
|
71
|
+
w = window.open();
|
72
|
+
w.location = e.childNodes[0].src
|
73
|
+
}
|
74
|
+
|
75
|
+
// Lifted from Ruby RDoc
|
76
|
+
function toggleSource( id ) {
|
77
|
+
var elem
|
78
|
+
var link
|
79
|
+
|
80
|
+
if( document.getElementById )
|
81
|
+
{
|
82
|
+
elem = document.getElementById( id )
|
83
|
+
link = document.getElementById( "l_" + id )
|
84
|
+
}
|
85
|
+
else if ( document.all )
|
86
|
+
{
|
87
|
+
elem = eval( "document.all." + id )
|
88
|
+
link = eval( "document.all.l_" + id )
|
89
|
+
}
|
90
|
+
else
|
91
|
+
return false;
|
92
|
+
|
93
|
+
if( elem.style.display == "block" )
|
94
|
+
{
|
95
|
+
elem.style.display = "none"
|
96
|
+
link.innerHTML = "show snapshot"
|
97
|
+
}
|
98
|
+
else
|
99
|
+
{
|
100
|
+
elem.style.display = "block"
|
101
|
+
link.innerHTML = "hide snapshot"
|
102
|
+
}
|
103
|
+
}
|
104
|
+
EOF
|
105
|
+
end
|
106
|
+
|
107
|
+
def global_styles
|
108
|
+
super + <<-EOF
|
109
|
+
div.rspec-report textarea {
|
110
|
+
width: 100%;
|
111
|
+
}
|
112
|
+
|
113
|
+
div.rspec-report div.dyn-source {
|
114
|
+
background:#FFFFEE none repeat scroll 0%;
|
115
|
+
border:1px dotted black;
|
116
|
+
color:#000000;
|
117
|
+
display:none;
|
118
|
+
margin:0.5em 2em;
|
119
|
+
padding:0.5em;
|
120
|
+
}
|
121
|
+
EOF
|
122
|
+
end
|
123
|
+
|
124
|
+
def extra_failure_content(failure)
|
125
|
+
result = super(failure)
|
126
|
+
if File.exist?(absolute_png_path)
|
127
|
+
result += img_div
|
128
|
+
end
|
129
|
+
if File.exist?(absolute_html_path)
|
130
|
+
source_id = "#{current_example_number}_source"
|
131
|
+
result += " <div>[<a id=\"l_#{source_id}\" href=\"javascript:toggleSource('#{source_id}')\">show snapshot</a>]</div>\n"
|
132
|
+
result += " <div id=\"#{source_id}\" class=\"dyn-source\"><iframe src=\"#{relative_html_path}\" width=\"100%\" height=\"300px\"></iframe></div>\n"
|
133
|
+
end
|
134
|
+
result
|
135
|
+
end
|
136
|
+
|
137
|
+
def img_div
|
138
|
+
" <div><a href=\"#{relative_png_path}\"><img width=\"25%\" height=\"25%\" src=\"#{relative_png_path}\" /></a></div>\n"
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
# This formatter produces the same HTML as ScreenshotFormatter, except that
|
143
|
+
# it doesn't save screenshot PNGs and browser snapshot HTML source to disk.
|
144
|
+
# It is meant to be used from a Spec::Distributed master
|
145
|
+
class MasterScreenshotFormatter < ScreenshotFormatter
|
146
|
+
def screenshot
|
147
|
+
end
|
148
|
+
|
149
|
+
def save_html(browser)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
# This formatter writes PNG and browser snapshot HTML to disk, just like its superclass,
|
154
|
+
# but it doesn't write the HTML report itself.
|
155
|
+
# It is meant to be used from Spec::Distributed slaves
|
156
|
+
class SlaveScreenshotFormatter < ScreenshotFormatter
|
157
|
+
def initialize(where)
|
158
|
+
super(where, StringIO.new)
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
@@ -23,8 +23,16 @@ module Spec
|
|
23
23
|
nil
|
24
24
|
rescue Magick::ImageMagickError => e
|
25
25
|
if e.message =~ /Insufficient image data in file/
|
26
|
-
e.message <<
|
27
|
-
|
26
|
+
e.message << <<-EOM
|
27
|
+
This is a bug in win32screenshot - it fails to take screenshots of "small" windows. Try this workaround:
|
28
|
+
|
29
|
+
1) Close all instances of the app you're trying to take a screenshot of (e.g. Internet Explorer)
|
30
|
+
2) Open the app
|
31
|
+
3) Resize the window so it occupies the entire screen (without maximizing it!)
|
32
|
+
4) Exit the app. Windows will now remember its size the next time it starts.
|
33
|
+
|
34
|
+
This *may* make this error go away
|
35
|
+
EOM
|
28
36
|
end
|
29
37
|
raise e
|
30
38
|
end
|
@@ -47,4 +55,4 @@ module Spec
|
|
47
55
|
end
|
48
56
|
end
|
49
57
|
end
|
50
|
-
end
|
58
|
+
end
|
data/lib/spec/ui/selenium.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require 'spec/ui/selenium/driver_ext'
|
1
|
+
require 'spec/ui/selenium/driver_ext'
|
data/lib/spec/ui/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec/ui/watir/matchers'
|
2
|
+
|
3
|
+
module Spec
|
4
|
+
module Ui
|
5
|
+
module Watir
|
6
|
+
class WatirBehaviour < Spec::DSL::Behaviour
|
7
|
+
def before_eval # :nodoc:
|
8
|
+
include Spec::Matchers::Watir
|
9
|
+
begin
|
10
|
+
# We'll try to hook up to the Rails stuff. This gives us access
|
11
|
+
# to transactional fixtures etc.
|
12
|
+
inherit Spec::Rails::DSL::EvalContext
|
13
|
+
prepend_before {setup}
|
14
|
+
append_after {teardown}
|
15
|
+
configure
|
16
|
+
rescue
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
Spec::DSL::BehaviourFactory.add_behaviour_class(:watir, self)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: spec_ui
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.2.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.2.4
|
7
|
+
date: 2007-08-12 00:00:00 -04:00
|
8
8
|
summary: Run UI RSpec examples with screenshot reports
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -45,9 +45,10 @@ files:
|
|
45
45
|
- lib/spec/ui/watir.rb
|
46
46
|
- lib/spec/ui/watir/browser.rb
|
47
47
|
- lib/spec/ui/watir/matchers.rb
|
48
|
+
- lib/spec/ui/watir/watir_behaviour.rb
|
48
49
|
- examples/selenium/Rakefile
|
49
50
|
- examples/selenium/README.txt
|
50
|
-
- examples/selenium/spec/
|
51
|
+
- examples/selenium/spec/selenium/find_rspecs_homepage_spec.rb
|
51
52
|
- examples/selenium/spec/spec_helper.rb
|
52
53
|
- examples/watir/Rakefile
|
53
54
|
- examples/watir/README.txt
|
@@ -57,10 +58,15 @@ files:
|
|
57
58
|
- spec/spec/ui/watir/matchers_spec.rb
|
58
59
|
test_files: []
|
59
60
|
|
60
|
-
rdoc_options:
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
rdoc_options:
|
62
|
+
- --main
|
63
|
+
- README.txt
|
64
|
+
extra_rdoc_files:
|
65
|
+
- History.txt
|
66
|
+
- Manifest.txt
|
67
|
+
- README.txt
|
68
|
+
- examples/selenium/README.txt
|
69
|
+
- examples/watir/README.txt
|
64
70
|
executables: []
|
65
71
|
|
66
72
|
extensions: []
|
@@ -75,5 +81,5 @@ dependencies:
|
|
75
81
|
requirements:
|
76
82
|
- - ">="
|
77
83
|
- !ruby/object:Gem::Version
|
78
|
-
version: 1.2.
|
84
|
+
version: 1.2.2
|
79
85
|
version:
|