decidim-dev 0.7.2 → 0.7.3

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 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
- );