ember_serialize 0.0.1 → 0.0.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/lib/ember_serialize.rb +3 -3
- data/lib/ember_serialize/version.rb +1 -1
- data/test/dummy/app/assets/javascripts/models/comment.js.coffee +2 -3
- data/test/dummy/app/assets/javascripts/models/default/comment.js.coffee +1 -2
- data/test/dummy/app/assets/javascripts/models/default/post.js.coffee +1 -3
- data/test/dummy/app/assets/javascripts/models/default/user.js.coffee +1 -2
- data/test/dummy/app/assets/javascripts/models/post.js.coffee +2 -3
- data/test/dummy/app/assets/javascripts/models/tests/async_parse.js.coffee +10 -0
- data/test/dummy/app/assets/javascripts/models/user.js.coffee +0 -1
- data/test/dummy/log/test.log +3582 -0
- data/test/ember_serialize_test.rb +54 -18
- data/test/test_helper.rb +3 -2
- metadata +3 -7
- data/test/dummy/app/controllers/comments_controller.rb +0 -7
- data/test/dummy/app/controllers/posts_controller.rb +0 -7
- data/test/dummy/app/controllers/users_controller.rb +0 -7
@@ -2,15 +2,29 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
class EmberSerializeTest < ActiveSupport::TestCase
|
4
4
|
def setup
|
5
|
+
setup_default_serializer
|
6
|
+
setup_create_serializer
|
7
|
+
end
|
8
|
+
|
9
|
+
def setup_default_serializer
|
10
|
+
return if @serializer
|
5
11
|
Rake::Task.define_task(:environment)
|
6
|
-
@rapp
|
7
|
-
# _, rargs = @rapp.parse_task_string("")
|
12
|
+
@rapp ||= Rake::Application.new
|
8
13
|
@blank_args = Rake::TaskArguments.new([],[])
|
9
|
-
@
|
10
|
-
@
|
11
|
-
|
12
|
-
EmberSerialize::Serializer.javascripts_dir = @jdir
|
14
|
+
@jdir ||= "test/dummy/app/assets/javascripts/"
|
15
|
+
@mdir ||= "#{@jdir}models/"
|
16
|
+
EmberSerialize::Serializer.javascripts_dir ||= @jdir
|
13
17
|
@serializer = EmberSerialize::Serializer.new(@blank_args)
|
18
|
+
end
|
19
|
+
|
20
|
+
def setup_create_serializer
|
21
|
+
return if @create_serializer
|
22
|
+
Rake::Task.define_task(:environment)
|
23
|
+
@rapp ||= Rake::Application.new
|
24
|
+
@create_args = Rake::TaskArguments.new([],[':create'])
|
25
|
+
@jdir ||= "test/dummy/app/assets/javascripts/"
|
26
|
+
@mdir ||= "#{@jdir}models/"
|
27
|
+
EmberSerialize::Serializer.javascripts_dir ||= @jdir
|
14
28
|
@create_serializer = EmberSerialize::Serializer.new(@create_args)
|
15
29
|
end
|
16
30
|
|
@@ -106,7 +120,8 @@ WITHOUTEM
|
|
106
120
|
end
|
107
121
|
|
108
122
|
test "parses model" do
|
109
|
-
|
123
|
+
revert_models
|
124
|
+
match = [["# for more details see: http://emberjs.com/guides/models/defining-models/", "", "EmberSerialize.Post = DS.Model.extend", " # ember_serialize:start", " id: DS.attr('integer'),", " title: DS.attr('string'),", " body: DS.attr('text'),", " comments: DS.hasMany('comments')", " # ember_serialize:end"], 3, 8, {"id"=>" id: DS.attr('integer')", "title"=>" title: DS.attr('string')", "body"=>" body: DS.attr('text')", "comments"=>" comments: DS.hasMany('comments')"}, [], [], true, " "]
|
110
125
|
result = @serializer.ember_model_parse "#{@mdir}post.js.coffee", Post
|
111
126
|
assert_equal match, result, 'ember_model_parse'
|
112
127
|
end
|
@@ -130,65 +145,79 @@ EmberSerialize.Post = DS.Model.extend
|
|
130
145
|
assert_equal match, result, 'ember_model_build'
|
131
146
|
end
|
132
147
|
|
148
|
+
test "serializes match parameter" do
|
149
|
+
clear_models
|
150
|
+
@create_serializer.serialize "Post"
|
151
|
+
assert_equal 1, Dir["#{@mdir}*.js.coffee"].length, "uses match parameter"
|
152
|
+
end
|
153
|
+
|
133
154
|
test "serialize finds existing" do
|
155
|
+
revert_models
|
134
156
|
prep_model 'find_existing', 'post'
|
135
157
|
@serializer.serialize
|
136
158
|
assert_match /find_existing/, read_model('post', /authorDude:/), 'finds existing'
|
137
|
-
revert_models
|
138
159
|
end
|
139
160
|
|
140
161
|
test "serialize ignores outside" do
|
162
|
+
revert_models
|
141
163
|
prep_model 'ignore_outside', 'post'
|
142
164
|
@serializer.serialize
|
143
165
|
assert_match /ignore_outside/, read_model('post', /authorDude:/), 'ignores outside'
|
144
|
-
revert_models
|
145
166
|
end
|
146
167
|
|
147
168
|
test "serialize ignore setting" do
|
169
|
+
revert_models
|
148
170
|
prep_model 'ignore', 'post'
|
149
171
|
@serializer.serialize
|
150
172
|
assert read_model('post', /body:/).nil?, 'ignore setting'
|
151
|
-
revert_models
|
152
173
|
end
|
153
174
|
|
154
175
|
test "serialize as_is setting" do
|
176
|
+
revert_models
|
155
177
|
prep_model 'as_is', 'comment'
|
156
178
|
@serializer.serialize
|
157
179
|
assert_equal " postId: DS.attr('integer'),\n", read_model('comment', /postId:/), 'as_is setting'
|
158
|
-
revert_models
|
159
180
|
end
|
160
181
|
|
161
182
|
test "serialize finds associations" do
|
183
|
+
revert_models
|
162
184
|
File.unlink "#{@mdir}post.js.coffee"
|
163
185
|
@create_serializer.serialize
|
164
|
-
assert_equal " authorDude: DS.belongsTo('user'),\n", read_model('post', /authorDude:/), 'finds associations'
|
165
|
-
revert_models
|
186
|
+
assert_equal " authorDude: DS.belongsTo('user', {async: true}),\n", read_model('post', /authorDude:/), 'finds associations'
|
166
187
|
end
|
167
188
|
|
168
189
|
test "skips or creates models" do
|
190
|
+
revert_models
|
169
191
|
File.unlink "#{@mdir}post.js.coffee"
|
170
192
|
@serializer.serialize
|
171
193
|
assert !File.exists?("#{@mdir}post.js.coffee"), 'skips model'
|
172
194
|
clear_models
|
173
195
|
@create_serializer.serialize
|
174
196
|
assert_equal 3, Dir["#{@mdir}*js.coffee"].length, 'creates models'
|
175
|
-
revert_models
|
176
197
|
end
|
177
198
|
|
178
199
|
test "accepts async argument" do
|
200
|
+
revert_models
|
179
201
|
async_args = Rake::TaskArguments.new([],['async:true'])
|
180
202
|
async_serializer = EmberSerialize::Serializer.new(async_args)
|
181
|
-
# async_serializer.javascripts_dir = @jdir
|
182
|
-
# async_serializer.models_dir = @mdir
|
183
203
|
prep_model 'async', 'post'
|
184
204
|
async_serializer.serialize
|
185
205
|
lines = read_model('post')
|
186
|
-
assert lines.grep(/#{async_serializer.
|
206
|
+
assert lines.grep(/#{async_serializer.eas}/).first.nil?, 'async:true leaves no setting'
|
187
207
|
assert_match /async: true/, lines.grep(/authorDude:/).first, 'accepts async arg'
|
208
|
+
end
|
209
|
+
|
210
|
+
test "parses async argument" do
|
188
211
|
revert_models
|
212
|
+
prep_model 'async_parse', 'post'
|
213
|
+
@serializer.serialize
|
214
|
+
lines = read_model('post')
|
215
|
+
assert !lines.grep(/#{@serializer.eas} false/).first.nil?, 'ember_serializer:async false stays'
|
216
|
+
assert_no_match /async: true/, lines.grep(/authorDude:/).first, 'parses async arg'
|
189
217
|
end
|
190
218
|
|
191
219
|
test "accepts engine argument" do
|
220
|
+
revert_models
|
192
221
|
# engine serializer
|
193
222
|
engine_args = Rake::TaskArguments.new([],[':create','engine:em'])
|
194
223
|
engine_serializer = EmberSerialize::Serializer.new(engine_args)
|
@@ -220,6 +249,13 @@ EmberSerialize.Post = DS.Model.extend
|
|
220
249
|
default_serializer.serialize
|
221
250
|
# serialize should detect coffee and restore missing post
|
222
251
|
assert_equal 3, Dir["#{@mdir}*js.coffee"].length, 'detects coffee engine type'
|
223
|
-
|
252
|
+
end
|
253
|
+
|
254
|
+
test "makes model directory" do
|
255
|
+
FileUtils.mv @mdir, "#{@jdir}models_aside"
|
256
|
+
some_serializer = EmberSerialize::Serializer.new(@blank_args)
|
257
|
+
assert File.exists?(@mdir), "makes model directory"
|
258
|
+
FileUtils.rm_r @mdir
|
259
|
+
FileUtils.mv "#{@jdir}models_aside", @mdir
|
224
260
|
end
|
225
261
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear!
|
3
|
+
|
1
4
|
# Configure Rails Environment
|
2
5
|
ENV["RAILS_ENV"] = "test"
|
3
6
|
|
@@ -7,8 +10,6 @@ require 'active_model_serializers'
|
|
7
10
|
require 'rake'
|
8
11
|
require 'fileutils'
|
9
12
|
require 'pry'
|
10
|
-
require 'coveralls'
|
11
|
-
Coveralls.wear!
|
12
13
|
|
13
14
|
Rails.backtrace_cleaner.remove_silencers!
|
14
15
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ember_serialize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Noel Peden
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- test/dummy/app/assets/javascripts/models/post.js.coffee
|
119
119
|
- test/dummy/app/assets/javascripts/models/tests/as_is.js.coffee
|
120
120
|
- test/dummy/app/assets/javascripts/models/tests/async.js.coffee
|
121
|
+
- test/dummy/app/assets/javascripts/models/tests/async_parse.js.coffee
|
121
122
|
- test/dummy/app/assets/javascripts/models/tests/find_existing.js.coffee
|
122
123
|
- test/dummy/app/assets/javascripts/models/tests/ignore.js.coffee
|
123
124
|
- test/dummy/app/assets/javascripts/models/tests/ignore_outside.js.coffee
|
@@ -125,9 +126,6 @@ files:
|
|
125
126
|
- test/dummy/app/assets/stylesheets/application.css
|
126
127
|
- test/dummy/app/assets/stylesheets/scaffold.css
|
127
128
|
- test/dummy/app/controllers/application_controller.rb
|
128
|
-
- test/dummy/app/controllers/comments_controller.rb
|
129
|
-
- test/dummy/app/controllers/posts_controller.rb
|
130
|
-
- test/dummy/app/controllers/users_controller.rb
|
131
129
|
- test/dummy/app/helpers/application_helper.rb
|
132
130
|
- test/dummy/app/models/comment.rb
|
133
131
|
- test/dummy/app/models/post.rb
|
@@ -209,6 +207,7 @@ test_files:
|
|
209
207
|
- test/dummy/app/assets/javascripts/models/post.js.coffee
|
210
208
|
- test/dummy/app/assets/javascripts/models/tests/as_is.js.coffee
|
211
209
|
- test/dummy/app/assets/javascripts/models/tests/async.js.coffee
|
210
|
+
- test/dummy/app/assets/javascripts/models/tests/async_parse.js.coffee
|
212
211
|
- test/dummy/app/assets/javascripts/models/tests/find_existing.js.coffee
|
213
212
|
- test/dummy/app/assets/javascripts/models/tests/ignore.js.coffee
|
214
213
|
- test/dummy/app/assets/javascripts/models/tests/ignore_outside.js.coffee
|
@@ -216,9 +215,6 @@ test_files:
|
|
216
215
|
- test/dummy/app/assets/stylesheets/application.css
|
217
216
|
- test/dummy/app/assets/stylesheets/scaffold.css
|
218
217
|
- test/dummy/app/controllers/application_controller.rb
|
219
|
-
- test/dummy/app/controllers/comments_controller.rb
|
220
|
-
- test/dummy/app/controllers/posts_controller.rb
|
221
|
-
- test/dummy/app/controllers/users_controller.rb
|
222
218
|
- test/dummy/app/helpers/application_helper.rb
|
223
219
|
- test/dummy/app/models/comment.rb
|
224
220
|
- test/dummy/app/models/post.rb
|