capybara-webkit 1.1.1 → 1.2.0

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 (66) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +19 -13
  4. data/Appraisals +8 -4
  5. data/Gemfile.lock +29 -14
  6. data/NEWS.md +4 -0
  7. data/README.md +1 -1
  8. data/Rakefile +1 -1
  9. data/capybara-webkit.gemspec +2 -1
  10. data/gemfiles/2.0.gemfile.lock +10 -6
  11. data/gemfiles/2.1.gemfile.lock +22 -9
  12. data/gemfiles/2.2.gemfile +7 -0
  13. data/gemfiles/2.2.gemfile.lock +77 -0
  14. data/gemfiles/2.3.gemfile +7 -0
  15. data/gemfiles/2.3.gemfile.lock +77 -0
  16. data/lib/capybara/webkit/browser.rb +28 -4
  17. data/lib/capybara/webkit/connection.rb +9 -24
  18. data/lib/capybara/webkit/driver.rb +40 -4
  19. data/lib/capybara/webkit/errors.rb +3 -0
  20. data/lib/capybara/webkit/version.rb +1 -1
  21. data/spec/browser_spec.rb +1 -1
  22. data/spec/connection_spec.rb +27 -5
  23. data/spec/driver_rendering_spec.rb +10 -0
  24. data/spec/driver_resize_window_spec.rb +22 -0
  25. data/spec/driver_spec.rb +117 -9
  26. data/spec/selenium_compatibility_spec.rb +3 -0
  27. data/spec/spec_helper.rb +22 -3
  28. data/spec/support/matchers/include_response.rb +24 -0
  29. data/src/CommandFactory.cpp +7 -1
  30. data/src/GoBack.cpp +12 -0
  31. data/src/GoBack.h +10 -0
  32. data/src/GoForward.cpp +12 -0
  33. data/src/GoForward.h +10 -0
  34. data/src/Render.cpp +10 -1
  35. data/src/Reset.cpp +0 -2
  36. data/src/SocketCommand.cpp +6 -0
  37. data/src/SocketCommand.h +1 -0
  38. data/src/StdinNotifier.cpp +16 -0
  39. data/src/StdinNotifier.h +20 -0
  40. data/src/WebPage.cpp +20 -5
  41. data/src/WebPage.h +4 -1
  42. data/src/WebPageManager.cpp +18 -7
  43. data/src/WebPageManager.h +2 -1
  44. data/src/WindowClose.cpp +10 -0
  45. data/src/WindowClose.h +12 -0
  46. data/src/WindowCommand.cpp +27 -0
  47. data/src/WindowCommand.h +21 -0
  48. data/src/WindowFocus.cpp +2 -25
  49. data/src/WindowFocus.h +4 -7
  50. data/src/WindowMaximize.cpp +14 -0
  51. data/src/WindowMaximize.h +12 -0
  52. data/src/WindowOpen.cpp +12 -0
  53. data/src/WindowOpen.h +10 -0
  54. data/src/WindowResize.cpp +16 -0
  55. data/src/WindowResize.h +12 -0
  56. data/src/WindowSize.cpp +17 -0
  57. data/src/WindowSize.h +12 -0
  58. data/src/capybara.js +19 -3
  59. data/src/find_command.h +7 -1
  60. data/src/main.cpp +4 -0
  61. data/src/webkit_server.pro +20 -4
  62. data/templates/Command.cpp +2 -0
  63. data/templates/Command.h +1 -3
  64. metadata +82 -54
  65. data/src/ResizeWindow.cpp +0 -17
  66. data/src/ResizeWindow.h +0 -10
@@ -0,0 +1,21 @@
1
+ #ifndef WINDOW_COMMAND_H
2
+ #define WINDOW_COMMAND_H
3
+
4
+ #include "SocketCommand.h"
5
+
6
+ class WindowCommand : public SocketCommand {
7
+ Q_OBJECT
8
+
9
+ public:
10
+ WindowCommand(WebPageManager *, QStringList &arguments, QObject *parent = 0);
11
+ virtual void start();
12
+
13
+ protected:
14
+ virtual void windowFound(WebPage *) = 0;
15
+
16
+ private:
17
+ void findWindow(QString);
18
+ void windowNotFound();
19
+ };
20
+
21
+ #endif
data/src/WindowFocus.cpp CHANGED
@@ -1,33 +1,10 @@
1
1
  #include "WindowFocus.h"
