ember_serialize 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|