oki-celerity 0.8.1.dev

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.
Files changed (77) hide show
  1. data/HISTORY +111 -0
  2. data/LICENSE +621 -0
  3. data/README.rdoc +80 -0
  4. data/Rakefile +11 -0
  5. data/VERSION.yml +5 -0
  6. data/celerity.gemspec +126 -0
  7. data/lib/celerity/browser.rb +908 -0
  8. data/lib/celerity/clickable_element.rb +73 -0
  9. data/lib/celerity/collections.rb +164 -0
  10. data/lib/celerity/container.rb +800 -0
  11. data/lib/celerity/default_viewer.rb +14 -0
  12. data/lib/celerity/disabled_element.rb +40 -0
  13. data/lib/celerity/element.rb +311 -0
  14. data/lib/celerity/element_collection.rb +107 -0
  15. data/lib/celerity/element_locator.rb +164 -0
  16. data/lib/celerity/elements/button.rb +54 -0
  17. data/lib/celerity/elements/file_field.rb +29 -0
  18. data/lib/celerity/elements/form.rb +22 -0
  19. data/lib/celerity/elements/frame.rb +86 -0
  20. data/lib/celerity/elements/image.rb +89 -0
  21. data/lib/celerity/elements/label.rb +16 -0
  22. data/lib/celerity/elements/link.rb +43 -0
  23. data/lib/celerity/elements/meta.rb +14 -0
  24. data/lib/celerity/elements/non_control_elements.rb +124 -0
  25. data/lib/celerity/elements/option.rb +38 -0
  26. data/lib/celerity/elements/radio_check.rb +114 -0
  27. data/lib/celerity/elements/select_list.rb +146 -0
  28. data/lib/celerity/elements/table.rb +153 -0
  29. data/lib/celerity/elements/table_cell.rb +36 -0
  30. data/lib/celerity/elements/table_elements.rb +42 -0
  31. data/lib/celerity/elements/table_row.rb +49 -0
  32. data/lib/celerity/elements/text_field.rb +168 -0
  33. data/lib/celerity/exception.rb +83 -0
  34. data/lib/celerity/htmlunit/apache-mime4j-0.6.jar +0 -0
  35. data/lib/celerity/htmlunit/commons-codec-1.4.jar +0 -0
  36. data/lib/celerity/htmlunit/commons-collections-3.2.1.jar +0 -0
  37. data/lib/celerity/htmlunit/commons-io-1.4.jar +0 -0
  38. data/lib/celerity/htmlunit/commons-lang-2.5.jar +0 -0
  39. data/lib/celerity/htmlunit/commons-logging-1.1.1.jar +0 -0
  40. data/lib/celerity/htmlunit/cssparser-0.9.5.jar +0 -0
  41. data/lib/celerity/htmlunit/htmlunit-2.9-SNAPSHOT.jar +0 -0
  42. data/lib/celerity/htmlunit/htmlunit-core-js-2.8.jar +0 -0
  43. data/lib/celerity/htmlunit/httpclient-4.0.1.jar +0 -0
  44. data/lib/celerity/htmlunit/httpcore-4.0.1.jar +0 -0
  45. data/lib/celerity/htmlunit/httpmime-4.0.1.jar +0 -0
  46. data/lib/celerity/htmlunit/nekohtml-1.9.14.jar +0 -0
  47. data/lib/celerity/htmlunit/sac-1.3.jar +0 -0
  48. data/lib/celerity/htmlunit/serializer-2.7.1.jar +0 -0
  49. data/lib/celerity/htmlunit/xalan-2.7.1.jar +0 -0
  50. data/lib/celerity/htmlunit/xercesImpl-2.9.1.jar +0 -0
  51. data/lib/celerity/htmlunit/xml-apis-1.3.04.jar +0 -0
  52. data/lib/celerity/htmlunit.rb +64 -0
  53. data/lib/celerity/identifier.rb +28 -0
  54. data/lib/celerity/ignoring_web_connection.rb +15 -0
  55. data/lib/celerity/input_element.rb +25 -0
  56. data/lib/celerity/javascript_debugger.rb +32 -0
  57. data/lib/celerity/listener.rb +143 -0
  58. data/lib/celerity/resources/no_viewer.png +0 -0
  59. data/lib/celerity/short_inspect.rb +20 -0
  60. data/lib/celerity/util.rb +129 -0
  61. data/lib/celerity/version.rb +3 -0
  62. data/lib/celerity/viewer_connection.rb +89 -0
  63. data/lib/celerity/watir_compatibility.rb +70 -0
  64. data/lib/celerity/xpath_support.rb +52 -0
  65. data/lib/celerity.rb +77 -0
  66. data/tasks/benchmark.rake +4 -0
  67. data/tasks/check.rake +24 -0
  68. data/tasks/clean.rake +3 -0
  69. data/tasks/fix.rake +25 -0
  70. data/tasks/jar.rake +55 -0
  71. data/tasks/jeweler.rake +28 -0
  72. data/tasks/rdoc.rake +4 -0
  73. data/tasks/snapshot.rake +25 -0
  74. data/tasks/spec.rake +26 -0
  75. data/tasks/website.rake +10 -0
  76. data/tasks/yard.rake +16 -0
  77. metadata +204 -0
