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 CHANGED
@@ -1,5 +1,4 @@
1
1
  source "http://rubygems.org"
2
- gem "rake"
3
2
  gem "rspec", :require => false
4
3
  gem "capybara"
5
4
  gem "sinatra", :require => false
data/Gemfile.lock CHANGED
@@ -50,6 +50,5 @@ PLATFORMS
50
50
 
51
51
  DEPENDENCIES
52
52
  capybara
53
- rake
54
53
  rspec
55
54
  sinatra
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 'fileutils'
2
-
3
- unless ENV["BUILD"]
4
- require 'rubygems'
5
- require 'bundler/setup'
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
- sh("qmake -spec macx-g++")
9
+ CapybaraWebkitBuilder.makefile
13
10
  end
14
11
 
15
12
  desc "Regenerate dependencies using qmake"
16
13
  task :qmake => 'Makefile' do
17
- sh("make qmake")
14
+ CapybaraWebkitBuilder.qmake
18
15
  end
19
16
 
20
17
  desc "Build the webkit server"
21
18
  task :build => :qmake do
22
- sh("make")
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
- unless ENV["BUILD"]
36
- RSpec::Core::RakeTask.new do |t|
37
- t.pattern = "spec/**/*_spec.rb"
38
- t.rspec_opts = "--format progress"
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
- desc "Default: build and run all specs"
42
- task :default => [:build, :spec]
29
+ desc "Default: build and run all specs"
30
+ task :default => [:build, :spec]
43
31
 
44
- eval("$specification = begin; #{IO.read('capybara-webkit.gemspec')}; end")
45
- Rake::GemPackageTask.new($specification) do |package|
46
- package.need_zip = true
47
- package.need_tar = true
48
- end
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
- gem_file = "pkg/#{$specification.name}-#{$specification.version}.gem"
38
+ gem_file = "pkg/#{$specification.name}-#{$specification.version}.gem"
51
39
 
52
- desc "Build and install the latest gem"
53
- task :install => :gem do
54
- sh("gem install --local #{gem_file}")
55
- end
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
- desc "Build and release the latest gem"
58
- task :release => :gem do
59
- sh("gem push #{gem_file}")
60
- end
45
+ desc "Build and release the latest gem"
46
+ task :release => :gem do
47
+ sh("gem push #{gem_file}")
48
+ end
61
49
 
62
- desc "Generate a new command called NAME"
63
- task :generate_command do
64
- name = ENV['NAME'] or raise "Provide a name with NAME="
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
- header = "src/#{name}.h"
67
- source = "src/#{name}.cpp"
54
+ header = "src/#{name}.h"
55
+ source = "src/#{name}.cpp"
68
56
 
69
- %w(h cpp).each do |extension|
70
- File.open("templates/Command.#{extension}", "r") do |source_file|
71
- contents = source_file.read
72
- contents.gsub!("NAME", name)
73
- File.open("src/#{name}.#{extension}", "w") do |target_file|
74
- target_file.write(contents)
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
- Dir.glob("src/*.pro").each do |project_file_name|
80
- project = IO.read(project_file_name)
81
- project.gsub!(/^(HEADERS = .*)/, "\\1 #{name}.h")
82
- project.gsub!(/^(SOURCES = .*)/, "\\1 #{name}.cpp")
83
- File.open(project_file_name, "w") { |file| file.write(project) }
84
- end
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
- File.open("src/find_command.h", "a") do |file|
87
- file.write("CHECK_COMMAND(#{name})")
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
-
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "capybara-webkit"
3
- s.version = "0.1.6"
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
- system("rake build BUILD=true")
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
- segments:
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-14 00:00:00 -04:00
16
+ date: 2011-04-15 00:00:00 -04:00
22
17
  default_executable:
23
18
  dependencies:
24
19
  - !ruby/object:Gem::Dependency
25
- type: :runtime
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: 3
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.1
119
+ rubygems_version: 1.6.2
146
120
  signing_key:
147
121
  specification_version: 3
148
122
  summary: Headless Webkit driver for Capybara