2
- #include "SocketCommand.h"
3
2
  #include "WebPage.h"
4
- #include "CommandFactory.h"
5
- #include "WebPageManager.h"
6
- #include "ErrorMessage.h"
7
3
 
8
- WindowFocus::WindowFocus(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {
4
+ WindowFocus::WindowFocus(WebPageManager *manager, QStringList &arguments, QObject *parent) : WindowCommand(manager, arguments, parent) {
9
5
  }
10
6
 
11
- void WindowFocus::start() {
12
- focusWindow(arguments()[0]);
13
- }
14
-
15
- void WindowFocus::windowNotFound() {
16
- finish(false, new ErrorMessage("Unable to locate window."));
17
- }
18
-
19
- void WindowFocus::success(WebPage *page) {
7
+ void WindowFocus::windowFound(WebPage *page) {
20
8
  page->setFocus();
21
9
  finish(true);
22
10
  }
23
-
24
- void WindowFocus::focusWindow(QString selector) {
25
- foreach(WebPage *page, manager()->pages()) {
26
- if (page->matchesWindowSelector(selector)) {
27
- success(page);
28
- return;
29
- }
30
- }
31
-
32
- windowNotFound();
33
- }
data/src/WindowFocus.h CHANGED
@@ -1,15 +1,12 @@
1
- #include "SocketCommand.h"
1
+ #include "WindowCommand.h"
2
2
 
3
- class WindowFocus : public SocketCommand {
3
+ class WindowFocus : public WindowCommand {
4
4
  Q_OBJECT
5
5
 
6
6
  public:
7
7
  WindowFocus(WebPageManager *, QStringList &arguments, QObject *parent = 0);
8
- virtual void start();
9
8
 
10
- private:
11
- void success(WebPage *);
12
- void windowNotFound();
13
- void focusWindow(QString);
9
+ protected:
10
+ virtual void windowFound(WebPage *);
14
11
  };
15
12
 
@@ -0,0 +1,14 @@
1
+ #include <QDesktopWidget>
2
+ #include "WindowMaximize.h"
3
+ #include "WebPage.h"
4
+ #include "WebPageManager.h"
5
+
6
+ WindowMaximize::WindowMaximize(WebPageManager *manager, QStringList &arguments, QObject *parent) : WindowCommand(manager, arguments, parent) {
7
+ }
8
+
9
+ void WindowMaximize::windowFound(WebPage *page) {
10
+ QDesktopWidget *desktop = QApplication::desktop();
11
+ QRect area = desktop->availableGeometry();
12
+ page->resize(area.width(), area.height());
13
+ finish(true);
14
+ }
@@ -0,0 +1,12 @@
1
+ #include "WindowCommand.h"
2
+
3
+ class WindowMaximize : public WindowCommand {
4
+ Q_OBJECT
5
+
6
+ public:
7
+ WindowMaximize(WebPageManager *, QStringList &arguments, QObject *parent = 0);
8
+
9
+ protected:
10
+ virtual void windowFound(WebPage *);
11
+ };
12
+
@@ -0,0 +1,12 @@
1
+ #include "WindowOpen.h"
2
+ #include "SocketCommand.h"
3
+ #include "WebPage.h"
4
+ #include "WebPageManager.h"
5
+
6
+ WindowOpen::WindowOpen(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {
7
+ }
8
+
9
+ void WindowOpen::start() {
10
+ manager()->createPage();
11
+ finish(true);
12
+ }
data/src/WindowOpen.h ADDED
@@ -0,0 +1,10 @@
1
+ #include "SocketCommand.h"
2
+
3
+ class WindowOpen : public SocketCommand {
4
+ Q_OBJECT
5
+
6
+ public:
7
+ WindowOpen(WebPageManager *, QStringList &arguments, QObject *parent = 0);
8
+ virtual void start();
9
+ };
10
+
@@ -0,0 +1,16 @@
1
+ #include "WindowResize.h"
2
+ #include "WebPage.h"
3
+ #include "WebPageManager.h"
4
+
5
+ WindowResize::WindowResize(WebPageManager *manager, QStringList &arguments, QObject *parent) : WindowCommand(manager, arguments, parent) {
6
+ }
7
+
8
+ void WindowResize::windowFound(WebPage *page) {
9
+ int width = arguments()[1].toInt();
10
+ int height = arguments()[2].toInt();
11
+
12
+ page->resize(width, height);
13
+
14
+ finish(true);
15
+ }
16
+
@@ -0,0 +1,12 @@
1
+ #include "WindowCommand.h"
2
+
3
+ class WindowResize : public WindowCommand {
4
+ Q_OBJECT
5
+
6
+ public:
7
+ WindowResize(WebPageManager *, QStringList &arguments, QObject *parent = 0);
8
+
9
+ protected:
10
+ virtual void windowFound(WebPage *);
11
+ };
12
+
@@ -0,0 +1,17 @@
1
+ #include "WindowSize.h"
2
+ #include "WebPage.h"
3
+ #include "WebPageManager.h"
4
+ #include "JsonSerializer.h"
5
+
6
+ WindowSize::WindowSize(WebPageManager *manager, QStringList &arguments, QObject *parent) : WindowCommand(manager, arguments, parent) {
7
+ }
8
+
9
+ void WindowSize::windowFound(WebPage *page) {
10
+ QSize size = page->viewportSize();
11
+ QVariantList elements;
12
+ elements << size.width();
13
+ elements << size.height();
14
+ JsonSerializer serializer;
15
+ QByteArray json = serializer.serialize(elements);
16
+ finish(true, json);
17
+ }
data/src/WindowSize.h ADDED
@@ -0,0 +1,12 @@
1
+ #include "WindowCommand.h"
2
+
3
+ class WindowSize : public WindowCommand {
4
+ Q_OBJECT
5
+
6
+ public:
7
+ WindowSize(WebPageManager *, QStringList &arguments, QObject *parent = 0);
8
+
9
+ protected:
10
+ virtual void windowFound(WebPage *);
11
+ };
12
+
data/src/capybara.js CHANGED
@@ -66,7 +66,9 @@ Capybara = {
66
66
  text: function (index) {
67
67
  var node = this.getNode(index);
68
68
  var type = (node.type || node.tagName).toLowerCase();
69
- if (type == "textarea") {
69
+ if (!this.isNodeVisible(node)) {
70
+ return '';
71
+ } else if (type == "textarea") {
70
72
  return node.innerHTML;
71
73
  } else {
72
74
  return node.innerText || node.textContent;
@@ -286,20 +288,34 @@ Capybara = {
286
288
  CapybaraInvocation.keypress(value[strindex]);
287
289
  }
288
290
 
291
+ if (value == '')
292
+ this.trigger(index, "change");
289
293
  } else if (type === "checkbox" || type === "radio") {
290
294
  if (node.checked != (value === "true")) {
291
295
  this.leftClick(index);
292
296
  }
293
-
294
297
  } else if (type === "file") {
295
298
  this.attachedFiles = Array.prototype.slice.call(arguments, 1);
296
299
  this.leftClick(index);
297
-
300
+ } else if (this.isContentEditable(node)) {
301
+ var content = document.createTextNode(value);
302
+ node.innerHTML = '';
303
+ node.appendChild(content);
298
304
  } else {
299
305
  node.value = value;
300
306
  }
301
307
  },
302
308
 
309
+ isContentEditable: function(node) {
310
+ if (node.contentEditable == 'true') {
311
+ return true;
312
+ } else if (node.contentEditable == 'false') {
313
+ return false;
314
+ } else if (node.contentEditable == 'inherit') {
315
+ return this.isContentEditable(node.parentNode);
316
+ }
317
+ },
318
+
303
319
  focus: function(index) {
304
320
  this.getNode(index).focus();
305
321
  },
data/src/find_command.h CHANGED
@@ -21,7 +21,7 @@ CHECK_COMMAND(GetCookies)
21
21
  CHECK_COMMAND(SetProxy)
22
22
  CHECK_COMMAND(ConsoleMessages)
23
23
  CHECK_COMMAND(CurrentUrl)
24
- CHECK_COMMAND(ResizeWindow)
24
+ CHECK_COMMAND(WindowResize)
25
25
  CHECK_COMMAND(IgnoreSslErrors)
26
26
  CHECK_COMMAND(SetSkipImageLoading)
27
27
  CHECK_COMMAND(WindowFocus)
@@ -42,3 +42,9 @@ CHECK_COMMAND(SetUrlBlacklist)
42
42
  CHECK_COMMAND(Title)
43
43
  CHECK_COMMAND(Version)
44
44
  CHECK_COMMAND(FindCss)
45
+ CHECK_COMMAND(WindowClose)
46
+ CHECK_COMMAND(WindowOpen)
47
+ CHECK_COMMAND(WindowSize)
48
+ CHECK_COMMAND(WindowMaximize)
49
+ CHECK_COMMAND(GoBack)
50
+ CHECK_COMMAND(GoForward)
data/src/main.cpp CHANGED
@@ -1,5 +1,6 @@
1
1
  #include "Server.h"
2
2
  #include "IgnoreDebugOutput.h"
3
+ #include "StdinNotifier.h"
3
4
  #include <QApplication>
4
5
  #include <iostream>
5
6
  #ifdef Q_OS_UNIX
@@ -19,6 +20,9 @@ int main(int argc, char **argv) {
19
20
  app.setOrganizationName("thoughtbot, inc");
20
21
  app.setOrganizationDomain("thoughtbot.com");
21
22
 
23
+ StdinNotifier notifier;
24
+ QObject::connect(&notifier, SIGNAL(eof()), &app, SLOT(quit()));
25
+
22
26
  ignoreDebugOutput();
23
27
  Server server(0);
24
28
 
@@ -7,6 +7,13 @@ PRECOMPILED_DIR = $${BUILD_DIR}
7
7
  OBJECTS_DIR = $${BUILD_DIR}
8
8
  MOC_DIR = $${BUILD_DIR}
9
9
  HEADERS = \
10
+ GoForward.h \
11
+ GoBack.h \
12
+ WindowMaximize.h \
13
+ WindowSize.h \
14
+ WindowCommand.h \
15
+ WindowOpen.h \
16
+ WindowClose.h \
10
17
  Version.h \
11
18
  EnableLogging.h \
12
19
  Authenticate.h \
@@ -18,7 +25,7 @@ HEADERS = \
18
25
  JavascriptConfirmMessages.h \
19
26
  JavascriptPromptMessages.h \
20
27
  IgnoreSslErrors.h \
21
- ResizeWindow.h \
28
+ WindowResize.h \
22
29
  CurrentUrl.h \
23
30
  ConsoleMessages.h \
24
31
  WebPage.h \
@@ -68,9 +75,17 @@ HEADERS = \
68
75
  JavascriptCommand.h \
69
76
  FindXpath.h \
70
77
  NetworkReplyProxy.h \
71
- IgnoreDebugOutput.h
78
+ IgnoreDebugOutput.h \
79
+ StdinNotifier.h
72
80
 
73
81
  SOURCES = \
82
+ GoForward.cpp \
83
+ GoBack.cpp \
84
+ WindowMaximize.cpp \
85
+ WindowSize.cpp \
86
+ WindowCommand.cpp \
87
+ WindowOpen.cpp \
88
+ WindowClose.cpp \
74
89
  Version.cpp \
75
90
  EnableLogging.cpp \
76
91
  Authenticate.cpp \
@@ -82,7 +97,7 @@ SOURCES = \
82
97
  JavascriptConfirmMessages.cpp \
83
98
  JavascriptPromptMessages.cpp \
84
99
  IgnoreSslErrors.cpp \
85
- ResizeWindow.cpp \
100
+ WindowResize.cpp \
86
101
  CurrentUrl.cpp \
87
102
  ConsoleMessages.cpp \
88
103
  main.cpp \
@@ -133,7 +148,8 @@ SOURCES = \
133
148
  JavascriptCommand.cpp \
134
149
  FindXpath.cpp \
135
150
  NetworkReplyProxy.cpp \
136
- IgnoreDebugOutput.cpp
151
+ IgnoreDebugOutput.cpp \
152
+ StdinNotifier.cpp
137
153
 
138
154
  RESOURCES = webkit_server.qrc
139
155
  QT += network
@@ -1,5 +1,7 @@
1
1
  #include "NAME.h"
2
+ #include "SocketCommand.h"
2
3
  #include "WebPage.h"
4
+ #include "WebPageManager.h"
3
5
 
4
6
  NAME::NAME(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {
5
7
  }
data/templates/Command.h CHANGED
@@ -1,6 +1,4 @@
1
- #include "Command.h"
2
-
3
- class WebPage;
1
+ #include "SocketCommand.h"
4
2
 
5
3
  class NAME : public SocketCommand {
6
4
  Q_OBJECT
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-webkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
5
- prerelease:
4
+ version: 1.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - thoughtbot
@@ -14,140 +13,138 @@ authors:
14
13
  autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
- date: 2013-12-25 00:00:00.000000000 Z
16
+ date: 2014-07-02 00:00:00.000000000 Z
18
17
  dependencies:
19
18
  - !ruby/object:Gem::Dependency
20
19
  name: capybara
21
20
  requirement: !ruby/object:Gem::Requirement
22
- none: false
23
21
  requirements:
24
- - - ! '>='
22
+ - - ">="
25
23
  - !ruby/object:Gem::Version
26
24
  version: 2.0.2
27
- - - <
25
+ - - "<"
28
26
  - !ruby/object:Gem::Version
29
- version: 2.2.0
27
+ version: 2.4.0
30
28
  type: :runtime
31
29
  prerelease: false
32
30
  version_requirements: !ruby/object:Gem::Requirement
33
- none: false
34
31
  requirements:
35
- - - ! '>='
32
+ - - ">="
36
33
  - !ruby/object:Gem::Version
37
34
  version: 2.0.2
38
- - - <
35
+ - - "<"
39
36
  - !ruby/object:Gem::Version
40
- version: 2.2.0
37
+ version: 2.4.0
41
38
  - !ruby/object:Gem::Dependency
42
39
  name: json
43
40
  requirement: !ruby/object:Gem::Requirement
44
- none: false
45
41
  requirements:
46
- - - ! '>='
42
+ - - ">="
47
43
  - !ruby/object:Gem::Version
48
44
  version: '0'
49
45
  type: :runtime
50
46
  prerelease: false
51
47
  version_requirements: !ruby/object:Gem::Requirement
52
- none: false
53
48
  requirements:
54
- - - ! '>='
49
+ - - ">="
55
50
  - !ruby/object:Gem::Version
56
51
  version: '0'
57
52
  - !ruby/object:Gem::Dependency
58
53
  name: rspec
59
54
  requirement: !ruby/object:Gem::Requirement
60
- none: false
61
55
  requirements:
62
- - - ~>
56
+ - - "~>"
63
57
  - !ruby/object:Gem::Version
64
58
  version: 2.14.0
65
59
  type: :development
66
60
  prerelease: false
67
61
  version_requirements: !ruby/object:Gem::Requirement
68
- none: false
69
62
  requirements:
70
- - - ~>
63
+ - - "~>"
71
64
  - !ruby/object:Gem::Version
72
65
  version: 2.14.0
73
66
  - !ruby/object:Gem::Dependency
74
67
  name: sinatra
75
68
  requirement: !ruby/object:Gem::Requirement
76
- none: false
77
69
  requirements:
78
- - - ! '>='
70
+ - - ">="
79
71
  - !ruby/object:Gem::Version
80
72
  version: '0'
81
73
  type: :development
82
74
  prerelease: false
83
75
  version_requirements: !ruby/object:Gem::Requirement
84
- none: false
85
76
  requirements:
86
- - - ! '>='
77
+ - - ">="
87
78
  - !ruby/object:Gem::Version
88
79
  version: '0'
89
80
  - !ruby/object:Gem::Dependency
90
81
  name: mini_magick
91
82
  requirement: !ruby/object:Gem::Requirement
92
- none: false
93
83
  requirements:
94
- - - ! '>='
84
+ - - ">="
95
85
  - !ruby/object:Gem::Version
96
86
  version: '0'
97
87
  type: :development
98
88
  prerelease: false
99
89
  version_requirements: !ruby/object:Gem::Requirement
100
- none: false
101
90
  requirements:
102
- - - ! '>='
91
+ - - ">="
103
92
  - !ruby/object:Gem::Version
104
93
  version: '0'
105
94
  - !ruby/object:Gem::Dependency
106
95
  name: rake
107
96
  requirement: !ruby/object:Gem::Requirement
108
- none: false
109
97
  requirements:
110
- - - ! '>='
98
+ - - ">="
111
99
  - !ruby/object:Gem::Version
112
100
  version: '0'
113
101
  type: :development
114
102
  prerelease: false
115
103
  version_requirements: !ruby/object:Gem::Requirement
116
- none: false
117
104
  requirements:
118
- - - ! '>='
105
+ - - ">="
119
106
  - !ruby/object:Gem::Version
120
107
  version: '0'
121
108
  - !ruby/object:Gem::Dependency
122
109
  name: appraisal
123
110
  requirement: !ruby/object:Gem::Requirement
124
- none: false
125
111
  requirements:
126
- - - ~>
112
+ - - "~>"
127
113
  - !ruby/object:Gem::Version
128
114
  version: 0.4.0
129
115
  type: :development
130
116
  prerelease: false
131
117
  version_requirements: !ruby/object:Gem::Requirement
132
- none: false
133
118
  requirements:
134
- - - ~>
119
+ - - "~>"
135
120
  - !ruby/object:Gem::Version
136
121
  version: 0.4.0
137
122
  - !ruby/object:Gem::Dependency
138
123
  name: selenium-webdriver
139
124
  requirement: !ruby/object:Gem::Requirement
140
- none: false
141
125
  requirements:
142
- - - ! '>='
126
+ - - ">="
143
127
  - !ruby/object:Gem::Version
144
128
  version: '0'
145
129
  type: :development
146
130
  prerelease: false
147
131
  version_requirements: !ruby/object:Gem::Requirement
148
- none: false
149
132
  requirements:
150
- - - ! '>='
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ - !ruby/object:Gem::Dependency
137
+ name: launchy
138
+ requirement: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
151
148
  - !ruby/object:Gem::Version
152
149
  version: '0'
153
150
  description:
@@ -157,9 +154,9 @@ extensions:
157
154
  - extconf.rb
158
155
  extra_rdoc_files: []
159
156
  files:
160
- - .gitignore
161
- - .rspec
162
- - .travis.yml
157
+ - ".gitignore"
158
+ - ".rspec"
159
+ - ".travis.yml"
163
160
  - Appraisals
164
161
  - CONTRIBUTING.md
165
162
  - GOALS
@@ -177,6 +174,10 @@ files:
177
174
  - gemfiles/2.0.gemfile.lock
178
175
  - gemfiles/2.1.gemfile
179
176
  - gemfiles/2.1.gemfile.lock
177
+ - gemfiles/2.2.gemfile
178
+ - gemfiles/2.2.gemfile.lock
179
+ - gemfiles/2.3.gemfile
180
+ - gemfiles/2.3.gemfile.lock
180
181
  - lib/capybara-webkit.rb
181
182
  - lib/capybara/webkit.rb
182
183
  - lib/capybara/webkit/browser.rb
@@ -202,6 +203,7 @@ files:
202
203
  - spec/self_signed_ssl_cert.rb
203
204
  - spec/spec_helper.rb
204
205
  - spec/support/app_runner.rb
206
+ - spec/support/matchers/include_response.rb
205
207
  - src/Authenticate.cpp
206
208
  - src/Authenticate.h
207
209
  - src/Body.h
@@ -243,6 +245,10 @@ files:
243
245
  - src/GetWindowHandle.h
244
246
  - src/GetWindowHandles.cpp
245
247
  - src/GetWindowHandles.h
248
+ - src/GoBack.cpp
249
+ - src/GoBack.h
250
+ - src/GoForward.cpp
251
+ - src/GoForward.h
246
252
  - src/Header.cpp
247
253
  - src/Header.h
248
254
  - src/Headers.cpp
@@ -283,8 +289,6 @@ files:
283
289
  - src/Render.h
284
290
  - src/Reset.cpp
285
291
  - src/Reset.h
286
- - src/ResizeWindow.cpp
287
- - src/ResizeWindow.h
288
292
  - src/Response.cpp
289
293
  - src/Response.h
290
294
  - src/Server.cpp
@@ -309,6 +313,8 @@ files:
309
313
  - src/SocketCommand.h
310
314
  - src/Status.cpp
311
315
  - src/Status.h
316
+ - src/StdinNotifier.cpp
317
+ - src/StdinNotifier.h
312
318
  - src/TimeoutCommand.cpp
313
319
  - src/TimeoutCommand.h
314
320
  - src/Title.cpp
@@ -323,8 +329,20 @@ files:
323
329
  - src/WebPage.h
324
330
  - src/WebPageManager.cpp
325
331
  - src/WebPageManager.h
332
+ - src/WindowClose.cpp
333
+ - src/WindowClose.h
334
+ - src/WindowCommand.cpp
335
+ - src/WindowCommand.h
326
336
  - src/WindowFocus.cpp
327
337
  - src/WindowFocus.h
338
+ - src/WindowMaximize.cpp
339
+ - src/WindowMaximize.h
340
+ - src/WindowOpen.cpp
341
+ - src/WindowOpen.h
342
+ - src/WindowResize.cpp
343
+ - src/WindowResize.h
344
+ - src/WindowSize.cpp
345
+ - src/WindowSize.h
328
346
  - src/body.cpp
329
347
  - src/capybara.js
330
348
  - src/find_command.h
@@ -342,29 +360,39 @@ files:
342
360
  homepage: http://github.com/thoughtbot/capybara-webkit
343
361
  licenses:
344
362
  - MIT
363
+ metadata: {}
345
364
  post_install_message:
346
365
  rdoc_options: []
347
366
  require_paths:
348
367
  - lib
349
368
  required_ruby_version: !ruby/object:Gem::Requirement
350
- none: false
351
369
  requirements:
352
- - - ! '>='
370
+ - - ">="
353
371
  - !ruby/object:Gem::Version
354
372
  version: 1.9.0
355
373
  required_rubygems_version: !ruby/object:Gem::Requirement
356
- none: false
357
374
  requirements:
358
- - - ! '>='
375
+ - - ">="
359
376
  - !ruby/object:Gem::Version
360
377
  version: '0'
361
- segments:
362
- - 0
363
- hash: 3687364731503617195
364
378
  requirements: []
365
379
  rubyforge_project:
366
- rubygems_version: 1.8.25
380
+ rubygems_version: 2.2.0
367
381
  signing_key:
368
- specification_version: 3
382
+ specification_version: 4
369
383
  summary: Headless Webkit driver for Capybara
370
- test_files: []
384
+ test_files:
385
+ - spec/browser_spec.rb
386
+ - spec/capybara_webkit_builder_spec.rb
387
+ - spec/connection_spec.rb
388
+ - spec/cookie_jar_spec.rb
389
+ - spec/driver_rendering_spec.rb
390
+ - spec/driver_resize_window_spec.rb
391
+ - spec/driver_spec.rb
392
+ - spec/errors_spec.rb
393
+ - spec/integration/session_spec.rb
394
+ - spec/selenium_compatibility_spec.rb
395
+ - spec/self_signed_ssl_cert.rb
396
+ - spec/spec_helper.rb
397
+ - spec/support/app_runner.rb
398
+ - spec/support/matchers/include_response.rb