capybara-webkit 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -1
- data/Gemfile.lock +0 -1
- data/README.md +2 -2
- data/Rakefile +48 -62
- data/capybara-webkit.gemspec +1 -2
- data/extconf.rb +2 -2
- data/lib/capybara_webkit_builder.rb +31 -0
- metadata +7 -33
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -10,11 +10,11 @@ capybara-webkit depends on a WebKit implementation from Qt, a cross-platform dev
|
|
10
10
|
|
11
11
|
* [Download Qt](http://qt.nokia.com/downloads/downloads)
|
12
12
|
|
13
|
-
If you're on OS X, the installer at the above link will set up everything you need. You can download just the framework, as the full SDK isn't required to build the gem.
|
13
|
+
If you're on OS X, the installer at the above link will set up everything you need. You can download just the framework, as the full SDK isn't required to build the gem. We recommend downloading the non-Debug Cocoa package with just the framework. Note that installing Qt via homebrew takes more than an hour, so we recommend just downloading the precompiled framework for OS X.
|
14
14
|
|
15
15
|
If you're on Ubuntu, you can install the libqt4-dev package.
|
16
16
|
|
17
|
-
On Linux platforms, capybara-webkit requires an X server to run, although it doesn't create any visible windows. Xvfb works fine for this.
|
17
|
+
On Linux platforms, capybara-webkit requires an X server to run, although it doesn't create any visible windows. Xvfb works fine for this. You can setup Xvfb yourself and set a DISPLAY variable, or try out the [headless gem](https://github.com/leonid-shevtsov/headless).
|
18
18
|
|
19
19
|
Usage
|
20
20
|
-----
|
data/Rakefile
CHANGED
@@ -1,91 +1,77 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
require 'rspec/core/rake_task'
|
7
|
-
require 'rake/gempackagetask'
|
8
|
-
end
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
require 'rake/gempackagetask'
|
5
|
+
require 'capybara_webkit_builder'
|
9
6
|
|
10
7
|
desc "Generate a Makefile using qmake"
|
11
8
|
file 'Makefile' do
|
12
|
-
|
9
|
+
CapybaraWebkitBuilder.makefile
|
13
10
|
end
|
14
11
|
|
15
12
|
desc "Regenerate dependencies using qmake"
|
16
13
|
task :qmake => 'Makefile' do
|
17
|
-
|
14
|
+
CapybaraWebkitBuilder.qmake
|
18
15
|
end
|
19
16
|
|
20
17
|
desc "Build the webkit server"
|
21
18
|
task :build => :qmake do
|
22
|
-
|
23
|
-
|
24
|
-
FileUtils.mkdir("bin") unless File.directory?("bin")
|
25
|
-
|
26
|
-
if File.exist?("src/webkit_server.app")
|
27
|
-
FileUtils.cp("src/webkit_server.app/Contents/MacOS/webkit_server", "bin", :preserve => true)
|
28
|
-
else
|
29
|
-
FileUtils.cp("src/webkit_server", "bin", :preserve => true)
|
30
|
-
end
|
19
|
+
CapybaraWebkitBuilder.build
|
31
20
|
end
|
32
21
|
|
33
22
|
file 'bin/webkit_server' => :build
|
34
23
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
end
|
24
|
+
RSpec::Core::RakeTask.new do |t|
|
25
|
+
t.pattern = "spec/**/*_spec.rb"
|
26
|
+
t.rspec_opts = "--format progress"
|
27
|
+
end
|
40
28
|
|
41
|
-
|
42
|
-
|
29
|
+
desc "Default: build and run all specs"
|
30
|
+
task :default => [:build, :spec]
|
43
31
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
32
|
+
eval("$specification = begin; #{IO.read('capybara-webkit.gemspec')}; end")
|
33
|
+
Rake::GemPackageTask.new($specification) do |package|
|
34
|
+
package.need_zip = true
|
35
|
+
package.need_tar = true
|
36
|
+
end
|
49
37
|
|
50
|
-
|
38
|
+
gem_file = "pkg/#{$specification.name}-#{$specification.version}.gem"
|
51
39
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
40
|
+
desc "Build and install the latest gem"
|
41
|
+
task :install => :gem do
|
42
|
+
sh("gem install --local #{gem_file}")
|
43
|
+
end
|
56
44
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
45
|
+
desc "Build and release the latest gem"
|
46
|
+
task :release => :gem do
|
47
|
+
sh("gem push #{gem_file}")
|
48
|
+
end
|
61
49
|
|
62
|
-
|
63
|
-
|
64
|
-
|
50
|
+
desc "Generate a new command called NAME"
|
51
|
+
task :generate_command do
|
52
|
+
name = ENV['NAME'] or raise "Provide a name with NAME="
|
65
53
|
|
66
|
-
|
67
|
-
|
54
|
+
header = "src/#{name}.h"
|
55
|
+
source = "src/#{name}.cpp"
|
68
56
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
end
|
57
|
+
%w(h cpp).each do |extension|
|
58
|
+
File.open("templates/Command.#{extension}", "r") do |source_file|
|
59
|
+
contents = source_file.read
|
60
|
+
contents.gsub!("NAME", name)
|
61
|
+
File.open("src/#{name}.#{extension}", "w") do |target_file|
|
62
|
+
target_file.write(contents)
|
76
63
|
end
|
77
64
|
end
|
65
|
+
end
|
78
66
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
67
|
+
Dir.glob("src/*.pro").each do |project_file_name|
|
68
|
+
project = IO.read(project_file_name)
|
69
|
+
project.gsub!(/^(HEADERS = .*)/, "\\1 #{name}.h")
|
70
|
+
project.gsub!(/^(SOURCES = .*)/, "\\1 #{name}.cpp")
|
71
|
+
File.open(project_file_name, "w") { |file| file.write(project) }
|
72
|
+
end
|
85
73
|
|
86
|
-
|
87
|
-
|
88
|
-
end
|
74
|
+
File.open("src/find_command.h", "a") do |file|
|
75
|
+
file.write("CHECK_COMMAND(#{name})")
|
89
76
|
end
|
90
77
|
end
|
91
|
-
|
data/capybara-webkit.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "capybara-webkit"
|
3
|
-
s.version = "0.1.
|
3
|
+
s.version = "0.1.7"
|
4
4
|
s.authors = ["thoughtbot", "Joe Ferris", "Jason Morrison", "Tristan Dunn"]
|
5
5
|
s.email = "support@thoughtbot.com"
|
6
6
|
s.files = `git ls-files`.split("\n")
|
@@ -10,7 +10,6 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.rubygems_version = "1.3.5"
|
11
11
|
s.summary = "Headless Webkit driver for Capybara"
|
12
12
|
s.add_runtime_dependency "capybara", "~> 0.4.1"
|
13
|
-
s.add_runtime_dependency "rake"
|
14
13
|
s.extensions = "extconf.rb"
|
15
14
|
end
|
16
15
|
|
data/extconf.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), "lib", "capybara_webkit_builder")
|
2
|
+
CapybaraWebkitBuilder.build_all
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require "fileutils"
|
2
|
+
|
3
|
+
module CapybaraWebkitBuilder
|
4
|
+
extend self
|
5
|
+
|
6
|
+
def makefile
|
7
|
+
system("qmake -spec macx-g++")
|
8
|
+
end
|
9
|
+
|
10
|
+
def qmake
|
11
|
+
system("make qmake")
|
12
|
+
end
|
13
|
+
|
14
|
+
def build
|
15
|
+
system("make")
|
16
|
+
|
17
|
+
FileUtils.mkdir("bin") unless File.directory?("bin")
|
18
|
+
|
19
|
+
if File.exist?("src/webkit_server.app")
|
20
|
+
FileUtils.cp("src/webkit_server.app/Contents/MacOS/webkit_server", "bin", :preserve => true)
|
21
|
+
else
|
22
|
+
FileUtils.cp("src/webkit_server", "bin", :preserve => true)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def build_all
|
27
|
+
makefile
|
28
|
+
qmake
|
29
|
+
build
|
30
|
+
end
|
31
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-webkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 23
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 6
|
10
|
-
version: 0.1.6
|
5
|
+
version: 0.1.7
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- thoughtbot
|
@@ -18,39 +13,20 @@ autorequire:
|
|
18
13
|
bindir: bin
|
19
14
|
cert_chain: []
|
20
15
|
|
21
|
-
date: 2011-04-
|
16
|
+
date: 2011-04-15 00:00:00 -04:00
|
22
17
|
default_executable:
|
23
18
|
dependencies:
|
24
19
|
- !ruby/object:Gem::Dependency
|
25
|
-
|
20
|
+
name: capybara
|
26
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
27
22
|
none: false
|
28
23
|
requirements:
|
29
24
|
- - ~>
|
30
25
|
- !ruby/object:Gem::Version
|
31
|
-
hash: 13
|
32
|
-
segments:
|
33
|
-
- 0
|
34
|
-
- 4
|
35
|
-
- 1
|
36
26
|
version: 0.4.1
|
37
|
-
version_requirements: *id001
|
38
|
-
name: capybara
|
39
|
-
prerelease: false
|
40
|
-
- !ruby/object:Gem::Dependency
|
41
27
|
type: :runtime
|
42
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
hash: 3
|
48
|
-
segments:
|
49
|
-
- 0
|
50
|
-
version: "0"
|
51
|
-
version_requirements: *id002
|
52
|
-
name: rake
|
53
28
|
prerelease: false
|
29
|
+
version_requirements: *id001
|
54
30
|
description:
|
55
31
|
email: support@thoughtbot.com
|
56
32
|
executables: []
|
@@ -73,6 +49,7 @@ files:
|
|
73
49
|
- lib/capybara/driver/webkit.rb
|
74
50
|
- lib/capybara/driver/webkit/browser.rb
|
75
51
|
- lib/capybara/driver/webkit/node.rb
|
52
|
+
- lib/capybara_webkit_builder.rb
|
76
53
|
- spec/driver_spec.rb
|
77
54
|
- spec/integration/driver_spec.rb
|
78
55
|
- spec/integration/session_spec.rb
|
@@ -126,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
103
|
requirements:
|
127
104
|
- - ">="
|
128
105
|
- !ruby/object:Gem::Version
|
129
|
-
hash:
|
106
|
+
hash: 2573501153324218535
|
130
107
|
segments:
|
131
108
|
- 0
|
132
109
|
version: "0"
|
@@ -135,14 +112,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
112
|
requirements:
|
136
113
|
- - ">="
|
137
114
|
- !ruby/object:Gem::Version
|
138
|
-
hash: 3
|
139
|
-
segments:
|
140
|
-
- 0
|
141
115
|
version: "0"
|
142
116
|
requirements: []
|
143
117
|
|
144
118
|
rubyforge_project:
|
145
|
-
rubygems_version: 1.6.
|
119
|
+
rubygems_version: 1.6.2
|
146
120
|
signing_key:
|
147
121
|
specification_version: 3
|
148
122
|
summary: Headless Webkit driver for Capybara
|