jarib-celerity 0.0.6.2 → 0.0.6.3
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/lib/celerity/browser.rb +40 -9
- data/lib/celerity/element.rb +2 -8
- data/lib/celerity/elements/form.rb +2 -0
- data/lib/celerity/elements/text_field.rb +6 -1
- data/lib/celerity/htmlunit/htmlunit-2.5-SNAPSHOT.jar +0 -0
- data/lib/celerity/htmlunit.rb +1 -6
- data/lib/celerity/listener.rb +7 -2
- data/lib/celerity/version.rb +1 -1
- metadata +3 -3
data/lib/celerity/browser.rb
CHANGED
@@ -275,7 +275,7 @@ module Celerity
|
|
275
275
|
|
276
276
|
def wait
|
277
277
|
assert_exists
|
278
|
-
@
|
278
|
+
@webclient.waitForBackgroundJavaScript(10000);
|
279
279
|
end
|
280
280
|
|
281
281
|
#
|
@@ -485,8 +485,25 @@ module Celerity
|
|
485
485
|
#
|
486
486
|
|
487
487
|
def add_listener(type, &block)
|
488
|
-
|
489
|
-
|
488
|
+
listener.add_listener(type, &block)
|
489
|
+
end
|
490
|
+
|
491
|
+
#
|
492
|
+
# Specify a boolean value to click either 'OK' or 'Cancel' in any confirm
|
493
|
+
# dialogs that might show up during the duration of the given block.
|
494
|
+
#
|
495
|
+
# (Celerity only)
|
496
|
+
#
|
497
|
+
# @param [Boolean] bool true to click 'OK', false to click 'cancel'
|
498
|
+
# @param [Proc] block A block that will trigger the confirm() call(s).
|
499
|
+
#
|
500
|
+
|
501
|
+
def confirm(bool, &block)
|
502
|
+
blk = lambda { bool }
|
503
|
+
|
504
|
+
listener.add_listener(:confirm, &blk)
|
505
|
+
yield
|
506
|
+
listener.remove_listener(:confirm, blk)
|
490
507
|
end
|
491
508
|
|
492
509
|
#
|
@@ -523,7 +540,7 @@ module Celerity
|
|
523
540
|
#
|
524
541
|
|
525
542
|
def log_level
|
526
|
-
|
543
|
+
logger_for('com.gargoylesoftware.htmlunit').level.to_s.downcase.to_sym
|
527
544
|
end
|
528
545
|
|
529
546
|
#
|
@@ -533,7 +550,15 @@ module Celerity
|
|
533
550
|
#
|
534
551
|
|
535
552
|
def log_level=(level)
|
536
|
-
|
553
|
+
log_level = java.util.logging.Level.const_get(level.to_s.upcase)
|
554
|
+
|
555
|
+
# loggers = [
|
556
|
+
# logger_for('com.gargoylesoftware.htmlunit'),
|
557
|
+
# logger_for("com.gargoylesoftware.htmlunit.html.HtmlElement")
|
558
|
+
# ]
|
559
|
+
# loggers.each { |logger| logger.level = log_level }
|
560
|
+
|
561
|
+
logger_for('com.gargoylesoftware.htmlunit').level = log_level
|
537
562
|
end
|
538
563
|
|
539
564
|
#
|
@@ -574,8 +599,6 @@ module Celerity
|
|
574
599
|
@webclient.throwExceptionOnFailingStatusCode
|
575
600
|
end
|
576
601
|
|
577
|
-
|
578
|
-
|
579
602
|
#
|
580
603
|
# Sets the current page object for the browser
|
581
604
|
#
|
@@ -637,10 +660,10 @@ module Celerity
|
|
637
660
|
#
|
638
661
|
|
639
662
|
def setup_webclient(opts)
|
640
|
-
browser = (opts.delete(:browser) || :
|
663
|
+
browser = (opts.delete(:browser) || :firefox).to_sym
|
641
664
|
|
642
665
|
case browser
|
643
|
-
when :firefox
|
666
|
+
when :firefox, :ff
|
644
667
|
browser_version = ::HtmlUnit::BrowserVersion::FIREFOX_2
|
645
668
|
when :internet_explorer, :ie
|
646
669
|
browser_version = ::HtmlUnit::BrowserVersion::INTERNET_EXPLORER_7_0
|
@@ -717,5 +740,13 @@ module Celerity
|
|
717
740
|
end
|
718
741
|
end
|
719
742
|
|
743
|
+
def logger_for(class_string)
|
744
|
+
java.util.logging.Logger.getLogger(class_string)
|
745
|
+
end
|
746
|
+
|
747
|
+
def listener
|
748
|
+
@listener ||= Celerity::Listener.new(@webclient)
|
749
|
+
end
|
750
|
+
|
720
751
|
end # Browser
|
721
752
|
end # Celerity
|
data/lib/celerity/element.rb
CHANGED
@@ -126,14 +126,8 @@ module Celerity
|
|
126
126
|
#
|
127
127
|
|
128
128
|
def visible?
|
129
|
-
|
130
|
-
|
131
|
-
return false if obj.respond_to?(:type) && obj.type == 'hidden'
|
132
|
-
return false if obj.style =~ /display\s*:\s*none|visibility\s*:\s*hidden/
|
133
|
-
obj = obj.parent
|
134
|
-
end
|
135
|
-
|
136
|
-
return true
|
129
|
+
assert_exists
|
130
|
+
@object.isVisible
|
137
131
|
end
|
138
132
|
|
139
133
|
#
|
@@ -13,6 +13,10 @@ module Celerity
|
|
13
13
|
Identifier.new('input', :type => ["text", "password", /^(?!(#{ Regexp.union(*NON_TEXT_TYPES) })$)/]) ]
|
14
14
|
DEFAULT_HOW = :name
|
15
15
|
|
16
|
+
def visible?
|
17
|
+
type == 'hidden' ? false : super
|
18
|
+
end
|
19
|
+
|
16
20
|
#
|
17
21
|
# Clear the text field.
|
18
22
|
#
|
@@ -129,7 +133,7 @@ module Celerity
|
|
129
133
|
private
|
130
134
|
|
131
135
|
def type_string(value)
|
132
|
-
java.lang.String.new(value.to_java_bytes, @
|
136
|
+
java.lang.String.new(value.to_java_bytes, @browser.page.getPageEncoding).toCharArray.each do |char|
|
133
137
|
@container.update_page @object.type(char)
|
134
138
|
end
|
135
139
|
end
|
@@ -157,6 +161,7 @@ module Celerity
|
|
157
161
|
DEFAULT_HOW = :name
|
158
162
|
|
159
163
|
def visible?
|
164
|
+
assert_exists
|
160
165
|
false
|
161
166
|
end
|
162
167
|
end
|
Binary file
|
data/lib/celerity/htmlunit.rb
CHANGED
@@ -5,8 +5,6 @@ module Celerity
|
|
5
5
|
include_class org.apache.commons.httpclient.Cookie
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
|
-
|
10
8
|
module HtmlUnit
|
11
9
|
include_package 'com.gargoylesoftware.htmlunit'
|
12
10
|
|
@@ -17,7 +15,6 @@ module HtmlUnit
|
|
17
15
|
module Util
|
18
16
|
include_package 'com.gargoylesoftware.htmlunit.util'
|
19
17
|
end
|
20
|
-
|
21
18
|
end
|
22
19
|
|
23
20
|
module Java::OrgW3cDom::NamedNodeMap
|
@@ -38,12 +35,10 @@ module Java::JavaLang::Iterable
|
|
38
35
|
yield it.next while it.hasNext
|
39
36
|
end
|
40
37
|
|
41
|
-
end
|
42
|
-
|
38
|
+
end unless Java::JavaLang::Iterable < Enumerable # depends on JRuby version
|
43
39
|
|
44
40
|
class Java::ComGargoylesoftwareHtmlunitHtml::HtmlPage
|
45
41
|
def inspect
|
46
42
|
'#<HtmlPage:0x%s(%s)>' % [self.hash.to_s(16), getWebResponse.getUrl.toString]
|
47
43
|
end
|
48
44
|
end
|
49
|
-
|
data/lib/celerity/listener.rb
CHANGED
@@ -83,10 +83,15 @@ module Celerity
|
|
83
83
|
#
|
84
84
|
# interface ConfirmHandler
|
85
85
|
#
|
86
|
+
# The returned value is determined by the last registered :confirm listener proc.
|
87
|
+
# If it is nil, return true, otherwise return that value as a boolean.
|
88
|
+
#
|
89
|
+
# @see Browser#confirm
|
90
|
+
#
|
86
91
|
|
87
92
|
def handleConfirm(page, message)
|
88
|
-
@procs[:confirm].
|
89
|
-
|
93
|
+
val = @procs[:confirm].map { |h| h.call(page, message) }.last
|
94
|
+
val.nil? || !!val
|
90
95
|
end
|
91
96
|
|
92
97
|
#
|
data/lib/celerity/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jarib-celerity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.6.
|
4
|
+
version: 0.0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jari Bakken
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2009-
|
14
|
+
date: 2009-04-05 00:00:00 -07:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
requirements:
|
23
23
|
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 1.
|
25
|
+
version: 1.12.1
|
26
26
|
version:
|
27
27
|
description: "Celerity is a JRuby wrapper around HtmlUnit \xE2\x80\x93 a headless Java browser with JavaScript support. It provides a simple API for programmatic navigation through web applications. Celerity aims at being API compatible with Watir."
|
28
28
|
email: jari.bakken@finn.no
|