data/tasks/fix.rake ADDED
@@ -0,0 +1,25 @@
1
+ namespace :fix do
2
+
3
+ desc 'Make all ruby files use LF line endings'
4
+ task :crlf do
5
+ files = FileList['**/*.rb']
6
+ files.each do |f|
7
+ next if File.directory?(f)
8
+ s = IO.read(f)
9
+ s.gsub!(/\r?\n/, "\n")
10
+ File.open(f, "w") { |io| io.write(s) }
11
+ end
12
+ end
13
+
14
+ desc 'Remove trailing whitespace from all ruby files'
15
+ task :trailing_whitespace do
16
+ files = FileList['**/*.rb']
17
+ files.each do |f|
18
+ next if File.directory?(f)
19
+ s = IO.read(f)
20
+ s.gsub!(/\s*?($)/, '\1')
21
+ File.open(f, "w") { |io| io.write(s) }
22
+ end
23
+ end
24
+
25
+ end
data/tasks/jar.rake ADDED
@@ -0,0 +1,55 @@
1
+ namespace :jar do
2
+ target_dir = "classes"
3
+
4
+ desc "Compile and create celerity-complete-#{Celerity::VERSION}.jar (includes HtmlUnit)"
5
+ task :fat do
6
+ file_name = "pkg/celerity-complete-#{Celerity::VERSION}.jar"
7
+
8
+ ruby_files = Dir['lib/**/*.rb']
9
+ jar_files = Dir['lib/**/*.jar']
10
+ resources = Dir['lib/celerity/resources/*']
11
+
12
+ rm_rf target_dir if File.exist? target_dir
13
+ mkdir target_dir
14
+ mkdir_p resource_dir = "#{target_dir}/celerity/resources"
15
+
16
+ sh "jrubyc", "-d", "lib", "-t", target_dir, *ruby_files
17
+ resources.each { |extra| cp extra, resource_dir }
18
+
19
+ jar_files.each do |f|
20
+ cp f, target_dir
21
+ end
22
+
23
+ top_dir = Dir.pwd
24
+ chdir target_dir, :verbose => true
25
+ Dir['*.jar'].each do |file|
26
+ sh "jar", "xf", file
27
+ rm_f file
28
+ end
29
+ chdir top_dir, :verbose => true
30
+
31
+ mkdir_p "pkg"
32
+ sh "jar", "cvf", file_name, '-C', target_dir, '.'
33
+ end
34
+
35
+ desc "Compile and create celerity-#{Celerity::VERSION}.jar"
36
+ task :tiny do
37
+ file_name = "pkg/celerity-#{Celerity::VERSION}.jar"
38
+
39
+ ruby_files = Dir['lib/**/*.rb']
40
+ resources = Dir['lib/celerity/resources/*']
41
+
42
+ rm_rf target_dir if File.exist? target_dir
43
+ mkdir target_dir
44
+ mkdir_p resource_dir = "#{target_dir}/celerity/resources"
45
+
46
+ sh "jrubyc", "-d", "lib", "-t", target_dir, *ruby_files
47
+ resources.each { |extra| cp extra, resource_dir }
48
+
49
+ mkdir_p "pkg"
50
+ sh "jar", "cvf", file_name, '-C', target_dir, '.'
51
+ end
52
+ end
53
+
54
+ desc 'Alias for jar:tiny'
55
+ task :jar => %w[jar:tiny]
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+
3
+ begin
4
+ require 'jeweler'
5
+ Jeweler::Tasks.new do |gem|
6
+ # see http://www.rubygems.org/read/chapter/20 for additional settings
7
+ gem.name = "celerity"
8
+ gem.summary = "Celerity is a JRuby library for easy and fast functional test automation for web applications."
9
+ gem.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
+ gem.email = "jari.bakken@gmail.com"
11
+ gem.homepage = "http://github.com/jarib/celerity"
12
+ gem.authors = ["Jari Bakken", "T. Alexander Lystad", "Knut Johannes Dahle"]
13
+ gem.rubyforge_project = "celerity"
14
+ gem.test_files = [] # the gem is big enough as it is
15
+
16
+ gem.files.reject! { |f| f =~ /^(website|doc|benchmark|log|spec|\.)/}
17
+
18
+ gem.add_development_dependency 'rspec'
19
+ gem.add_development_dependency 'yard'
20
+ gem.add_development_dependency 'sinatra', '>= 1.0'
21
+ gem.add_development_dependency 'mongrel'
22
+ end
23
+
24
+ Jeweler::GemcutterTasks.new
25
+ rescue LoadError
26
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
27
+ task :spec => :check_dependencies
28
+ end
data/tasks/rdoc.rake ADDED
@@ -0,0 +1,4 @@
1
+ desc 'Generate RDoc'
2
+ task :rdoc do
3
+ puts `rdoc --inline-source --line-numbers --title 'Celerity Documentation' --opname index.html --main README.txt lib History.txt License.txt README.txt`
4
+ end
@@ -0,0 +1,25 @@
1
+ desc 'Download and unpack the latest HtmlUnit assembly'
2
+ task :snapshot, :file do |t, args|
3
+ if args.file
4
+ sh "cp #{args.file} ./"
5
+ basename = File.basename(args.file)
6
+ else
7
+ url = "http://build.canoo.com/htmlunit/artifacts/htmlunit-2.9-SNAPSHOT-with-dependencies.zip"
8
+ sh "curl -O #{url}"
9
+ basename = File.basename(url)
10
+ end
11
+
12
+ shortname = basename[/(.+?)\.zip/, 1].sub("-with-dependencies", '')
13
+ sh "rm -rf lib/celerity/htmlunit/*.jar"
14
+ sh "unzip -tq #{basename}"
15
+ sh %Q{unzip -C #{basename} "#{shortname}/lib/*.jar" -d lib/celerity/htmlunit }
16
+
17
+ puts "Fixing paths..."
18
+ sh "cp -R lib/celerity/htmlunit/#{shortname}/lib/*.jar lib/celerity/htmlunit/"
19
+
20
+ puts "Cleaning..."
21
+ rm_r "lib/celerity/htmlunit/#{shortname}/"
22
+ rm basename
23
+
24
+ puts "...done!"
25
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,26 @@
1
+ require 'spec/rake/spectask'
2
+ Spec::Rake::SpecTask.new(:spec) do |spec|
3
+ spec.libs << 'lib' << 'spec'
4
+ spec.pattern = 'spec/**/*_spec.rb'
5
+ end
6
+
7
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
8
+ spec.libs << 'lib' << 'spec'
9
+ spec.pattern = 'spec/**/*_spec.rb'
10
+ spec.rcov = true
11
+ spec.rcov_opts = %w[--exclude spec,fcntl,path_helper,yaml,rack,jruby --include lib/celerity --no-rcovrt]
12
+ end
13
+
14
+ if File.exist?(path = "spec/watirspec/watirspec.rake")
15
+ load path
16
+ end
17
+
18
+ namespace :watirspec do
19
+ desc 'Initialize and fetch the watirspec submodule'
20
+ task :init do
21
+ sh "git submodule init"
22
+ sh "git submodule update"
23
+ end
24
+ end
25
+
26
+ task :default => :spec
@@ -0,0 +1,10 @@
1
+ namespace :website do
2
+ desc 'Upload website files to rubyforge'
3
+ task :upload do
4
+ host = "jarib@rubyforge.org"
5
+ remote_dir = "/var/www/gforge-projects/celerity"
6
+ local_dir = 'website'
7
+
8
+ sh %{rsync -rlgoDCv #{local_dir}/ #{host}:#{remote_dir}}
9
+ end
10
+ end
data/tasks/yard.rake ADDED
@@ -0,0 +1,16 @@
1
+ begin
2
+ require 'yard'
3
+ YARD::Rake::YardocTask.new
4
+
5
+ desc 'Generate docs to website/yard'
6
+ namespace :yardoc do
7
+ YARD::Rake::YardocTask.new(:website) do |t|
8
+ t.options += ["-o", "website/yard"]
9
+ end
10
+ end
11
+
12
+ rescue LoadError
13
+ task :yardoc do
14
+ abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
15
+ end
16
+ end
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oki-celerity
3
+ version: !ruby/object:Gem::Version
4
+ hash: 858800376
5
+ prerelease: true
6
+ segments:
7
+ - 0
8
+ - 8
9
+ - 1
10
+ - dev
11
+ version: 0.8.1.dev
12
+ platform: ruby
13
+ authors:
14
+ - Jari Bakken
15
+ - T. Alexander Lystad
16
+ - Knut Johannes Dahle
17
+ autorequire:
18
+ bindir: bin
19
+ cert_chain: []
20
+
21
+ date: 2010-08-27 00:00:00 +02:00
22
+ default_executable:
23
+ dependencies:
24
+ - !ruby/object:Gem::Dependency
25
+ name: rspec
26
+ prerelease: false
27
+ requirement: &id001 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ hash: 3
33
+ segments:
34
+ - 0
35
+ version: "0"
36
+ type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: yard
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 3
47
+ segments:
48
+ - 0
49
+ version: "0"
50
+ type: :development
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: sinatra
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ hash: 15
61
+ segments:
62
+ - 1
63
+ - 0
64
+ version: "1.0"
65
+ type: :development
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: mongrel
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ type: :development
80
+ version_requirements: *id004
81
+ 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 provides a superset of Watir's API."
82
+ email: jari.bakken@gmail.com
83
+ executables: []
84
+
85
+ extensions: []
86
+
87
+ extra_rdoc_files:
88
+ - LICENSE
89
+ - README.rdoc
90
+ files:
91
+ - HISTORY
92
+ - LICENSE
93
+ - README.rdoc
94
+ - Rakefile
95
+ - VERSION.yml
96
+ - celerity.gemspec
97
+ - lib/celerity.rb
98
+ - lib/celerity/browser.rb
99
+ - lib/celerity/clickable_element.rb
100
+ - lib/celerity/collections.rb
101
+ - lib/celerity/container.rb
102
+ - lib/celerity/default_viewer.rb
103
+ - lib/celerity/disabled_element.rb
104
+ - lib/celerity/element.rb
105
+ - lib/celerity/element_collection.rb
106
+ - lib/celerity/element_locator.rb
107
+ - lib/celerity/elements/button.rb
108
+ - lib/celerity/elements/file_field.rb
109
+ - lib/celerity/elements/form.rb
110
+ - lib/celerity/elements/frame.rb
111
+ - lib/celerity/elements/image.rb
112
+ - lib/celerity/elements/label.rb
113
+ - lib/celerity/elements/link.rb
114
+ - lib/celerity/elements/meta.rb
115
+ - lib/celerity/elements/non_control_elements.rb
116
+ - lib/celerity/elements/option.rb
117
+ - lib/celerity/elements/radio_check.rb
118
+ - lib/celerity/elements/select_list.rb
119
+ - lib/celerity/elements/table.rb
120
+ - lib/celerity/elements/table_cell.rb
121
+ - lib/celerity/elements/table_elements.rb
122
+ - lib/celerity/elements/table_row.rb
123
+ - lib/celerity/elements/text_field.rb
124
+ - lib/celerity/exception.rb
125
+ - lib/celerity/htmlunit.rb
126
+ - lib/celerity/htmlunit/apache-mime4j-0.6.jar
127
+ - lib/celerity/htmlunit/commons-codec-1.4.jar
128
+ - lib/celerity/htmlunit/commons-collections-3.2.1.jar
129
+ - lib/celerity/htmlunit/commons-io-1.4.jar
130
+ - lib/celerity/htmlunit/commons-lang-2.5.jar
131
+ - lib/celerity/htmlunit/commons-logging-1.1.1.jar
132
+ - lib/celerity/htmlunit/cssparser-0.9.5.jar
133
+ - lib/celerity/htmlunit/htmlunit-2.9-SNAPSHOT.jar
134
+ - lib/celerity/htmlunit/htmlunit-core-js-2.8.jar
135
+ - lib/celerity/htmlunit/httpclient-4.0.1.jar
136
+ - lib/celerity/htmlunit/httpcore-4.0.1.jar
137
+ - lib/celerity/htmlunit/httpmime-4.0.1.jar
138
+ - lib/celerity/htmlunit/nekohtml-1.9.14.jar
139
+ - lib/celerity/htmlunit/sac-1.3.jar
140
+ - lib/celerity/htmlunit/serializer-2.7.1.jar
141
+ - lib/celerity/htmlunit/xalan-2.7.1.jar
142
+ - lib/celerity/htmlunit/xercesImpl-2.9.1.jar
143
+ - lib/celerity/htmlunit/xml-apis-1.3.04.jar
144
+ - lib/celerity/identifier.rb
145
+ - lib/celerity/ignoring_web_connection.rb
146
+ - lib/celerity/input_element.rb
147
+ - lib/celerity/javascript_debugger.rb
148
+ - lib/celerity/listener.rb
149
+ - lib/celerity/resources/no_viewer.png
150
+ - lib/celerity/short_inspect.rb
151
+ - lib/celerity/util.rb
152
+ - lib/celerity/version.rb
153
+ - lib/celerity/viewer_connection.rb
154
+ - lib/celerity/watir_compatibility.rb
155
+ - lib/celerity/xpath_support.rb
156
+ - tasks/benchmark.rake
157
+ - tasks/check.rake
158
+ - tasks/clean.rake
159
+ - tasks/fix.rake
160
+ - tasks/jar.rake
161
+ - tasks/jeweler.rake
162
+ - tasks/rdoc.rake
163
+ - tasks/snapshot.rake
164
+ - tasks/spec.rake
165
+ - tasks/website.rake
166
+ - tasks/yard.rake
167
+ has_rdoc: true
168
+ homepage: http://github.com/oki/celerity
169
+ licenses: []
170
+
171
+ post_install_message:
172
+ rdoc_options:
173
+ - --charset=UTF-8
174
+ require_paths:
175
+ - lib
176
+ required_ruby_version: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ hash: 3
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ required_rubygems_version: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ">"
189
+ - !ruby/object:Gem::Version
190
+ hash: 25
191
+ segments:
192
+ - 1
193
+ - 3
194
+ - 1
195
+ version: 1.3.1
196
+ requirements: []
197
+
198
+ rubyforge_project: oki-celerity
199
+ rubygems_version: 1.3.7
200
+ signing_key:
201
+ specification_version: 3
202
+ summary: Celerity is a JRuby library for easy and fast functional test automation for web applications.
203
+ test_files: []
204
+