decidim-dev 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45c3488157848ecfcd6f1aabc03654fe2c57dc86c4774dcf755c20083ab413ea
4
- data.tar.gz: 19e55731c2709ffbebe0731409233bf9464e42ff0a705a218518071f16c893e8
3
+ metadata.gz: ebfa36cbbf9b3dd8dde8ac951c16f4ae6d735ee9505edd92d2ef6b27abfeeb19
4
+ data.tar.gz: 285db304d2bf8e0769c25a502715f283d79468d58022759b6b36676c74835166
5
5
  SHA512:
6
- metadata.gz: 1e24f9565ddcf7fa897511fb21309943626d7403aa18624ba718f66883f81a5e239d377be009b2acf7799a2bed319c07a81069c94d556988ef4c7fe2110d852b
7
- data.tar.gz: 6fd1d4c93ebfd0648153d8cea810d947c624c6a80e918c04cf833e66e15bafb73f9f2091332439f16ca60c384f7a3a308010cb05c5bb1c394be923b7e4f2deaf
6
+ metadata.gz: 1e630bb11de0c9517dab929c2216f45b4c2f2ff3a98605b38d9e9c0c84aa9abbfd74d13621e70c216f8394aa9b3f27ea835e5a1d12b82005ed85b42c6b506af0
7
+ data.tar.gz: 6bd84c1375e8857f0b48b2bb6f014936d887ddce78410a232820448ede7197895fa1077c37854f081eed62cd7cb35d9c4ea7892b55cfb123646e7dd04bf0b0cb
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "capybara/poltergeist"
3
+ require "selenium-webdriver"
4
4
  require "capybara-screenshot/rspec"
5
5
 
6
6
  module Decidim
@@ -21,32 +21,24 @@ module Decidim
21
21
  end
22
22
  end
23
23
 
24
- capybara_options = {
25
- extensions: [
26
- File.join(__dir__, "phantomjs_polyfills", "promise.js"),
27
- File.join(__dir__, "phantomjs_polyfills", "phantomjs-shim.js"),
28
- File.join(__dir__, "phantomjs_polyfills", "phantomjs-getOwnPropertyNames.js"),
29
- File.join(__dir__, "phantomjs_polyfills", "weakmap-polyfill.js")
30
- ],
31
- js_errors: true,
32
- url_whitelist: ["http://*.lvh.me", "localhost", "127.0.0.1"],
33
- timeout: 2.minutes
34
- }
35
-
36
- Capybara.register_driver :poltergeist do |app|
37
- Capybara::Poltergeist::Driver.new(app, capybara_options)
38
- end
39
-
40
- Capybara.register_driver :debug do |app|
41
- Capybara::Poltergeist::Driver.new(app, capybara_options.merge(inspector: true))
24
+ Capybara.register_driver :headless_chrome do |app|
25
+ browser_options = ::Selenium::WebDriver::Chrome::Options.new
26
+ browser_options.args << "--headless"
27
+ browser_options.args << "--no-sandbox"
28
+ browser_options.args << "--window-size=1024,768"
29
+ Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
42
30
  end
43
31
 
44
32
  Capybara::Screenshot.prune_strategy = :keep_last_run
45
33
  Capybara::Screenshot::RSpec.add_link_to_screenshot_for_failed_examples = true
46
34
 
35
+ Capybara::Screenshot.register_driver(:headless_chrome) do |driver, path|
36
+ driver.browser.save_screenshot(path)
37
+ end
38
+
47
39
  Capybara.configure do |config|
48
40
  config.always_include_port = true
49
- config.default_driver = :poltergeist
41
+ config.default_driver = :headless_chrome
50
42
  end
51
43
 
52
44
  RSpec.configure do |config|
@@ -86,23 +86,6 @@
86
86
  };
87
87
  }());
88
88
 
