testability-driver 1.0.3 → 1.0.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/lib/tdriver-devtools/behaviour/xml/rdoc_behaviour_xml_generator.rb +2 -2
- data/lib/tdriver-devtools/tdriver-devtools.rb +1 -1
- data/lib/tdriver-devtools/tests/feature_tests/lib/custom_rdoc_generator.rb +3 -3
- data/lib/tdriver/base/behaviour/behaviours/object_behaviour_composition.rb +6 -1
- data/lib/tdriver/base/behaviour/behaviours/object_behaviour_description.rb +5 -3
- data/lib/tdriver/base/behaviour/behaviours/object_composition.rb +1 -1
- data/lib/tdriver/base/behaviour/factory.rb +225 -225
- data/lib/tdriver/base/errors.rb +1 -1
- data/lib/tdriver/base/state_object.rb +227 -179
- data/lib/tdriver/base/sut/controller.rb +2 -2
- data/lib/tdriver/base/sut/factory.rb +190 -182
- data/lib/tdriver/base/sut/generic/behaviours/application.rb +69 -25
- data/lib/tdriver/base/sut/generic/behaviours/controller.rb +1 -1
- data/lib/tdriver/base/sut/generic/behaviours/find.rb +4 -4
- data/lib/tdriver/base/sut/generic/behaviours/flash_behaviour.rb +3 -3
- data/lib/tdriver/base/sut/generic/behaviours/sut.rb +350 -165
- data/lib/tdriver/base/sut/generic/behaviours/switchbox_behaviour.rb +9 -9
- data/lib/tdriver/base/sut/generic/behaviours/verification.rb +191 -103
- data/lib/tdriver/base/sut/generic/commands/application.rb +1 -1
- data/lib/tdriver/base/sut/generic/commands/key_sequence.rb +1 -1
- data/lib/tdriver/base/sut/generic/commands/screen_capture.rb +1 -1
- data/lib/tdriver/base/sut/generic/plugin.rb +1 -1
- data/lib/tdriver/base/sut/sut.rb +5 -1
- data/lib/tdriver/base/test_object/abstract.rb +136 -151
- data/lib/tdriver/base/test_object/adapter.rb +293 -82
- data/lib/tdriver/base/test_object/behaviours/syncronization.rb +20 -17
- data/lib/tdriver/base/test_object/behaviours/test_object.rb +159 -532
- data/lib/tdriver/base/test_object/cache.rb +1 -1
- data/lib/tdriver/base/test_object/factory.rb +254 -605
- data/lib/tdriver/base/test_object/identificator.rb +1 -1
- data/lib/tdriver/base/test_object/loader.rb +1 -1
- data/lib/tdriver/base/test_object/verification.rb +17 -17
- data/lib/tdriver/loader.rb +20 -9
- data/lib/tdriver/report/report.rb +5 -0
- data/lib/tdriver/report/report_creator.rb +2 -2
- data/lib/tdriver/report/report_cucumber_listener.rb +4 -4
- data/lib/tdriver/report/report_cucumber_reporter.rb +4 -4
- data/lib/tdriver/report/report_execution_statistics.rb +22 -22
- data/lib/tdriver/report/report_grouping.rb +2 -2
- data/lib/tdriver/report/report_javascript.rb +11 -4
- data/lib/tdriver/report/report_test_case_run.rb +2 -2
- data/lib/tdriver/report/report_test_run.rb +5 -5
- data/lib/tdriver/report/report_test_unit.rb +74 -26
- data/lib/tdriver/report/report_writer.rb +70 -13
- data/lib/tdriver/tdriver.rb +17 -8
- data/lib/tdriver/util/common/array.rb +1 -1
- data/lib/tdriver/util/common/crc16.rb +1 -1
- data/lib/tdriver/util/common/environment.rb +1 -1
- data/lib/tdriver/util/common/file.rb +18 -9
- data/lib/tdriver/util/common/gem.rb +1 -1
- data/lib/tdriver/util/common/hash.rb +21 -0
- data/lib/tdriver/util/common/kernel.rb +1 -1
- data/lib/tdriver/util/common/loader.rb +5 -2
- data/lib/tdriver/util/common/numeric.rb +54 -3
- data/lib/tdriver/util/common/retryable.rb +30 -12
- data/lib/tdriver/util/common/stackable.rb +185 -0
- data/lib/tdriver/util/common/string.rb +21 -5
- data/lib/tdriver/util/{dbaccess/dbaccess.rb → database/access.rb} +4 -1
- data/lib/tdriver/util/{dbaccess/dbconnection.rb → database/connection.rb} +3 -0
- data/lib/tdriver/util/{dbaccess → database}/error.rb +0 -1
- data/lib/tdriver/util/{dbaccess → database}/loader.rb +5 -6
- data/lib/tdriver/util/{dynamic_attribute_filter.rb → filters/dynamic_attributes.rb} +1 -1
- data/lib/tdriver/util/hooking/hooking.rb +477 -0
- data/lib/tdriver/util/loader.rb +35 -29
- data/lib/tdriver/util/localisation/error.rb +0 -1
- data/lib/tdriver/util/localisation/loader.rb +1 -4
- data/lib/tdriver/util/localisation/localisation.rb +30 -27
- data/lib/tdriver/util/{common.rb → logger/loader.rb} +2 -4
- data/lib/tdriver/util/logger/logger.rb +574 -0
- data/lib/tdriver/util/operator_data/loader.rb +4 -3
- data/lib/tdriver/util/operator_data/operator_data.rb +5 -5
- data/lib/tdriver/util/parameter/parameter.rb +7 -1
- data/lib/tdriver/util/parameter/parameter_hash.rb +1 -1
- data/lib/tdriver/util/parameter/parameter_template.rb +1 -1
- data/lib/tdriver/util/parameter/parameter_user_api.rb +28 -20
- data/lib/tdriver/util/parameter/parameter_xml.rb +1 -1
- data/lib/tdriver/util/plugin/abstract.rb +1 -1
- data/lib/tdriver/util/plugin/service.rb +1 -1
- data/lib/tdriver/util/{localisation.rb → recorder/loader.rb} +4 -3
- data/lib/tdriver/util/recorder/recorder.rb +66 -0
- data/lib/tdriver/util/recorder/scripter.rb +258 -0
- data/lib/tdriver/util/{stats.rb → statistics/statistics.rb} +7 -8
- data/lib/tdriver/util/user_data/error.rb +0 -1
- data/lib/tdriver/util/user_data/loader.rb +1 -2
- data/lib/tdriver/util/user_data/user_data.rb +6 -6
- data/lib/tdriver/util/video/camera.rb +67 -0
- data/lib/tdriver/util/video/camera_linux.rb +139 -0
- data/lib/tdriver/util/video/camera_windows.rb +174 -0
- data/lib/tdriver/util/video/loader.rb +31 -0
- data/lib/tdriver/util/video/video_utils.rb +139 -0
- data/lib/tdriver/util/xml/abstraction.rb +56 -5
- data/lib/tdriver/util/xml/builder.rb +2 -5
- data/lib/tdriver/util/{parameter.rb → xml/comment.rb} +10 -2
- data/lib/tdriver/util/xml/loader.rb +32 -22
- data/lib/tdriver/util/xml/nil_node.rb +2 -2
- data/lib/tdriver/util/xml/parsers/loader.rb +0 -1
- data/lib/tdriver/util/xml/parsers/nokogiri/abstraction.rb +18 -44
- data/lib/tdriver/util/xml/parsers/nokogiri/attribute.rb +9 -13
- data/lib/tdriver/util/xml/parsers/nokogiri/builder.rb +9 -3
- data/lib/tdriver/util/xml/parsers/nokogiri/comment.rb +39 -0
- data/lib/tdriver/util/xml/parsers/nokogiri/document.rb +6 -11
- data/lib/tdriver/util/xml/parsers/nokogiri/element.rb +2 -122
- data/lib/tdriver/util/xml/parsers/nokogiri/loader.rb +26 -16
- data/lib/tdriver/util/xml/parsers/nokogiri/node.rb +203 -0
- data/lib/tdriver/util/xml/parsers/nokogiri/nodeset.rb +1 -2
- data/lib/tdriver/util/xml/parsers/nokogiri/text.rb +2 -20
- data/lib/tdriver/util/xml/xml.rb +52 -20
- data/lib/tdriver/verify/verify.rb +238 -81
- data/xml/behaviours/generic.xml +12 -10
- metadata +156 -180
- data/lib/tdriver/base/test_object/factory_new.rb +0 -202
- data/lib/tdriver/util/hooking.rb +0 -434
- data/lib/tdriver/util/logger.rb +0 -506
- data/lib/tdriver/util/recorder.rb +0 -297
- data/lib/tdriver/util/video_utils.rb +0 -384
- data/lib/tdriver/util/xml/nil_element.rb +0 -89
|
@@ -27,32 +27,28 @@ module MobyUtil
|
|
|
27
27
|
|
|
28
28
|
include Abstraction
|
|
29
29
|
|
|
30
|
+
# TODO: document me
|
|
30
31
|
def value
|
|
31
32
|
|
|
32
33
|
@xml.value
|
|
33
34
|
|
|
34
35
|
end
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
# TODO: document me
|
|
38
|
+
def value=( content )
|
|
37
39
|
|
|
38
|
-
@xml.content
|
|
40
|
+
@xml.value = content
|
|
39
41
|
|
|
40
42
|
end
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
# alias for value=
|
|
45
|
+
alias_method :content=, :value=
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def to_s
|
|
49
|
-
|
|
50
|
-
@xml.value
|
|
51
|
-
|
|
52
|
-
end
|
|
47
|
+
# alias for value
|
|
48
|
+
alias_method :content, :value
|
|
53
49
|
|
|
54
50
|
# enable hooking for performance measurement & debug logging
|
|
55
|
-
|
|
51
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
|
56
52
|
|
|
57
53
|
end
|
|
58
54
|
|
|
@@ -40,14 +40,20 @@ module MobyUtil
|
|
|
40
40
|
# support all Nokogiri::XML::Builder class instance methods
|
|
41
41
|
def method_missing( method, *args )
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
if @xml.respond_to?( method )
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
@xml.send( method.to_sym, *args )
|
|
46
|
+
|
|
47
|
+
else
|
|
48
|
+
|
|
49
|
+
raise NoMethodError, "Method #{ method.to_s.inspect } is not supported by #{ self.class }"
|
|
50
|
+
|
|
51
|
+
end
|
|
46
52
|
|
|
47
53
|
end
|
|
48
54
|
|
|
49
55
|
# enable hooking for performance measurement & debug logging
|
|
50
|
-
|
|
56
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
|
51
57
|
|
|
52
58
|
end # Document
|
|
53
59
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
############################################################################
|
|
2
|
+
##
|
|
3
|
+
## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
|
|
4
|
+
## All rights reserved.
|
|
5
|
+
## Contact: Nokia Corporation (testabilitydriver@nokia.com)
|
|
6
|
+
##
|
|
7
|
+
## This file is part of Testability Driver.
|
|
8
|
+
##
|
|
9
|
+
## If you have questions regarding the use of this file, please contact
|
|
10
|
+
## Nokia at testabilitydriver@nokia.com .
|
|
11
|
+
##
|
|
12
|
+
## This library is free software; you can redistribute it and/or
|
|
13
|
+
## modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
## License version 2.1 as published by the Free Software Foundation
|
|
15
|
+
## and appearing in the file LICENSE.LGPL included in the packaging
|
|
16
|
+
## of this file.
|
|
17
|
+
##
|
|
18
|
+
############################################################################
|
|
19
|
+
|
|
20
|
+
module MobyUtil
|
|
21
|
+
|
|
22
|
+
module XML
|
|
23
|
+
|
|
24
|
+
module Nokogiri
|
|
25
|
+
|
|
26
|
+
module Comment # behaviour
|
|
27
|
+
|
|
28
|
+
include Node
|
|
29
|
+
|
|
30
|
+
# enable hooking for performance measurement & debug logging
|
|
31
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
|
32
|
+
|
|
33
|
+
end # Comment
|
|
34
|
+
|
|
35
|
+
end # Nokogiri
|
|
36
|
+
|
|
37
|
+
end # XML
|
|
38
|
+
|
|
39
|
+
end # MobyUtil
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
##
|
|
18
18
|
############################################################################
|
|
19
19
|
|
|
20
|
-
|
|
21
20
|
module MobyUtil
|
|
22
21
|
|
|
23
22
|
module XML
|
|
@@ -26,28 +25,24 @@ module MobyUtil
|
|
|
26
25
|
|
|
27
26
|
module Document # behaviour
|
|
28
27
|
|
|
29
|
-
include
|
|
28
|
+
include Node
|
|
30
29
|
|
|
30
|
+
# TODO: document me
|
|
31
31
|
def parse( xml_string )
|
|
32
32
|
|
|
33
|
-
::Nokogiri::XML.parse( xml_string, nil, '
|
|
33
|
+
::Nokogiri::XML.parse( xml_string, nil, 'UTF-8', ::Nokogiri::XML::ParseOptions::STRICT )
|
|
34
34
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
+
# TODO: document me
|
|
37
38
|
def root
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def xpath( xpath_query, *args, &block )
|
|
44
|
-
|
|
45
|
-
nodeset_object( @xml.xpath( xpath_query ), *args, &block )
|
|
40
|
+
node_object( @xml.root )
|
|
46
41
|
|
|
47
42
|
end
|
|
48
43
|
|
|
49
44
|
# enable hooking for performance measurement & debug logging
|
|
50
|
-
|
|
45
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
|
51
46
|
|
|
52
47
|
end # Document
|
|
53
48
|
|
|
@@ -25,130 +25,10 @@ module MobyUtil
|
|
|
25
25
|
|
|
26
26
|
module Element # behaviour
|
|
27
27
|
|
|
28
|
-
include
|
|
29
|
-
|
|
30
|
-
def <=>( object )
|
|
31
|
-
|
|
32
|
-
@xml <=> object.xml
|
|
33
|
-
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def []( value )
|
|
37
|
-
|
|
38
|
-
@xml.attributes[ value ]
|
|
39
|
-
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def attributes
|
|
43
|
-
|
|
44
|
-
# return hash of attributes
|
|
45
|
-
Hash[ @xml.attributes.collect{ | key, value | [ key, value.to_s ] }]
|
|
46
|
-
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def attribute( attr_name )
|
|
50
|
-
|
|
51
|
-
unless ( value = @xml.attribute( attr_name ) ).nil?
|
|
52
|
-
|
|
53
|
-
value.to_s
|
|
54
|
-
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
def children
|
|
61
|
-
|
|
62
|
-
nodeset_object( @xml.children )
|
|
63
|
-
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def content
|
|
67
|
-
|
|
68
|
-
unless @xml.nil?
|
|
69
|
-
|
|
70
|
-
@xml.content.to_s
|
|
71
|
-
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
def each( &block )
|
|
77
|
-
|
|
78
|
-
@xml.each{ | element |
|
|
79
|
-
|
|
80
|
-
yield( element_object( element ) )
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
nil
|
|
85
|
-
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
def eql?( object )
|
|
89
|
-
|
|
90
|
-
@xml.content == object.xml.content
|
|
91
|
-
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
def empty?
|
|
95
|
-
|
|
96
|
-
@xml.nil?
|
|
97
|
-
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def inner_xml
|
|
101
|
-
|
|
102
|
-
@xml.inner_html.to_s
|
|
103
|
-
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
def xpath( xpath_query, *args, &block )
|
|
107
|
-
|
|
108
|
-
nodeset_object(
|
|
109
|
-
|
|
110
|
-
@xml.xpath( xpath_query, *args, &block )
|
|
111
|
-
|
|
112
|
-
)
|
|
113
|
-
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
def at_xpath( xpath_query, *args, &block )
|
|
117
|
-
|
|
118
|
-
node_object( @xml.at_xpath( xpath_query, *args, &block ) )
|
|
119
|
-
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
def replace( other )
|
|
123
|
-
|
|
124
|
-
@xml.replace( other.xml )
|
|
125
|
-
|
|
126
|
-
self
|
|
127
|
-
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
def add_previous_sibling( other )
|
|
131
|
-
|
|
132
|
-
@xml.add_previous_sibling( other.xml )
|
|
133
|
-
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
def remove
|
|
137
|
-
|
|
138
|
-
@xml.remove
|
|
139
|
-
|
|
140
|
-
self
|
|
141
|
-
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
def parent
|
|
145
|
-
|
|
146
|
-
element_object( @xml.parent )
|
|
147
|
-
|
|
148
|
-
end
|
|
28
|
+
include Node
|
|
149
29
|
|
|
150
30
|
# enable hooking for performance measurement & debug logging
|
|
151
|
-
|
|
31
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
|
152
32
|
|
|
153
33
|
end # Element
|
|
154
34
|
|
|
@@ -23,26 +23,36 @@ require 'nokogiri'
|
|
|
23
23
|
# for utf-8/unicode support
|
|
24
24
|
require 'kconv'
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
require File.expand_path( File.join( File.dirname( __FILE__ ), 'abstraction.rb' ) )
|
|
26
|
+
[
|
|
28
27
|
|
|
29
|
-
#
|
|
30
|
-
|
|
28
|
+
# abstraction for document, nodeset and element
|
|
29
|
+
'abstraction.rb',
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
require File.expand_path( File.join( File.dirname( __FILE__ ), 'nodeset.rb' ) )
|
|
31
|
+
'node.rb',
|
|
34
32
|
|
|
35
|
-
# nokogiri parser wrapper
|
|
36
|
-
|
|
33
|
+
# nokogiri parser wrapper
|
|
34
|
+
'comment.rb',
|
|
37
35
|
|
|
38
|
-
# nokogiri parser wrapper
|
|
39
|
-
|
|
36
|
+
# nokogiri parser wrapper
|
|
37
|
+
'document.rb',
|
|
40
38
|
|
|
41
|
-
# nokogiri parser wrapper
|
|
42
|
-
|
|
39
|
+
# nokogiri parser wrapper
|
|
40
|
+
'nodeset.rb',
|
|
43
41
|
|
|
44
|
-
# nokogiri parser wrapper
|
|
45
|
-
|
|
42
|
+
# nokogiri parser wrapper
|
|
43
|
+
'element.rb',
|
|
46
44
|
|
|
47
|
-
# nokogiri parser wrapper
|
|
48
|
-
|
|
45
|
+
# nokogiri parser wrapper
|
|
46
|
+
'text.rb',
|
|
47
|
+
|
|
48
|
+
# nokogiri parser wrapper
|
|
49
|
+
'attribute.rb',
|
|
50
|
+
|
|
51
|
+
# nokogiri parser wrapper
|
|
52
|
+
'builder.rb',
|
|
53
|
+
|
|
54
|
+
].each{ | filename |
|
|
55
|
+
|
|
56
|
+
require File.expand_path( File.join( File.dirname( __FILE__ ), filename ) )
|
|
57
|
+
|
|
58
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
############################################################################
|
|
2
|
+
##
|
|
3
|
+
## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
|
|
4
|
+
## All rights reserved.
|
|
5
|
+
## Contact: Nokia Corporation (testabilitydriver@nokia.com)
|
|
6
|
+
##
|
|
7
|
+
## This file is part of Testability Driver.
|
|
8
|
+
##
|
|
9
|
+
## If you have questions regarding the use of this file, please contact
|
|
10
|
+
## Nokia at testabilitydriver@nokia.com .
|
|
11
|
+
##
|
|
12
|
+
## This library is free software; you can redistribute it and/or
|
|
13
|
+
## modify it under the terms of the GNU Lesser General Public
|
|
14
|
+
## License version 2.1 as published by the Free Software Foundation
|
|
15
|
+
## and appearing in the file LICENSE.LGPL included in the packaging
|
|
16
|
+
## of this file.
|
|
17
|
+
##
|
|
18
|
+
############################################################################
|
|
19
|
+
|
|
20
|
+
module MobyUtil
|
|
21
|
+
|
|
22
|
+
module XML
|
|
23
|
+
|
|
24
|
+
module Nokogiri
|
|
25
|
+
|
|
26
|
+
module Node # behaviour
|
|
27
|
+
|
|
28
|
+
include Abstraction
|
|
29
|
+
|
|
30
|
+
# TODO: document me
|
|
31
|
+
def []( value )
|
|
32
|
+
|
|
33
|
+
@xml[ value ]
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# TODO: document me
|
|
38
|
+
def []=( name, value )
|
|
39
|
+
|
|
40
|
+
@xml[ name ] = value
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# TODO: document me
|
|
45
|
+
def ==( object )
|
|
46
|
+
|
|
47
|
+
@xml.content == object.xml.content
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# aliases for ==
|
|
52
|
+
alias_method :eql?, :==
|
|
53
|
+
|
|
54
|
+
# TODO: document me
|
|
55
|
+
def <=>( object )
|
|
56
|
+
|
|
57
|
+
@xml <=> object.xml
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# TODO: document me
|
|
62
|
+
def add_previous_sibling( other )
|
|
63
|
+
|
|
64
|
+
@xml.add_previous_sibling( other.xml )
|
|
65
|
+
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# TODO: document me
|
|
69
|
+
def attribute( attr_name )
|
|
70
|
+
|
|
71
|
+
unless ( value = @xml.attribute( attr_name ) ).nil?
|
|
72
|
+
|
|
73
|
+
value.to_s
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# TODO: document me
|
|
80
|
+
def attributes
|
|
81
|
+
|
|
82
|
+
# return hash of attributes
|
|
83
|
+
Hash[ @xml.attribute_nodes.collect{ | node |
|
|
84
|
+
|
|
85
|
+
[ node.node_name, node.value.to_s ] }
|
|
86
|
+
|
|
87
|
+
]
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# TODO: document me
|
|
92
|
+
def blank?
|
|
93
|
+
|
|
94
|
+
@xml.blank?
|
|
95
|
+
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# TODO: document me
|
|
99
|
+
def children
|
|
100
|
+
|
|
101
|
+
node_object( @xml.children )
|
|
102
|
+
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# TODO: document me
|
|
106
|
+
def content
|
|
107
|
+
|
|
108
|
+
@xml.content
|
|
109
|
+
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# aliases for text
|
|
113
|
+
alias_method :text, :content
|
|
114
|
+
alias_method :inner_text, :content
|
|
115
|
+
|
|
116
|
+
# TODO: document me
|
|
117
|
+
def each( &block )
|
|
118
|
+
|
|
119
|
+
# iterate each attribute
|
|
120
|
+
@xml.each{ | element |
|
|
121
|
+
|
|
122
|
+
yield( node_object( element ) )
|
|
123
|
+
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
nil
|
|
127
|
+
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# TODO: document me
|
|
131
|
+
def inner_html
|
|
132
|
+
|
|
133
|
+
@xml.inner_html
|
|
134
|
+
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# aliases for inner_html
|
|
138
|
+
alias_method :inner_xml, :inner_html
|
|
139
|
+
|
|
140
|
+
# TODO: document me
|
|
141
|
+
def to_s
|
|
142
|
+
|
|
143
|
+
@xml.to_s
|
|
144
|
+
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# TODO: document me
|
|
148
|
+
def parent
|
|
149
|
+
|
|
150
|
+
node_object( @xml.parent )
|
|
151
|
+
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# TODO: document me
|
|
155
|
+
def remove
|
|
156
|
+
|
|
157
|
+
@xml.remove
|
|
158
|
+
|
|
159
|
+
self
|
|
160
|
+
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# TODO: document me
|
|
164
|
+
def replace( other )
|
|
165
|
+
|
|
166
|
+
@xml.replace( other.xml )
|
|
167
|
+
|
|
168
|
+
self
|
|
169
|
+
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# TODO: document me
|
|
173
|
+
def xpath( xpath_query, *args, &block )
|
|
174
|
+
|
|
175
|
+
node_object(
|
|
176
|
+
|
|
177
|
+
@xml.xpath( xpath_query, *args, &block )
|
|
178
|
+
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# TODO: document me
|
|
184
|
+
def at_xpath( xpath_query, *args, &block )
|
|
185
|
+
|
|
186
|
+
node_object(
|
|
187
|
+
|
|
188
|
+
@xml.at_xpath( xpath_query, *args, &block )
|
|
189
|
+
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# enable hooking for performance measurement & debug logging
|
|
195
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
|
196
|
+
|
|
197
|
+
end # Element
|
|
198
|
+
|
|
199
|
+
end # Nokogiri
|
|
200
|
+
|
|
201
|
+
end # XML
|
|
202
|
+
|
|
203
|
+
end # MobyUtil
|