capybara-webkit 1.5.1 → 1.5.2
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/NEWS.md +9 -0
- data/lib/capybara/webkit/version.rb +1 -1
- data/spec/driver_spec.rb +53 -2
- data/spec/support/app_runner.rb +2 -2
- data/src/WebPageManager.cpp +9 -0
- data/src/WebPageManager.h +1 -0
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7ab00fe907aecf18f18973fe2bcc061ed182978
|
4
|
+
data.tar.gz: c54ebbc9979ef8cbf0ef185e1eb53bddb11967f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f58d3a1b7368ccdb11de8a7b1b4504722d8f92a272133e4c7d547437e796837ac700dea1f17f6c04cf4b723bb327b9432f54af5eee1a304621bde7089c722e3b
|
7
|
+
data.tar.gz: 16b5ed8715b7b388e8392c7af85900116f15afa2235c85f46fa672c38cf46751de2fe2c2e8eb7b80e2fc2c21d5926d8c6c5e135362859bc356aa2f7f5443026b
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
capybara-webkit (1.5.
|
4
|
+
capybara-webkit (1.5.2)
|
5
5
|
capybara (>= 2.3.0, < 2.5.0)
|
6
6
|
json
|
7
7
|
|
@@ -30,7 +30,7 @@ GEM
|
|
30
30
|
launchy (2.4.2-java)
|
31
31
|
addressable (~> 2.3)
|
32
32
|
spoon (~> 0.0.1)
|
33
|
-
mime-types (2.
|
33
|
+
mime-types (2.5)
|
34
34
|
mini_magick (3.2.1)
|
35
35
|
subexec (~> 0.0.4)
|
36
36
|
mini_portile (0.6.2)
|
data/NEWS.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
New for 1.5.2:
|
2
|
+
|
3
|
+
* Fixes bug where aborted Ajax requests caused a crash during reset.
|
4
|
+
|
5
|
+
New for 1.5.1:
|
6
|
+
|
7
|
+
* Fixes bug where Ajax requests would continue after a reset, causing native
|
8
|
+
alerts to appear for some users and crashes for others.
|
9
|
+
|
1
10
|
New for 1.5.0:
|
2
11
|
|
3
12
|
* Fixes for OpenBSD
|
data/spec/driver_spec.rb
CHANGED
@@ -7,8 +7,12 @@ require 'base64'
|
|
7
7
|
describe Capybara::Webkit::Driver do
|
8
8
|
include AppRunner
|
9
9
|
|
10
|
-
def visit(
|
11
|
-
driver.visit(
|
10
|
+
def visit(path, driver=self.driver)
|
11
|
+
driver.visit(url(path))
|
12
|
+
end
|
13
|
+
|
14
|
+
def url(path)
|
15
|
+
"#{AppRunner.app_host}#{path}"
|
12
16
|
end
|
13
17
|
|
14
18
|
context "iframe app" do
|
@@ -2993,6 +2997,53 @@ CACHE MANIFEST
|
|
2993
2997
|
end
|
2994
2998
|
end
|
2995
2999
|
|
3000
|
+
context "with unfinished responses" do
|
3001
|
+
it_behaves_like "output writer" do
|
3002
|
+
let(:driver) do
|
3003
|
+
count = 0
|
3004
|
+
driver_for_app browser do
|
3005
|
+
get "/" do
|
3006
|
+
count += 1
|
3007
|
+
<<-HTML
|
3008
|
+
<html>
|
3009
|
+
<body>
|
3010
|
+
<script type="text/javascript">
|
3011
|
+
setTimeout(function () {
|
3012
|
+
xhr = new XMLHttpRequest();
|
3013
|
+
xhr.open('GET', '/async?#{count}', true);
|
3014
|
+
xhr.setRequestHeader('Content-Type', 'text/plain');
|
3015
|
+
xhr.send();
|
3016
|
+
}, 50);
|
3017
|
+
</script>
|
3018
|
+
</body>
|
3019
|
+
</html>
|
3020
|
+
HTML
|
3021
|
+
end
|
3022
|
+
|
3023
|
+
get "/async" do
|
3024
|
+
sleep 2
|
3025
|
+
""
|
3026
|
+
end
|
3027
|
+
end
|
3028
|
+
end
|
3029
|
+
|
3030
|
+
it "aborts unfinished responses" do
|
3031
|
+
driver.enable_logging
|
3032
|
+
visit "/"
|
3033
|
+
sleep 0.5
|
3034
|
+
visit "/"
|
3035
|
+
sleep 0.5
|
3036
|
+
driver.reset!
|
3037
|
+
stderr.should abort_request_to("/async?2")
|
3038
|
+
stderr.should_not abort_request_to("/async?1")
|
3039
|
+
end
|
3040
|
+
|
3041
|
+
def abort_request_to(path)
|
3042
|
+
include(%{Aborting request to "#{url(path)}"})
|
3043
|
+
end
|
3044
|
+
end
|
3045
|
+
end
|
3046
|
+
|
2996
3047
|
def driver_url(driver, path)
|
2997
3048
|
URI.parse(driver.current_url).merge(path).to_s
|
2998
3049
|
end
|
data/spec/support/app_runner.rb
CHANGED
@@ -25,10 +25,10 @@ module AppRunner
|
|
25
25
|
AppRunner.app = app
|
26
26
|
end
|
27
27
|
|
28
|
-
def driver_for_app(&body)
|
28
|
+
def driver_for_app(*driver_args, &body)
|
29
29
|
app = Class.new(ExampleApp, &body)
|
30
30
|
run_application app
|
31
|
-
build_driver
|
31
|
+
build_driver(*driver_args)
|
32
32
|
end
|
33
33
|
|
34
34
|
def driver_for_html(html, *driver_args)
|
data/src/WebPageManager.cpp
CHANGED
@@ -92,6 +92,11 @@ void WebPageManager::requestCreated(QByteArray &url, QNetworkReply *reply) {
|
|
92
92
|
else {
|
93
93
|
m_pendingReplies.append(reply);
|
94
94
|
connect(reply, SIGNAL(finished()), SLOT(handleReplyFinished()));
|
95
|
+
connect(
|
96
|
+
reply,
|
97
|
+
SIGNAL(destroyed(QObject *)),
|
98
|
+
SLOT(replyDestroyed(QObject *))
|
99
|
+
);
|
95
100
|
}
|
96
101
|
}
|
97
102
|
|
@@ -107,6 +112,10 @@ void WebPageManager::replyFinished(QNetworkReply *reply) {
|
|
107
112
|
m_pendingReplies.removeAll(reply);
|
108
113
|
}
|
109
114
|
|
115
|
+
void WebPageManager::replyDestroyed(QObject *reply) {
|
116
|
+
m_pendingReplies.removeAll((QNetworkReply *) reply);
|
117
|
+
}
|
118
|
+
|
110
119
|
void WebPageManager::setPageStatus(bool success) {
|
111
120
|
logger() << "Page finished with" << success;
|
112
121
|
m_started.remove(qobject_cast<WebPage *>(sender()));
|
data/src/WebPageManager.h
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-webkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thoughtbot
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2015-
|
16
|
+
date: 2015-06-05 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: capybara
|
@@ -416,4 +416,3 @@ test_files:
|
|
416
416
|
- spec/support/app_runner.rb
|
417
417
|
- spec/support/matchers/include_response.rb
|
418
418
|
- spec/support/output_writer.rb
|
419
|
-
has_rdoc:
|