jarib-celerity 0.0.6.8 → 0.0.6.9

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.
@@ -26,10 +26,6 @@ module Celerity
26
26
  raise NotImplementedError, "use ClickableElement#click_and_attach instead"
27
27
  end
28
28
 
29
- def inspect
30
- short_inspect :exclude => %w[@webclient @browser @object @options]
31
- end
32
-
33
29
  #
34
30
  # Creates a browser object.
35
31
  #
@@ -77,6 +73,10 @@ module Celerity
77
73
  find_viewer
78
74
  end
79
75
 
76
+ def inspect
77
+ short_inspect :exclude => %w[@webclient @browser @object @options]
78
+ end
79
+
80
80
  #
81
81
  # Goto the given URL
82
82
  #
@@ -139,6 +139,14 @@ module Celerity
139
139
  @page ? @page.getTitleText : ''
140
140
  end
141
141
 
142
+ #
143
+ # @return [String] the value of window.status
144
+ #
145
+
146
+ def status
147
+ execute_script "window.status" # avoid the listener overhead
148
+ end
149
+
142
150
  #
143
151
  # @return [String] the HTML content of the current page
144
152
  #
@@ -491,9 +499,9 @@ module Celerity
491
499
  # :incorrectness => IncorrectnessListener
492
500
  # :confirm => ConfirmHandler ( window.confirm() )
493
501
  # :prompt => PromptHandler ( window.prompt() )
494
- #
502
+ #
495
503
  # Examples:
496
- #
504
+ #
497
505
  # browser.add_listener(:status) { |page, message| ... }
498
506
  # browser.add_listener(:alert) { |page, message| ... }
499
507
  # browser.add_listener(:web_window_event) { |web_window_event| ... }
@@ -563,7 +571,7 @@ module Celerity
563
571
  #
564
572
 
565
573
  def log_level
566
- logger_for('com.gargoylesoftware.htmlunit').level.to_s.downcase.to_sym
574
+ Celerity::Util.logger_for('com.gargoylesoftware.htmlunit').level.to_s.downcase.to_sym
567
575
  end
568
576
 
569
577
  #
@@ -577,8 +585,9 @@ module Celerity
577
585
 
578
586
  [ 'com.gargoylesoftware.htmlunit',
579
587
  'com.gargoylesoftware.htmlunit.html',
588
+ 'com.gargoylesoftware.htmlunit.javascript',
580
589
  'org.apache.commons.httpclient'
581
- ].each { |package| logger_for(package).level = log_level }
590
+ ].each { |package| Celerity::Util.logger_for(package).level = log_level }
582
591
 
583
592
  level
584
593
  end
@@ -774,7 +783,7 @@ module Celerity
774
783
  def find_viewer
775
784
  # needed to avoid DRb raising and rescuing lots exceptions
776
785
  DRb.start_service unless DRb.primary_server
777
-
786
+
778
787
  viewer = DRbObject.new_with_uri("druby://127.0.0.1:6429")
779
788
  if viewer.respond_to?(:render_html)
780
789
  @viewer = viewer
@@ -794,10 +803,6 @@ module Celerity
794
803
  element_class.new(self, :object, obj)
795
804
  end
796
805
 
797
- def logger_for(class_string)
798
- java.util.logging.Logger.getLogger(class_string)
799
- end
800
-
801
806
  def listener
802
807
  @listener ||= Celerity::Listener.new(@webclient)
803
808
  end
@@ -49,6 +49,7 @@ module Celerity
49
49
 
50
50
  #
51
51
  # Click the element and just return the content as IO. Current page stays unchanged.
52
+ # This can be used to download content that normally isn't rendered in a browser.
52
53
  #
53
54
  # @return [IO]
54
55
  #
@@ -61,7 +61,7 @@ module Celerity
61
61
  #
62
62
 
63
63
  def inspect
64
- short_inspect :exclude => %w[@browser @container]
64
+ short_inspect :include => %w[@conditions @object]
65
65
  end
66
66
 
67
67
  #
@@ -97,15 +97,26 @@ module Celerity
97
97
  def locate
98
98
  @object = ElementLocator.new(@container, self.class).find_by_conditions(@conditions)
99
99
  end
100
-
101
- #
100
+
101
+ #
102
102
  # Returns the HtmlUnit object backing this element
103
- #
103
+ #
104
104
 
105
105
  def object
106
106
  @object || locate
107
107
  end
108
108
 
109
+ #
110
+ # Returns a JavaScript object representing the receiver
111
+ #
112
+ # @api internal - subject to change
113
+ #
114
+
115
+ def javascript_object
116
+ assert_exists
117
+ @object.getScriptObject
118
+ end
119
+
109
120
  #
110
121
  # @return [String] A string representation of the element.
111
122
  #
@@ -146,7 +157,7 @@ module Celerity
146
157
  #
147
158
 
148
159
  def assert_exists
149
- locate
160
+ locate unless @object
150
161
  unless @object
151
162
  raise UnknownObjectException, "Unable to locate #{self.class.name[/::(.*)$/, 1]}, using #{identifier_string}"
152
163
  end
@@ -37,6 +37,8 @@ module Celerity
37
37
  assert_not_readonly
38
38
  clear
39
39
  type_string(value.to_s)
40
+
41
+ value
40
42
  end
41
43
 
42
44
  #
@@ -76,7 +78,7 @@ module Celerity
76
78
  def append(value)
77
79
  assert_enabled
78
80
  assert_not_readonly
79
- type_string(value)
81
+ type_string value
80
82
  end
81
83
 
82
84
 
@@ -48,3 +48,14 @@ class Java::ComGargoylesoftwareHtmlunitHtml::HtmlElement
48
48
  '#<%s:0x%s>' % [self.class.name.split("::").last, self.hash.to_s(16)]
49
49
  end
50
50
  end
51
+
52
+ class Java::ComGargoylesoftwareHtmlunitJavascriptHostHtml::HTMLElement
53
+ def method_missing(meth, *args, &blk)
54
+ m = ["jsxGet_#{meth}", "jsx_get_#{meth}"].find { |m| respond_to?(m) }
55
+ if m
56
+ __send__ m
57
+ else
58
+ super
59
+ end
60
+ end
61
+ end
data/lib/celerity/util.rb CHANGED
@@ -83,5 +83,9 @@ module Celerity
83
83
  strip
84
84
  end
85
85
 
86
+ def logger_for(package_string)
87
+ java.util.logging.Logger.getLogger(package_string)
88
+ end
89
+
86
90
  end
87
91
  end
@@ -3,7 +3,7 @@ module Celerity #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
5
  TINY = 6
6
- PATCH = 8 # Set to nil for official release
6
+ PATCH = 9 # Set to nil for official release
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
9
9
  end
@@ -25,8 +25,6 @@ module Celerity
25
25
  def bring_to_front; true; end
26
26
  # Added for Watir compatibility - not in use by Celerity
27
27
  def speed=(s); s end
28
- # Added for Watir compatibility - not in use by Celerity
29
- def status; '' end
30
28
  end
31
29
 
32
30
 
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.8
4
+ version: 0.0.6.9
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-06-04 00:00:00 -07:00
14
+ date: 2009-06-13 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency