capybara-webkit 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Appraisals +7 -0
- data/Gemfile +7 -5
- data/Gemfile.lock +19 -9
- data/README.md +8 -33
- data/Rakefile +1 -0
- data/capybara-webkit.gemspec +7 -2
- data/gemfiles/1.0.gemfile +7 -0
- data/gemfiles/1.0.gemfile.lock +65 -0
- data/gemfiles/1.1.gemfile +7 -0
- data/gemfiles/1.1.gemfile.lock +65 -0
- data/lib/capybara-webkit.rb +1 -11
- data/lib/capybara/driver/webkit.rb +3 -0
- data/lib/capybara/driver/webkit/browser.rb +12 -0
- data/lib/capybara/driver/webkit/node.rb +21 -2
- data/lib/capybara/webkit.rb +11 -0
- data/spec/driver_spec.rb +142 -0
- data/spec/integration/session_spec.rb +47 -1
- data/src/ClearCookies.cpp +18 -0
- data/src/ClearCookies.h +11 -0
- data/src/Connection.cpp +5 -1
- data/src/GetCookies.cpp +22 -0
- data/src/GetCookies.h +14 -0
- data/src/NetworkAccessManager.cpp +5 -2
- data/src/NetworkCookieJar.cpp +101 -0
- data/src/NetworkCookieJar.h +15 -0
- data/src/Reset.cpp +4 -2
- data/src/SetCookie.cpp +18 -0
- data/src/SetCookie.h +11 -0
- data/src/UnsupportedContentHandler.cpp +31 -0
- data/src/UnsupportedContentHandler.h +18 -0
- data/src/Visit.cpp +2 -6
- data/src/WebPage.cpp +36 -14
- data/src/WebPage.h +7 -1
- data/src/capybara.js +4 -0
- data/src/find_command.h +4 -1
- data/src/webkit_server.pro +57 -2
- metadata +118 -7
data/src/WebPage.h
CHANGED
@@ -11,6 +11,8 @@ class WebPage : public QWebPage {
|
|
11
11
|
QString userAgentForUrl(const QUrl &url ) const;
|
12
12
|
void setUserAgent(QString userAgent);
|
13
13
|
int getLastStatus();
|
14
|
+
void resetResponseHeaders();
|
15
|
+
void setCustomNetworkAccessManager();
|
14
16
|
bool render(const QString &fileName);
|
15
17
|
virtual bool extension (Extension extension, const ExtensionOption *option=0, ExtensionReturn *output=0);
|
16
18
|
|
@@ -23,6 +25,10 @@ class WebPage : public QWebPage {
|
|
23
25
|
QString pageHeaders();
|
24
26
|
void frameCreated(QWebFrame *);
|
25
27
|
void replyFinished(QNetworkReply *reply);
|
28
|
+
void handleUnsupportedContent(QNetworkReply *reply);
|
29
|
+
|
30
|
+
signals:
|
31
|
+
void pageFinished(bool);
|
26
32
|
|
27
33
|
protected:
|
28
34
|
virtual void javaScriptConsoleMessage(const QString &message, int lineNumber, const QString &sourceID);
|
@@ -38,7 +44,7 @@ class WebPage : public QWebPage {
|
|
38
44
|
QString getLastAttachedFileName();
|
39
45
|
void loadJavascript();
|
40
46
|
void setUserStylesheet();
|
41
|
-
int
|
47
|
+
int m_lastStatus;
|
42
48
|
QString m_pageHeaders;
|
43
49
|
};
|
44
50
|
|
data/src/capybara.js
CHANGED
@@ -27,6 +27,10 @@ Capybara = {
|
|
27
27
|
return results.join(",");
|
28
28
|
},
|
29
29
|
|
30
|
+
isAttached: function(index) {
|
31
|
+
return document.evaluate("ancestor-or-self::html", this.nodes[index], null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue != null;
|
32
|
+
},
|
33
|
+
|
30
34
|
text: function (index) {
|
31
35
|
var node = this.nodes[index];
|
32
36
|
var type = (node.type || node.tagName).toLowerCase();
|
data/src/find_command.h
CHANGED
data/src/webkit_server.pro
CHANGED
@@ -1,8 +1,63 @@
|
|
1
1
|
TEMPLATE = app
|
2
2
|
TARGET = webkit_server
|
3
3
|
DESTDIR = .
|
4
|
-
HEADERS =
|
5
|
-
|
4
|
+
HEADERS = \
|
5
|
+
WebPage.h \
|
6
|
+
Server.h \
|
7
|
+
Connection.h \
|
8
|
+
Command.h \
|
9
|
+
Visit.h \
|
10
|
+
Find.h \
|
11
|
+
Reset.h \
|
12
|
+
Node.h \
|
13
|
+
JavascriptInvocation.h \
|
14
|
+
Url.h \
|
15
|
+
Source.h \
|
16
|
+
Evaluate.h \
|
17
|
+
Execute.h \
|
18
|
+
FrameFocus.h \
|
19
|
+
Response.h \
|
20
|
+
NetworkAccessManager.h \
|
21
|
+
NetworkCookieJar.h \
|
22
|
+
Header.h \
|
23
|
+
Render.h \
|
24
|
+
body.h \
|
25
|
+
Status.h \
|
26
|
+
Headers.h \
|
27
|
+
UnsupportedContentHandler.h \
|
28
|
+
SetCookie.h \
|
29
|
+
ClearCookies.h \
|
30
|
+
GetCookies.h \
|
31
|
+
|
32
|
+
SOURCES = \
|
33
|
+
main.cpp \
|
34
|
+
WebPage.cpp \
|
35
|
+
Server.cpp \
|
36
|
+
Connection.cpp \
|
37
|
+
Command.cpp \
|
38
|
+
Visit.cpp \
|
39
|
+
Find.cpp \
|
40
|
+
Reset.cpp \
|
41
|
+
Node.cpp \
|
42
|
+
JavascriptInvocation.cpp \
|
43
|
+
Url.cpp \
|
44
|
+
Source.cpp \
|
45
|
+
Evaluate.cpp \
|
46
|
+
Execute.cpp \
|
47
|
+
FrameFocus.cpp \
|
48
|
+
Response.cpp \
|
49
|
+
NetworkAccessManager.cpp \
|
50
|
+
NetworkCookieJar.cpp \
|
51
|
+
Header.cpp \
|
52
|
+
Render.cpp \
|
53
|
+
body.cpp \
|
54
|
+
Status.cpp \
|
55
|
+
Headers.cpp \
|
56
|
+
UnsupportedContentHandler.cpp \
|
57
|
+
SetCookie.cpp \
|
58
|
+
ClearCookies.cpp \
|
59
|
+
GetCookies.cpp \
|
60
|
+
|
6
61
|
RESOURCES = webkit_server.qrc
|
7
62
|
QT += network webkit
|
8
63
|
CONFIG += console
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-webkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 3
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 7
|
9
|
+
- 0
|
10
|
+
version: 0.7.0
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- thoughtbot
|
@@ -25,20 +30,104 @@ autorequire:
|
|
25
30
|
bindir: bin
|
26
31
|
cert_chain: []
|
27
32
|
|
28
|
-
date: 2011-
|
33
|
+
date: 2011-09-30 00:00:00 -05:00
|
29
34
|
default_executable:
|
30
35
|
dependencies:
|
31
36
|
- !ruby/object:Gem::Dependency
|
32
|
-
|
33
|
-
prerelease: false
|
37
|
+
type: :runtime
|
34
38
|
requirement: &id001 !ruby/object:Gem::Requirement
|
35
39
|
none: false
|
36
40
|
requirements:
|
37
|
-
- -
|
41
|
+
- - ">="
|
38
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 23
|
44
|
+
segments:
|
45
|
+
- 1
|
46
|
+
- 0
|
47
|
+
- 0
|
39
48
|
version: 1.0.0
|
40
|
-
|
49
|
+
- - <
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
hash: 11
|
52
|
+
segments:
|
53
|
+
- 1
|
54
|
+
- 2
|
55
|
+
version: "1.2"
|
41
56
|
version_requirements: *id001
|
57
|
+
name: capybara
|
58
|
+
prerelease: false
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
type: :development
|
61
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ~>
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
hash: 23
|
67
|
+
segments:
|
68
|
+
- 2
|
69
|
+
- 6
|
70
|
+
- 0
|
71
|
+
version: 2.6.0
|
72
|
+
version_requirements: *id002
|
73
|
+
name: rspec
|
74
|
+
prerelease: false
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
type: :development
|
77
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
hash: 3
|
83
|
+
segments:
|
84
|
+
- 0
|
85
|
+
version: "0"
|
86
|
+
version_requirements: *id003
|
87
|
+
name: sinatra
|
88
|
+
prerelease: false
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
type: :development
|
91
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
hash: 3
|
97
|
+
segments:
|
98
|
+
- 0
|
99
|
+
version: "0"
|
100
|
+
version_requirements: *id004
|
101
|
+
name: mini_magick
|
102
|
+
prerelease: false
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
type: :development
|
105
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
hash: 3
|
111
|
+
segments:
|
112
|
+
- 0
|
113
|
+
version: "0"
|
114
|
+
version_requirements: *id005
|
115
|
+
name: rake
|
116
|
+
prerelease: false
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
type: :development
|
119
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
hash: 3
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
version: "0"
|
128
|
+
version_requirements: *id006
|
129
|
+
name: appraisal
|
130
|
+
prerelease: false
|
42
131
|
description:
|
43
132
|
email: support@thoughtbot.com
|
44
133
|
executables: []
|
@@ -50,6 +139,7 @@ extra_rdoc_files: []
|
|
50
139
|
files:
|
51
140
|
- .gitignore
|
52
141
|
- .rspec
|
142
|
+
- Appraisals
|
53
143
|
- CONTRIBUTING.md
|
54
144
|
- Gemfile
|
55
145
|
- Gemfile.lock
|
@@ -59,11 +149,16 @@ files:
|
|
59
149
|
- bin/Info.plist
|
60
150
|
- capybara-webkit.gemspec
|
61
151
|
- extconf.rb
|
152
|
+
- gemfiles/1.0.gemfile
|
153
|
+
- gemfiles/1.0.gemfile.lock
|
154
|
+
- gemfiles/1.1.gemfile
|
155
|
+
- gemfiles/1.1.gemfile.lock
|
62
156
|
- lib/capybara-webkit.rb
|
63
157
|
- lib/capybara/driver/webkit.rb
|
64
158
|
- lib/capybara/driver/webkit/browser.rb
|
65
159
|
- lib/capybara/driver/webkit/node.rb
|
66
160
|
- lib/capybara/driver/webkit/socket_debugger.rb
|
161
|
+
- lib/capybara/webkit.rb
|
67
162
|
- lib/capybara_webkit_builder.rb
|
68
163
|
- spec/browser_spec.rb
|
69
164
|
- spec/driver_rendering_spec.rb
|
@@ -72,6 +167,8 @@ files:
|
|
72
167
|
- spec/integration/session_spec.rb
|
73
168
|
- spec/spec_helper.rb
|
74
169
|
- src/Body.h
|
170
|
+
- src/ClearCookies.cpp
|
171
|
+
- src/ClearCookies.h
|
75
172
|
- src/Command.cpp
|
76
173
|
- src/Command.h
|
77
174
|
- src/Connection.cpp
|
@@ -84,6 +181,8 @@ files:
|
|
84
181
|
- src/Find.h
|
85
182
|
- src/FrameFocus.cpp
|
86
183
|
- src/FrameFocus.h
|
184
|
+
- src/GetCookies.cpp
|
185
|
+
- src/GetCookies.h
|
87
186
|
- src/Header.cpp
|
88
187
|
- src/Header.h
|
89
188
|
- src/Headers.cpp
|
@@ -92,6 +191,8 @@ files:
|
|
92
191
|
- src/JavascriptInvocation.h
|
93
192
|
- src/NetworkAccessManager.cpp
|
94
193
|
- src/NetworkAccessManager.h
|
194
|
+
- src/NetworkCookieJar.cpp
|
195
|
+
- src/NetworkCookieJar.h
|
95
196
|
- src/Node.cpp
|
96
197
|
- src/Node.h
|
97
198
|
- src/Render.cpp
|
@@ -102,10 +203,14 @@ files:
|
|
102
203
|
- src/Response.h
|
103
204
|
- src/Server.cpp
|
104
205
|
- src/Server.h
|
206
|
+
- src/SetCookie.cpp
|
207
|
+
- src/SetCookie.h
|
105
208
|
- src/Source.cpp
|
106
209
|
- src/Source.h
|
107
210
|
- src/Status.cpp
|
108
211
|
- src/Status.h
|
212
|
+
- src/UnsupportedContentHandler.cpp
|
213
|
+
- src/UnsupportedContentHandler.h
|
109
214
|
- src/Url.cpp
|
110
215
|
- src/Url.h
|
111
216
|
- src/Visit.cpp
|
@@ -135,17 +240,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
240
|
requirements:
|
136
241
|
- - ">="
|
137
242
|
- !ruby/object:Gem::Version
|
243
|
+
hash: 3
|
244
|
+
segments:
|
245
|
+
- 0
|
138
246
|
version: "0"
|
139
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
248
|
none: false
|
141
249
|
requirements:
|
142
250
|
- - ">="
|
143
251
|
- !ruby/object:Gem::Version
|
252
|
+
hash: 3
|
253
|
+
segments:
|
254
|
+
- 0
|
144
255
|
version: "0"
|
145
256
|
requirements: []
|
146
257
|
|
147
258
|
rubyforge_project:
|
148
|
-
rubygems_version: 1.6.
|
259
|
+
rubygems_version: 1.6.1
|
149
260
|
signing_key:
|
150
261
|
specification_version: 3
|
151
262
|
summary: Headless Webkit driver for Capybara
|