celerity 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|