celerity 0.9.0 → 0.9.1
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/.document +5 -0
- data/.gitignore +9 -0
- data/.gitmodules +3 -0
- data/.travis.yml +4 -0
- data/Gemfile +3 -0
- data/LICENSE +253 -596
- data/README.rdoc +8 -4
- data/Rakefile +5 -1
- data/benchmark/bm_2000_spans.rb +48 -0
- data/benchmark/bm_digg.rb +26 -0
- data/benchmark/bm_google_images.rb +36 -0
- data/benchmark/bm_input_locator.rb +69 -0
- data/benchmark/bm_text_input.rb +19 -0
- data/benchmark/loader.rb +14 -0
- data/celerity.gemspec +18 -114
- data/lib/celerity.rb +1 -3
- data/lib/celerity/htmlunit/commons-lang3-3.0.1.jar +0 -0
- data/lib/celerity/htmlunit/cssparser-0.9.6-20110829.205617-3.jar +0 -0
- data/lib/celerity/htmlunit/{htmlunit-2.9.jar → htmlunit-2.10-SNAPSHOT.jar} +0 -0
- data/lib/celerity/version.rb +1 -1
- data/spec/browser_authentication_spec.rb +16 -0
- data/spec/browser_spec.rb +428 -0
- data/spec/button_spec.rb +24 -0
- data/spec/clickable_element_spec.rb +39 -0
- data/spec/default_viewer_spec.rb +23 -0
- data/spec/element_spec.rb +77 -0
- data/spec/filefield_spec.rb +18 -0
- data/spec/htmlunit_spec.rb +63 -0
- data/spec/implementation.rb +7 -0
- data/spec/index_offset_spec.rb +24 -0
- data/spec/link_spec.rb +16 -0
- data/spec/listener_spec.rb +142 -0
- data/spec/spec_helper.rb +6 -0
- data/spec/table_spec.rb +41 -0
- data/spec/watir_compatibility_spec.rb +32 -0
- data/tasks/snapshot.rake +1 -1
- data/website/benchmarks.html +237 -0
- data/website/css/color.css +153 -0
- data/website/css/hacks.css +3 -0
- data/website/css/layout.css +179 -0
- data/website/css/screen.css +5 -0
- data/website/css/textmate.css +226 -0
- data/website/css/typography.css +72 -0
- data/website/gfx/body_bg.gif +0 -0
- data/website/gfx/button_bg.jpg +0 -0
- data/website/gfx/header_bg.jpg +0 -0
- data/website/gfx/header_left.jpg +0 -0
- data/website/gfx/header_right.jpg +0 -0
- data/website/gfx/nav_bg.jpg +0 -0
- data/website/index.html +125 -0
- data/website/yard/index.html +1 -0
- metadata +69 -22
- data/VERSION.yml +0 -5
- data/lib/celerity/htmlunit/commons-lang-2.6.jar +0 -0
- data/lib/celerity/htmlunit/cssparser-0.9.5.jar +0 -0
- data/tasks/jeweler.rake +0 -28
data/README.rdoc
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
* http://celerity.rubyforge.org/
|
4
4
|
|
5
|
+
{<img src="http://travis-ci.org/jarib/celerity.png" />}[http://travis-ci.org/jarib/celerity]
|
6
|
+
|
7
|
+
|
5
8
|
== Description
|
6
9
|
|
7
10
|
Celerity is a JRuby library for easy and fast functional test automation for web applications.
|
@@ -66,9 +69,9 @@ The source code is available on [GitHub](http://github.com/jarib/celerity/tree/m
|
|
66
69
|
Celerity - JRuby wrapper for HtmlUnit
|
67
70
|
Copyright (c) 2008-2011 FINN.no AS
|
68
71
|
|
69
|
-
This program is free software
|
72
|
+
This program is free software; you can redistribute it and/or modify
|
70
73
|
it under the terms of the GNU General Public License as published by
|
71
|
-
the Free Software Foundation
|
74
|
+
the Free Software Foundation; either version 2 of the License, or
|
72
75
|
(at your option) any later version.
|
73
76
|
|
74
77
|
This program is distributed in the hope that it will be useful,
|
@@ -76,5 +79,6 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
76
79
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
77
80
|
GNU General Public License for more details.
|
78
81
|
|
79
|
-
You should have received a copy of the GNU General Public License
|
80
|
-
|
82
|
+
You should have received a copy of the GNU General Public License along
|
83
|
+
with this program; if not, write to the Free Software Foundation, Inc.,
|
84
|
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
data/Rakefile
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/loader"
|
2
|
+
|
3
|
+
# Create browser object
|
4
|
+
browser = create_browser
|
5
|
+
browser.goto(HTML_DIR + "/2000_spans.html")
|
6
|
+
|
7
|
+
TESTS = 100
|
8
|
+
res = Benchmark.bmbm do |results|
|
9
|
+
results.report("Loop through all spans (n = 1)") do
|
10
|
+
1.times do # Hard coded 1 run
|
11
|
+
browser.spans.each do |span|
|
12
|
+
span.text
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# results.report("Loop through all spans (raw)") do
|
18
|
+
# TESTS.times do
|
19
|
+
# if RUBY_PLATFORM =~ /java/
|
20
|
+
# browser.document.getHtmlElementsByTagName("span").each do |span|
|
21
|
+
# span.asText
|
22
|
+
# end
|
23
|
+
# else
|
24
|
+
# browser.document.getElementsByTagName("span").each do |span|
|
25
|
+
# span.innerText
|
26
|
+
# end
|
27
|
+
# end
|
28
|
+
# end
|
29
|
+
# end
|
30
|
+
|
31
|
+
results.report("Last span by id (String)") do
|
32
|
+
TESTS.times do
|
33
|
+
browser.span(:id, "id_2000").exists?
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
results.report("Last span by id (Regexp)") do
|
38
|
+
TESTS.times do
|
39
|
+
browser.span(:id, "/2000/").exists?
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
puts
|
46
|
+
total = res.inject(0.0) { |mem, bm| mem + bm.real }
|
47
|
+
puts "total : " + total.to_s
|
48
|
+
puts "average: " + (total/res.size.to_f).to_s
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/loader"
|
2
|
+
|
3
|
+
TESTS = 5
|
4
|
+
res = Benchmark.bmbm do |results|
|
5
|
+
results.report("Diggs on front page") do
|
6
|
+
TESTS.times do
|
7
|
+
# Create browser object
|
8
|
+
browser = create_browser
|
9
|
+
|
10
|
+
# Go to digg.com
|
11
|
+
browser.goto('http://digg.com/')
|
12
|
+
|
13
|
+
# Gather statistics
|
14
|
+
total_diggs = 0
|
15
|
+
digg_number_elements = browser.links.select { |link| link.id =~ /diggs/ }
|
16
|
+
digg_numbers = digg_number_elements.collect { |digg_number_element| digg_number_element.text }
|
17
|
+
digg_numbers.each { |digg_number| total_diggs += digg_number.to_i }
|
18
|
+
#puts "Found #{digg_numbers.size} stories, with a total of #{total_diggs} diggs."
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
puts
|
24
|
+
total = res.inject(0.0) { |mem, bm| mem + bm.real }
|
25
|
+
puts "total : " + total.to_s
|
26
|
+
puts "average: " + (total/res.size.to_f).to_s
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/loader"
|
2
|
+
|
3
|
+
TESTS = 5
|
4
|
+
res = Benchmark.bmbm do |results|
|
5
|
+
results.report("Google image search results") do
|
6
|
+
TESTS.times do
|
7
|
+
# Create browser object
|
8
|
+
browser = create_browser
|
9
|
+
|
10
|
+
# Goto images.google.com
|
11
|
+
browser.goto('http://images.google.com/ncr')
|
12
|
+
|
13
|
+
# Search for Watir
|
14
|
+
browser.text_field(:name, 'q').set('Watir')
|
15
|
+
browser.button(:value, 'Search Images').click
|
16
|
+
|
17
|
+
src_pool = []
|
18
|
+
pages = 1
|
19
|
+
# Gather statistics and click Next if there are more results
|
20
|
+
while browser.link(:text, 'Next').exists?
|
21
|
+
pages += 1
|
22
|
+
browser.link(:text, 'Next').click unless src_pool.empty?
|
23
|
+
table_cells = browser.cells.select { |cell| cell.id =~ /tDataImage\d+/ }
|
24
|
+
table_cells.each do |cell|
|
25
|
+
src_pool << cell.images.first.src if cell.images.first.exists?
|
26
|
+
end
|
27
|
+
end
|
28
|
+
#puts "Looked at #{pages} pages of image search results. Got #{src_pool.size} images."
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
puts
|
34
|
+
total = res.inject(0.0) { |mem, bm| mem + bm.real }
|
35
|
+
puts "total : " + total.to_s
|
36
|
+
puts "average: " + (total/res.size.to_f).to_s
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/loader"
|
2
|
+
|
3
|
+
browser = create_browser
|
4
|
+
browser.goto(HTML_DIR + "/forms_with_input_elements.html")
|
5
|
+
|
6
|
+
TESTS = 1000
|
7
|
+
res = Benchmark.bmbm do |results|
|
8
|
+
results.report("text input by id (String)") do
|
9
|
+
TESTS.times { browser.text_field(:id, "new_user_first_name").exists? }
|
10
|
+
end
|
11
|
+
results.report("text input by id (Regexp)") do
|
12
|
+
TESTS.times { browser.text_field(:id, /first_name/).exists? }
|
13
|
+
end
|
14
|
+
results.report("text input by name (String)") do
|
15
|
+
TESTS.times { browser.text_field(:name, "new_user_email").exists? }
|
16
|
+
end
|
17
|
+
results.report("text input by name (Regexp)") do
|
18
|
+
TESTS.times { browser.text_field(:name, /user_email/).exists? }
|
19
|
+
end
|
20
|
+
|
21
|
+
results.report("select list by id (String)") do
|
22
|
+
TESTS.times { browser.select_list(:id, 'new_user_country').exists? }
|
23
|
+
end
|
24
|
+
results.report("select list by id (Regexp)") do
|
25
|
+
TESTS.times { browser.select_list(:id, /user_country/).exists? }
|
26
|
+
end
|
27
|
+
results.report("select list by name (String)") do
|
28
|
+
TESTS.times { browser.select_list(:name, 'new_user_country').exists? }
|
29
|
+
end
|
30
|
+
results.report("select list by name (Regexp)") do
|
31
|
+
TESTS.times { browser.select_list(:name, /user_country/).exists? }
|
32
|
+
end
|
33
|
+
|
34
|
+
results.report("checkbox by id (String)") do
|
35
|
+
TESTS.times { browser.checkbox(:id, 'new_user_interests_books').exists? }
|
36
|
+
end
|
37
|
+
results.report("checkbox by id (Regexp)") do
|
38
|
+
TESTS.times { browser.checkbox(:id, /interests_books/).exists? }
|
39
|
+
end
|
40
|
+
|
41
|
+
results.report("checkbox by name (String)") do
|
42
|
+
TESTS.times { browser.checkbox(:name, 'new_user_interests').exists? }
|
43
|
+
end
|
44
|
+
results.report("checkbox by name (Regexp)") do
|
45
|
+
TESTS.times { browser.checkbox(:name, /user_interests/).exists? }
|
46
|
+
end
|
47
|
+
|
48
|
+
results.report("checkbox by id (String) and value (String)") do
|
49
|
+
TESTS.times { browser.checkbox(:id, 'new_user_interests_books', 'cars').exists? }
|
50
|
+
end
|
51
|
+
results.report("checkbox by id (Regexp) and value (Regexp)") do
|
52
|
+
TESTS.times { browser.checkbox(:id, /interests_books/, /car/).exists? }
|
53
|
+
end
|
54
|
+
|
55
|
+
results.report("checkbox by name (String) and value (String)") do
|
56
|
+
TESTS.times { browser.checkbox(:name, 'new_user_interests', 'dancing').exists? }
|
57
|
+
end
|
58
|
+
results.report("checkbox by name (Regexp) and value (Regexp)") do
|
59
|
+
TESTS.times { browser.checkbox(:name, /user_interests/, /danc/).exists? }
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
puts
|
67
|
+
total = res.inject(0.0) { |mem, bm| mem + bm.real }
|
68
|
+
puts "total : " + total.to_s
|
69
|
+
puts "average: " + (total/res.size.to_f).to_s
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/loader"
|
2
|
+
|
3
|
+
browser = create_browser
|
4
|
+
browser.goto(HTML_DIR + "/forms_with_input_elements.html")
|
5
|
+
|
6
|
+
TESTS = 10000
|
7
|
+
res = Benchmark.bmbm do |results|
|
8
|
+
results.report("TextField#set") do
|
9
|
+
TESTS.times { browser.text_field(:id, "new_user_first_name").set("1234567890") }
|
10
|
+
end
|
11
|
+
results.report("TextField#value=") do
|
12
|
+
TESTS.times { browser.text_field(:id, "new_user_first_name").value = "1234567890" }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
puts
|
17
|
+
total = res.inject(0.0) { |mem, bm| mem + bm.real }
|
18
|
+
puts "total : " + total.to_s
|
19
|
+
puts "average: " + (total/res.size.to_f).to_s
|
data/benchmark/loader.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'benchmark'
|
2
|
+
require File.dirname(__FILE__) + "/../spec/spec_helper"
|
3
|
+
|
4
|
+
|
5
|
+
def create_browser
|
6
|
+
if RUBY_PLATFORM =~ /java/
|
7
|
+
browser = Celerity::Browser.new(:log_level => :off)
|
8
|
+
else
|
9
|
+
require 'watir'
|
10
|
+
browser = Watir::IE.new
|
11
|
+
end
|
12
|
+
|
13
|
+
browser
|
14
|
+
end
|
data/celerity.gemspec
CHANGED
@@ -1,122 +1,26 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require 'celerity/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
9
|
-
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
"LICENSE",
|
21
|
-
"README.rdoc",
|
22
|
-
"Rakefile",
|
23
|
-
"VERSION.yml",
|
24
|
-
"celerity.gemspec",
|
25
|
-
"lib/celerity.rb",
|
26
|
-
"lib/celerity/browser.rb",
|
27
|
-
"lib/celerity/clickable_element.rb",
|
28
|
-
"lib/celerity/collections.rb",
|
29
|
-
"lib/celerity/container.rb",
|
30
|
-
"lib/celerity/default_viewer.rb",
|
31
|
-
"lib/celerity/disabled_element.rb",
|
32
|
-
"lib/celerity/element.rb",
|
33
|
-
"lib/celerity/element_collection.rb",
|
34
|
-
"lib/celerity/element_locator.rb",
|
35
|
-
"lib/celerity/elements/button.rb",
|
36
|
-
"lib/celerity/elements/file_field.rb",
|
37
|
-
"lib/celerity/elements/form.rb",
|
38
|
-
"lib/celerity/elements/frame.rb",
|
39
|
-
"lib/celerity/elements/image.rb",
|
40
|
-
"lib/celerity/elements/label.rb",
|
41
|
-
"lib/celerity/elements/link.rb",
|
42
|
-
"lib/celerity/elements/meta.rb",
|
43
|
-
"lib/celerity/elements/non_control_elements.rb",
|
44
|
-
"lib/celerity/elements/option.rb",
|
45
|
-
"lib/celerity/elements/radio_check.rb",
|
46
|
-
"lib/celerity/elements/select_list.rb",
|
47
|
-
"lib/celerity/elements/table.rb",
|
48
|
-
"lib/celerity/elements/table_cell.rb",
|
49
|
-
"lib/celerity/elements/table_elements.rb",
|
50
|
-
"lib/celerity/elements/table_row.rb",
|
51
|
-
"lib/celerity/elements/text_field.rb",
|
52
|
-
"lib/celerity/exception.rb",
|
53
|
-
"lib/celerity/htmlunit.rb",
|
54
|
-
"lib/celerity/htmlunit/commons-codec-1.4.jar",
|
55
|
-
"lib/celerity/htmlunit/commons-collections-3.2.1.jar",
|
56
|
-
"lib/celerity/htmlunit/commons-io-2.0.1.jar",
|
57
|
-
"lib/celerity/htmlunit/commons-lang-2.6.jar",
|
58
|
-
"lib/celerity/htmlunit/commons-logging-1.1.1.jar",
|
59
|
-
"lib/celerity/htmlunit/cssparser-0.9.5.jar",
|
60
|
-
"lib/celerity/htmlunit/htmlunit-2.9.jar",
|
61
|
-
"lib/celerity/htmlunit/htmlunit-core-js-2.9.jar",
|
62
|
-
"lib/celerity/htmlunit/httpclient-4.1.2.jar",
|
63
|
-
"lib/celerity/htmlunit/httpcore-4.1.2.jar",
|
64
|
-
"lib/celerity/htmlunit/httpmime-4.1.2.jar",
|
65
|
-
"lib/celerity/htmlunit/nekohtml-1.9.15.jar",
|
66
|
-
"lib/celerity/htmlunit/sac-1.3.jar",
|
67
|
-
"lib/celerity/htmlunit/serializer-2.7.1.jar",
|
68
|
-
"lib/celerity/htmlunit/xalan-2.7.1.jar",
|
69
|
-
"lib/celerity/htmlunit/xercesImpl-2.9.1.jar",
|
70
|
-
"lib/celerity/htmlunit/xml-apis-1.3.04.jar",
|
71
|
-
"lib/celerity/identifier.rb",
|
72
|
-
"lib/celerity/ignoring_web_connection.rb",
|
73
|
-
"lib/celerity/input_element.rb",
|
74
|
-
"lib/celerity/javascript_debugger.rb",
|
75
|
-
"lib/celerity/listener.rb",
|
76
|
-
"lib/celerity/resources/no_viewer.png",
|
77
|
-
"lib/celerity/short_inspect.rb",
|
78
|
-
"lib/celerity/util.rb",
|
79
|
-
"lib/celerity/version.rb",
|
80
|
-
"lib/celerity/viewer_connection.rb",
|
81
|
-
"lib/celerity/watir_compatibility.rb",
|
82
|
-
"lib/celerity/xpath_support.rb",
|
83
|
-
"tasks/benchmark.rake",
|
84
|
-
"tasks/check.rake",
|
85
|
-
"tasks/clean.rake",
|
86
|
-
"tasks/fix.rake",
|
87
|
-
"tasks/jar.rake",
|
88
|
-
"tasks/jeweler.rake",
|
89
|
-
"tasks/rdoc.rake",
|
90
|
-
"tasks/snapshot.rake",
|
91
|
-
"tasks/spec.rake",
|
92
|
-
"tasks/website.rake",
|
93
|
-
"tasks/yard.rake"
|
94
|
-
]
|
95
|
-
s.homepage = %q{http://github.com/jarib/celerity}
|
96
|
-
s.require_paths = ["lib"]
|
6
|
+
s.name = %q{celerity}
|
7
|
+
s.version = Celerity::VERSION
|
8
|
+
s.authors = ["Jari Bakken", "T. Alexander Lystad", "Knut Johannes Dahle"]
|
9
|
+
s.description = "Celerity is a JRuby wrapper around HtmlUnit – a headless Java browser with JavaScript support. It provides a simple API for programmatic navigation through web applications. Celerity provides a superset of Watir's API."
|
10
|
+
s.summary = %q{Celerity is a JRuby library for easy and fast functional test automation for web applications.}
|
11
|
+
s.email = %q{jari.bakken@gmail.com}
|
12
|
+
s.homepage = %q{http://github.com/jarib/celerity}
|
13
|
+
s.require_paths = ["lib"]
|
97
14
|
s.rubyforge_project = %q{celerity}
|
98
|
-
s.rubygems_version = %q{1.5.1}
|
99
|
-
s.summary = %q{Celerity is a JRuby library for easy and fast functional test automation for web applications.}
|
100
15
|
|
101
|
-
|
102
|
-
|
16
|
+
s.add_development_dependency "rake", "~> 0.9.2"
|
17
|
+
s.add_development_dependency "rspec", "~> 2.0.0"
|
18
|
+
s.add_development_dependency "yard", ">= 0"
|
19
|
+
s.add_development_dependency "sinatra", "~> 1.0"
|
20
|
+
s.add_development_dependency "mongrel", ">= 0"
|
103
21
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
s.add_development_dependency(%q<sinatra>, [">= 1.0"])
|
108
|
-
s.add_development_dependency(%q<mongrel>, [">= 0"])
|
109
|
-
else
|
110
|
-
s.add_dependency(%q<rspec>, ["~> 2.0.0"])
|
111
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
112
|
-
s.add_dependency(%q<sinatra>, [">= 1.0"])
|
113
|
-
s.add_dependency(%q<mongrel>, [">= 0"])
|
114
|
-
end
|
115
|
-
else
|
116
|
-
s.add_dependency(%q<rspec>, ["~> 2.0.0"])
|
117
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
118
|
-
s.add_dependency(%q<sinatra>, [">= 1.0"])
|
119
|
-
s.add_dependency(%q<mongrel>, [">= 0"])
|
120
|
-
end
|
22
|
+
s.files = `git ls-files`.split("\n")
|
23
|
+
s.test_files = []
|
24
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
121
25
|
end
|
122
26
|
|
data/lib/celerity.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
2
|
-
|
3
1
|
raise "Celerity only works on JRuby at the moment." unless RUBY_PLATFORM =~ /java/
|
4
2
|
|
5
3
|
require "java"
|
@@ -29,7 +27,7 @@ module Celerity
|
|
29
27
|
attr_accessor :index_offset
|
30
28
|
end
|
31
29
|
|
32
|
-
DIR = File.expand_path(
|
30
|
+
DIR = File.expand_path("../celerity", __FILE__)
|
33
31
|
end
|
34
32
|
|
35
33
|
require "celerity/version"
|
Binary file
|
Binary file
|
Binary file
|
data/lib/celerity/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
require File.expand_path("../watirspec/spec_helper", __FILE__)
|
2
|
+
|
3
|
+
describe "Browser" do
|
4
|
+
|
5
|
+
describe "#credentials=" do
|
6
|
+
it "sets the basic authentication credentials" do
|
7
|
+
browser.goto(WatirSpec.host + "/authentication")
|
8
|
+
browser.text.should_not include("ok")
|
9
|
+
|
10
|
+
browser.credentials = "foo:bar"
|
11
|
+
|
12
|
+
browser.goto(WatirSpec.host + "/authentication")
|
13
|
+
browser.text.should include("ok")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|