upjs-rails 0.17.0 → 0.18.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +46 -1
- data/dist/up.js +929 -374
- data/dist/up.min.js +2 -2
- data/lib/assets/javascripts/up/browser.js.coffee +31 -14
- data/lib/assets/javascripts/up/bus.js.coffee +87 -22
- data/lib/assets/javascripts/up/flow.js.coffee +119 -43
- data/lib/assets/javascripts/up/form.js.coffee +188 -57
- data/lib/assets/javascripts/up/link.js.coffee +57 -21
- data/lib/assets/javascripts/up/modal.js.coffee +77 -63
- data/lib/assets/javascripts/up/motion.js.coffee +10 -9
- data/lib/assets/javascripts/up/popup.js.coffee +54 -40
- data/lib/assets/javascripts/up/proxy.js.coffee +46 -17
- data/lib/assets/javascripts/up/rails.js.coffee +22 -4
- data/lib/assets/javascripts/up/syntax.js.coffee +2 -2
- data/lib/assets/javascripts/up/util.js.coffee +100 -16
- data/lib/upjs/rails/inspector.rb +3 -3
- data/lib/upjs/rails/version.rb +1 -1
- data/spec_app/Gemfile.lock +1 -4
- data/spec_app/app/controllers/test_controller.rb +2 -2
- data/spec_app/spec/controllers/test_controller_spec.rb +5 -5
- data/spec_app/spec/javascripts/helpers/browser_switches.js.coffee +9 -0
- data/spec_app/spec/javascripts/helpers/knife.js.coffee +0 -1
- data/spec_app/spec/javascripts/helpers/reset_path.js.coffee +4 -5
- data/spec_app/spec/javascripts/helpers/to_be_present.js.coffee +5 -0
- data/spec_app/spec/javascripts/helpers/to_have_request_method.js.coffee +8 -0
- data/spec_app/spec/javascripts/up/bus_spec.js.coffee +26 -0
- data/spec_app/spec/javascripts/up/flow_spec.js.coffee +203 -91
- data/spec_app/spec/javascripts/up/form_spec.js.coffee +244 -49
- data/spec_app/spec/javascripts/up/history_spec.js.coffee +8 -2
- data/spec_app/spec/javascripts/up/link_spec.js.coffee +83 -30
- data/spec_app/spec/javascripts/up/modal_spec.js.coffee +23 -17
- data/spec_app/spec/javascripts/up/motion_spec.js.coffee +4 -4
- data/spec_app/spec/javascripts/up/navigation_spec.js.coffee +1 -1
- data/spec_app/spec/javascripts/up/popup_spec.js.coffee +26 -16
- data/spec_app/spec/javascripts/up/proxy_spec.js.coffee +45 -13
- data/spec_app/spec/javascripts/up/rails_spec.js.coffee +48 -0
- data/spec_app/spec/javascripts/up/util_spec.js.coffee +48 -0
- metadata +5 -2
@@ -51,3 +51,51 @@ describe 'up.rails', ->
|
|
51
51
|
$element = affix("span[#{upAttribute}][data-method=\"put\"]")
|
52
52
|
up.hello($element)
|
53
53
|
expect($element.attr('data-method')).toEqual('put')
|
54
|
+
|
55
|
+
describe '[data-confirm]', ->
|
56
|
+
|
57
|
+
beforeEach ->
|
58
|
+
@oldRails = $.rails
|
59
|
+
|
60
|
+
afterEach ->
|
61
|
+
$.rails = @oldRails
|
62
|
+
|
63
|
+
describe 'when Rails UJS is loaded', ->
|
64
|
+
|
65
|
+
beforeEach ->
|
66
|
+
$.rails = {}
|
67
|
+
|
68
|
+
u.each upAttributes, (upAttribute) ->
|
69
|
+
describe "on an [#{upAttribute}] element", ->
|
70
|
+
|
71
|
+
it "is transformed to an up-confirm attribute so the element isn't handled a second time by Rails UJS", ->
|
72
|
+
$element = affix("span[#{upAttribute}][data-confirm=\"Really?\"]")
|
73
|
+
up.hello($element)
|
74
|
+
expect($element.attr('data-confirm')).toBeUndefined()
|
75
|
+
expect($element.attr('up-confirm')).toEqual('Really?')
|
76
|
+
|
77
|
+
it "does not overwrite an existing up-confirm attribute, but gets deleted", ->
|
78
|
+
$element = affix("span[#{upAttribute}][up-confirm=\"Seriously?\"][data-confirm=\"Really?\"]")
|
79
|
+
up.hello($element)
|
80
|
+
expect($element.attr('data-confirm')).toBeUndefined()
|
81
|
+
expect($element.attr('up-confirm')).toEqual('Seriously?')
|
82
|
+
|
83
|
+
describe 'on an element without Up.js attributes', ->
|
84
|
+
|
85
|
+
it "is not changed", ->
|
86
|
+
$element = affix("span[data-confirm=\"Really?\"]")
|
87
|
+
up.hello($element)
|
88
|
+
expect($element.attr('data-confirm')).toEqual('Really?')
|
89
|
+
|
90
|
+
describe 'when Rails UJS is not loaded', ->
|
91
|
+
|
92
|
+
beforeEach ->
|
93
|
+
$.rails = undefined
|
94
|
+
|
95
|
+
u.each upAttributes, (upAttribute) ->
|
96
|
+
describe "on an [#{upAttribute}] element", ->
|
97
|
+
|
98
|
+
it "is not changed", ->
|
99
|
+
$element = affix("span[#{upAttribute}][data-confirm=\"Really?\"]")
|
100
|
+
up.hello($element)
|
101
|
+
expect($element.attr('data-confirm')).toEqual('Really?')
|
@@ -8,6 +8,44 @@ describe 'up.util', ->
|
|
8
8
|
# fun = ($element, data) ->
|
9
9
|
# expect(up.util.argNames(fun)).toEqual(['$element', 'data'])
|
10
10
|
|
11
|
+
describe 'up.util.only', ->
|
12
|
+
|
13
|
+
it 'returns a copy of the given object with only the given whitelisted properties', ->
|
14
|
+
original =
|
15
|
+
foo: 'foo-value'
|
16
|
+
bar: 'bar-value'
|
17
|
+
baz: 'baz-value'
|
18
|
+
bam: 'bam-value'
|
19
|
+
whitelisted = up.util.only(original, 'bar', 'bam')
|
20
|
+
expect(whitelisted).toEqual
|
21
|
+
bar: 'bar-value'
|
22
|
+
bam: 'bam-value'
|
23
|
+
# Show that original did not change
|
24
|
+
expect(original).toEqual
|
25
|
+
foo: 'foo-value'
|
26
|
+
bar: 'bar-value'
|
27
|
+
baz: 'baz-value'
|
28
|
+
bam: 'bam-value'
|
29
|
+
|
30
|
+
describe 'up.util.except', ->
|
31
|
+
|
32
|
+
it 'returns a copy of the given object but omits the given blacklisted properties', ->
|
33
|
+
original =
|
34
|
+
foo: 'foo-value'
|
35
|
+
bar: 'bar-value'
|
36
|
+
baz: 'baz-value'
|
37
|
+
bam: 'bam-value'
|
38
|
+
whitelisted = up.util.except(original, 'foo', 'baz')
|
39
|
+
expect(whitelisted).toEqual
|
40
|
+
bar: 'bar-value'
|
41
|
+
bam: 'bam-value'
|
42
|
+
# Show that original did not change
|
43
|
+
expect(original).toEqual
|
44
|
+
foo: 'foo-value'
|
45
|
+
bar: 'bar-value'
|
46
|
+
baz: 'baz-value'
|
47
|
+
bam: 'bam-value'
|
48
|
+
|
11
49
|
describe 'up.util.selectorForElement', ->
|
12
50
|
|
13
51
|
it "prefers using the element's 'up-id' attribute to using the element's ID", ->
|
@@ -131,3 +169,13 @@ describe 'up.util', ->
|
|
131
169
|
object.b = 2
|
132
170
|
object.reset()
|
133
171
|
expect(object.reset).toBeDefined()
|
172
|
+
|
173
|
+
describe 'up.util.requestDataAsQueryString', ->
|
174
|
+
|
175
|
+
it 'returns the query section for the given object, including the question mark', ->
|
176
|
+
string = up.util.requestDataAsQueryString('foo-key': 'foo value', 'bar-key': 'bar value')
|
177
|
+
expect(string).toEqual('?foo-key=foo%20value&bar-key=bar%20value')
|
178
|
+
|
179
|
+
it 'returns an empty string', ->
|
180
|
+
string = up.util.requestDataAsQueryString({})
|
181
|
+
expect(string).toEqual('')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: upjs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henning Koch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -190,6 +190,7 @@ files:
|
|
190
190
|
- spec_app/script/cucumber
|
191
191
|
- spec_app/spec/controllers/test_controller_spec.rb
|
192
192
|
- spec_app/spec/javascripts/helpers/append_fixture.js.coffee
|
193
|
+
- spec_app/spec/javascripts/helpers/browser_switches.js.coffee
|
193
194
|
- spec_app/spec/javascripts/helpers/index.js.coffee
|
194
195
|
- spec_app/spec/javascripts/helpers/knife.js.coffee
|
195
196
|
- spec_app/spec/javascripts/helpers/last_request.js.coffee
|
@@ -202,8 +203,10 @@ files:
|
|
202
203
|
- spec_app/spec/javascripts/helpers/restore_body_scroll.js.coffee
|
203
204
|
- spec_app/spec/javascripts/helpers/set_timer.js.coffee
|
204
205
|
- spec_app/spec/javascripts/helpers/to_be_around.js.coffee
|
206
|
+
- spec_app/spec/javascripts/helpers/to_be_present.js.coffee
|
205
207
|
- spec_app/spec/javascripts/helpers/to_end_with.js.coffee
|
206
208
|
- spec_app/spec/javascripts/helpers/to_equal_jquery.js.coffee
|
209
|
+
- spec_app/spec/javascripts/helpers/to_have_request_method.js.coffee
|
207
210
|
- spec_app/spec/javascripts/helpers/trigger.js.coffee
|
208
211
|
- spec_app/spec/javascripts/support/jasmine.yml
|
209
212
|
- spec_app/spec/javascripts/up/bus_spec.js.coffee
|