89
- /**
90
- * Polyfill for CustomEvent
91
- * Until PhantomJS v2.0 is out (see https://github.com/ariya/phantomjs/issues/11289)
92
- */
93
- (function() {
94
- function CustomEvent(event, params) {
95
- params = params || { bubbles: false, cancelable: false, detail: undefined };
96
- var evt = document.createEvent('CustomEvent');
97
- evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
98
- return evt;
99
- };
100
-
101
- CustomEvent.prototype = window.Event.prototype;
102
-
103
- window.CustomEvent = CustomEvent;
104
- })();
105
-
106
89
  /**
107
90
  * Polyfill for String.startsWith
108
91
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-dev version.
5
5
  module Dev
6
6
  def self.version
7
- "0.7.2"
7
+ "0.7.3"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-11-07 00:00:00.000000000 Z
13
+ date: 2017-11-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.7.2
21
+ version: 0.7.3
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.7.2
28
+ version: 0.7.3
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: factory_girl_rails
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -167,103 +167,103 @@ dependencies:
167
167
  - !ruby/object:Gem::Version
168
168
  version: 0.9.18
169
169
  - !ruby/object:Gem::Dependency
170
- name: poltergeist
170
+ name: rails-controller-testing
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - "~>"
174
174
  - !ruby/object:Gem::Version
175
- version: '1.16'
175
+ version: '1.0'
176
176
  type: :runtime
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
- version: '1.16'
182
+ version: '1.0'
183
183
  - !ruby/object:Gem::Dependency
184
- name: rails-controller-testing
184
+ name: rspec-html-matchers
185
185
  requirement: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - "~>"
188
188
  - !ruby/object:Gem::Version
189
- version: '1.0'
189
+ version: 0.9.1
190
190
  type: :runtime
191
191
  prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
194
  - - "~>"
195
195
  - !ruby/object:Gem::Version
196
- version: '1.0'
196
+ version: 0.9.1
197
197
  - !ruby/object:Gem::Dependency
198
- name: simplecov
198
+ name: rubocop
199
199
  requirement: !ruby/object:Gem::Requirement
200
200
  requirements:
201
201
  - - "~>"
202
202
  - !ruby/object:Gem::Version
203
- version: '0.13'
203
+ version: 0.51.0
204
204
  type: :runtime
205
205
  prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
208
  - - "~>"
209
209
  - !ruby/object:Gem::Version
210
- version: '0.13'
210
+ version: 0.51.0
211
211
  - !ruby/object:Gem::Dependency
212
- name: codecov
212
+ name: selenium-webdriver
213
213
  requirement: !ruby/object:Gem::Requirement
214
214
  requirements:
215
215
  - - "~>"
216
216
  - !ruby/object:Gem::Version
217
- version: 0.1.9
217
+ version: '3.7'
218
218
  type: :runtime
219
219
  prerelease: false
220
220
  version_requirements: !ruby/object:Gem::Requirement
221
221
  requirements:
222
222
  - - "~>"
223
223
  - !ruby/object:Gem::Version
224
- version: 0.1.9
224
+ version: '3.7'
225
225
  - !ruby/object:Gem::Dependency
226
- name: rubocop
226
+ name: simplecov
227
227
  requirement: !ruby/object:Gem::Requirement
228
228
  requirements:
229
229
  - - "~>"
230
230
  - !ruby/object:Gem::Version
231
- version: 0.50.0
231
+ version: '0.13'
232
232
  type: :runtime
233
233
  prerelease: false
234
234
  version_requirements: !ruby/object:Gem::Requirement
235
235
  requirements:
236
236
  - - "~>"
237
237
  - !ruby/object:Gem::Version
238
- version: 0.50.0
238
+ version: '0.13'
239
239
  - !ruby/object:Gem::Dependency
240
- name: db-query-matchers
240
+ name: codecov
241
241
  requirement: !ruby/object:Gem::Requirement
242
242
  requirements:
243
243
  - - "~>"
244
244
  - !ruby/object:Gem::Version
245
- version: 0.9.0
245
+ version: 0.1.9
246
246
  type: :runtime
247
247
  prerelease: false
248
248
  version_requirements: !ruby/object:Gem::Requirement
249
249
  requirements:
250
250
  - - "~>"
251
251
  - !ruby/object:Gem::Version
252
- version: 0.9.0
252
+ version: 0.1.9
253
253
  - !ruby/object:Gem::Dependency
254
- name: rspec-html-matchers
254
+ name: db-query-matchers
255
255
  requirement: !ruby/object:Gem::Requirement
256
256
  requirements:
257
257
  - - "~>"
258
258
  - !ruby/object:Gem::Version
259
- version: 0.9.1
259
+ version: 0.9.0
260
260
  type: :runtime
261
261
  prerelease: false
262
262
  version_requirements: !ruby/object:Gem::Requirement
263
263
  requirements:
264
264
  - - "~>"
265
265
  - !ruby/object:Gem::Version
266
- version: 0.9.1
266
+ version: 0.9.0
267
267
  - !ruby/object:Gem::Dependency
268
268
  name: webmock
269
269
  requirement: !ruby/object:Gem::Requirement
@@ -358,10 +358,7 @@ files:
358
358
  - lib/decidim/dev/test/rspec_support/geocoder.rb
359
359
  - lib/decidim/dev/test/rspec_support/helpers.rb
360
360
  - lib/decidim/dev/test/rspec_support/html_matchers.rb
361
- - lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-getOwnPropertyNames.js
362
361
  - lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-shim.js
363
- - lib/decidim/dev/test/rspec_support/phantomjs_polyfills/promise.js
364
- - lib/decidim/dev/test/rspec_support/phantomjs_polyfills/weakmap-polyfill.js
365
362
  - lib/decidim/dev/test/rspec_support/route_helpers.rb
366
363
  - lib/decidim/dev/test/rspec_support/translation_helpers.rb
367
364
  - lib/decidim/dev/test/rspec_support/warden.rb
@@ -1,16 +0,0 @@
1
- var hasOwnProperty = Object.hasOwnProperty
2
- var originalGetOwnPropertyNames = Object.getOwnPropertyNames
3
- function getOwnPropertyNames (obj) {
4
- var result = originalGetOwnPropertyNames.call(this, obj)
5
- if (typeof obj !== 'function' || hasOwnProperty.call(obj, 'callee')) {
6
- return result
7
- }
8
- return result.filter(function filterCallee (name) {
9
- return name !== 'callee' && name !== 'arguments' && name !== 'caller';
10
- })
11
- };
12
- Object.defineProperty(Object, 'getOwnPropertyNames', {
13
- value: getOwnPropertyNames,
14
- configurable: true,
15
- writable: true
16
- })
@@ -1,233 +0,0 @@
1
- (function (root) {
2
-
3
- // Store setTimeout reference so promise-polyfill will be unaffected by
4
- // other code modifying setTimeout (like sinon.useFakeTimers())
5
- var setTimeoutFunc = setTimeout;
6
-
7
- function noop() {}
8
-
9
- // Polyfill for Function.prototype.bind
10
- function bind(fn, thisArg) {
11
- return function () {
12
- fn.apply(thisArg, arguments);
13
- };
14
- }
15
-
16
- function Promise(fn) {
17
- if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new');
18
- if (typeof fn !== 'function') throw new TypeError('not a function');
19
- this._state = 0;
20
- this._handled = false;
21
- this._value = undefined;
22
- this._deferreds = [];
23
-
24
- doResolve(fn, this);
25
- }
26
-
27
- function handle(self, deferred) {
28
- while (self._state === 3) {
29
- self = self._value;
30
- }
31
- if (self._state === 0) {
32
- self._deferreds.push(deferred);
33
- return;
34
- }
35
- self._handled = true;
36
- Promise._immediateFn(function () {
37
- var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
38
- if (cb === null) {
39
- (self._state === 1 ? resolve : reject)(deferred.promise, self._value);
40
- return;
41
- }
42
- var ret;
43
- try {
44
- ret = cb(self._value);
45
- } catch (e) {
46
- reject(deferred.promise, e);
47
- return;
48
- }
49
- resolve(deferred.promise, ret);
50
- });
51
- }
52
-
53
- function resolve(self, newValue) {
54
- try {
55
- // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
56
- if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');
57
- if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {
58
- var then = newValue.then;
59
- if (newValue instanceof Promise) {
60
- self._state = 3;
61
- self._value = newValue;
62
- finale(self);
63
- return;
64
- } else if (typeof then === 'function') {
65
- doResolve(bind(then, newValue), self);
66
- return;
67
- }
68
- }
69
- self._state = 1;
70
- self._value = newValue;
71
- finale(self);
72
- } catch (e) {
73
- reject(self, e);
74
- }
75
- }
76
-
77
- function reject(self, newValue) {
78
- self._state = 2;
79
- self._value = newValue;
80
- finale(self);
81
- }
82
-
83
- function finale(self) {
84
- if (self._state === 2 && self._deferreds.length === 0) {
85
- Promise._immediateFn(function() {
86
- if (!self._handled) {
87
- Promise._unhandledRejectionFn(self._value);
88
- }
89
- });
90
- }
91
-
92
- for (var i = 0, len = self._deferreds.length; i < len; i++) {
93
- handle(self, self._deferreds[i]);
94
- }
95
- self._deferreds = null;
96
- }
97
-
98
- function Handler(onFulfilled, onRejected, promise) {
99
- this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
100
- this.onRejected = typeof onRejected === 'function' ? onRejected : null;
101
- this.promise = promise;
102
- }
103
-
104
- /**
105
- * Take a potentially misbehaving resolver function and make sure
106
- * onFulfilled and onRejected are only called once.
107
- *
108
- * Makes no guarantees about asynchrony.
109
- */
110
- function doResolve(fn, self) {
111
- var done = false;
112
- try {
113
- fn(function (value) {
114
- if (done) return;
115
- done = true;
116
- resolve(self, value);
117
- }, function (reason) {
118
- if (done) return;
119
- done = true;
120
- reject(self, reason);
121
- });
122
- } catch (ex) {
123
- if (done) return;
124
- done = true;
125
- reject(self, ex);
126
- }
127
- }
128
-
129
- Promise.prototype['catch'] = function (onRejected) {
130
- return this.then(null, onRejected);
131
- };
132
-
133
- Promise.prototype.then = function (onFulfilled, onRejected) {
134
- var prom = new (this.constructor)(noop);
135
-
136
- handle(this, new Handler(onFulfilled, onRejected, prom));
137
- return prom;
138
- };
139
-
140
- Promise.all = function (arr) {
141
- var args = Array.prototype.slice.call(arr);
142
-
143
- return new Promise(function (resolve, reject) {
144
- if (args.length === 0) return resolve([]);
145
- var remaining = args.length;
146
-
147
- function res(i, val) {
148
- try {
149
- if (val && (typeof val === 'object' || typeof val === 'function')) {
150
- var then = val.then;
151
- if (typeof then === 'function') {
152
- then.call(val, function (val) {
153
- res(i, val);
154
- }, reject);
155
- return;
156
- }
157
- }
158
- args[i] = val;
159
- if (--remaining === 0) {
160
- resolve(args);
161
- }
162
- } catch (ex) {
163
- reject(ex);
164
- }
165
- }
166
-
167
- for (var i = 0; i < args.length; i++) {
168
- res(i, args[i]);
169
- }
170
- });
171
- };
172
-
173
- Promise.resolve = function (value) {
174
- if (value && typeof value === 'object' && value.constructor === Promise) {
175
- return value;
176
- }
177
-
178
- return new Promise(function (resolve) {
179
- resolve(value);
180
- });
181
- };
182
-
183
- Promise.reject = function (value) {
184
- return new Promise(function (resolve, reject) {
185
- reject(value);
186
- });
187
- };
188
-
189
- Promise.race = function (values) {
190
- return new Promise(function (resolve, reject) {
191
- for (var i = 0, len = values.length; i < len; i++) {
192
- values[i].then(resolve, reject);
193
- }
194
- });
195
- };
196
-
197
- // Use polyfill for setImmediate for performance gains
198
- Promise._immediateFn = (typeof setImmediate === 'function' && function (fn) { setImmediate(fn); }) ||
199
- function (fn) {
200
- setTimeoutFunc(fn, 0);
201
- };
202
-
203
- Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {
204
- if (typeof console !== 'undefined' && console) {
205
- console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console
206
- }
207
- };
208
-
209
- /**
210
- * Set the immediate function to execute callbacks
211
- * @param fn {function} Function to execute
212
- * @deprecated
213
- */
214
- Promise._setImmediateFn = function _setImmediateFn(fn) {
215
- Promise._immediateFn = fn;
216
- };
217
-
218
- /**
219
- * Change the function to execute on unhandled rejection
220
- * @param {function} fn Function to execute on unhandled rejection
221
- * @deprecated
222
- */
223
- Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {
224
- Promise._unhandledRejectionFn = fn;
225
- };
226
-
227
- if (typeof module !== 'undefined' && module.exports) {
228
- module.exports = Promise;
229
- } else if (!root.Promise) {
230
- root.Promise = Promise;
231
- }
232
-
233
- })(this);
@@ -1,144 +0,0 @@
1
- /*!
2
- * weakmap-polyfill v2.0.0 - ECMAScript6 WeakMap polyfill
3
- * https://github.com/polygonplanet/weakmap-polyfill
4
- * Copyright (c) 2015-2016 polygon planet <polygon.planet.aqua@gmail.com>
5
- * @license MIT
6
- */
7
-
8
- (function(self) {
9
- 'use strict';
10
-
11
- if (self.WeakMap) {
12
- return;
13
- }
14
-
15
- var hasOwnProperty = Object.prototype.hasOwnProperty;
16
- var defineProperty = function(object, name, value) {
17
- if (Object.defineProperty) {
18
- Object.defineProperty(object, name, {
19
- configurable: true,
20
- writable: true,
21
- value: value
22
- });
23
- } else {
24
- object[name] = value;
25
- }
26
- };
27
-
28
- self.WeakMap = (function() {
29
-
30
- // ECMA-262 23.3 WeakMap Objects
31
- function WeakMap() {
32
- if (this === void 0) {
33
- throw new TypeError("Constructor WeakMap requires 'new'");
34
- }
35
-
36
- defineProperty(this, '_id', genId('_WeakMap'));
37
-
38
- // ECMA-262 23.3.1.1 WeakMap([iterable])
39
- if (arguments.length > 0) {
40
- // Currently, WeakMap `iterable` argument is not supported
41
- throw new TypeError('WeakMap iterable is not supported');
42
- }
43
- }
44
-
45
- // ECMA-262 23.3.3.2 WeakMap.prototype.delete(key)
46
- defineProperty(WeakMap.prototype, 'delete', function(key) {
47
- checkInstance(this, 'delete');
48
-
49
- if (!isObject(key)) {
50
- return false;
51
- }
52
-
53
- var entry = key[this._id];
54
- if (entry && entry[0] === key) {
55
- delete key[this._id];
56
- return true;
57
- }
58
-
59
- return false;
60
- });
61
-
62
- // ECMA-262 23.3.3.3 WeakMap.prototype.get(key)
63
- defineProperty(WeakMap.prototype, 'get', function(key) {
64
- checkInstance(this, 'get');
65
-
66
- if (!isObject(key)) {
67
- return void 0;
68
- }
69
-
70
- var entry = key[this._id];
71
- if (entry && entry[0] === key) {
72
- return entry[1];
73
- }
74
-
75
- return void 0;
76
- });
77
-
78
- // ECMA-262 23.3.3.4 WeakMap.prototype.has(key)
79
- defineProperty(WeakMap.prototype, 'has', function(key) {
80
- checkInstance(this, 'has');
81
-
82
- if (!isObject(key)) {
83
- return false;
84
- }
85
-
86
- var entry = key[this._id];
87
- if (entry && entry[0] === key) {
88
- return true;
89
- }
90
-
91
- return false;
92
- });
93
-
94
- // ECMA-262 23.3.3.5 WeakMap.prototype.set(key, value)
95
- defineProperty(WeakMap.prototype, 'set', function(key, value) {
96
- checkInstance(this, 'set');
97
-
98
- if (!isObject(key)) {
99
- throw new TypeError('Invalid value used as weak map key');
100
- }
101
-
102
- var entry = key[this._id];
103
- if (entry && entry[0] === key) {
104
- entry[1] = value;
105
- return this;
106
- }
107
-
108
- defineProperty(key, this._id, [key, value]);
109
- return this;
110
- });
111
-
112
-
113
- function checkInstance(x, methodName) {
114
- if (!isObject(x) || !hasOwnProperty.call(x, '_id')) {
115
- throw new TypeError(
116
- methodName + ' method called on incompatible receiver ' +
117
- typeof x
118
- );
119
- }
120
- }
121
-
122
- function genId(prefix) {
123
- return prefix + '_' + rand() + '.' + rand();
124
- }
125
-
126
- function rand() {
127
- return Math.random().toString().substring(2);
128
- }
129
-
130
-
131
- defineProperty(WeakMap, '_polyfill', true);
132
- return WeakMap;
133
- })();
134
-
135
-
136
- function isObject(x) {
137
- return Object(x) === x;
138
- }
139
-
140
- })(
141
- typeof self !== 'undefined' ? self :
142
- typeof window !== 'undefined' ? window :
143
- typeof global !== 'undefined' ? global : this
144
- );