canvas_cc 0.0.1

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.
Files changed (167) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/canvas_cc.gemspec +37 -0
  8. data/lib/canvas_cc/canvas/assessment.rb +124 -0
  9. data/lib/canvas_cc/canvas/assignment.rb +98 -0
  10. data/lib/canvas_cc/canvas/converter.rb +30 -0
  11. data/lib/canvas_cc/canvas/course.rb +143 -0
  12. data/lib/canvas_cc/canvas/discussion_topic.rb +64 -0
  13. data/lib/canvas_cc/canvas/label.rb +8 -0
  14. data/lib/canvas_cc/canvas/question.rb +492 -0
  15. data/lib/canvas_cc/canvas/question_bank.rb +57 -0
  16. data/lib/canvas_cc/canvas/question_group.rb +35 -0
  17. data/lib/canvas_cc/canvas/resource.rb +16 -0
  18. data/lib/canvas_cc/canvas/templates/assignment.html.erb +9 -0
  19. data/lib/canvas_cc/canvas/templates/syllabus.html.erb +9 -0
  20. data/lib/canvas_cc/canvas/templates/wiki_content.html.erb +10 -0
  21. data/lib/canvas_cc/canvas/web_content.rb +15 -0
  22. data/lib/canvas_cc/canvas/web_link.rb +16 -0
  23. data/lib/canvas_cc/canvas/wiki.rb +26 -0
  24. data/lib/canvas_cc/canvas_cc/assessment_writer.rb +82 -0
  25. data/lib/canvas_cc/canvas_cc/assignment_group_writer.rb +48 -0
  26. data/lib/canvas_cc/canvas_cc/assignment_writer.rb +68 -0
  27. data/lib/canvas_cc/canvas_cc/calculated_question_writer.rb +72 -0
  28. data/lib/canvas_cc/canvas_cc/canvas_export_writer.rb +18 -0
  29. data/lib/canvas_cc/canvas_cc/cartridge_creator.rb +60 -0
  30. data/lib/canvas_cc/canvas_cc/course_setting_writer.rb +35 -0
  31. data/lib/canvas_cc/canvas_cc/discussion_writer.rb +52 -0
  32. data/lib/canvas_cc/canvas_cc/essay_question_writer.rb +19 -0
  33. data/lib/canvas_cc/canvas_cc/file_meta_writer.rb +38 -0
  34. data/lib/canvas_cc/canvas_cc/ims_manifest_generator.rb +123 -0
  35. data/lib/canvas_cc/canvas_cc/matching_question_writer.rb +43 -0
  36. data/lib/canvas_cc/canvas_cc/models/answer.rb +12 -0
  37. data/lib/canvas_cc/canvas_cc/models/assessment.rb +102 -0
  38. data/lib/canvas_cc/canvas_cc/models/assignment.rb +30 -0
  39. data/lib/canvas_cc/canvas_cc/models/assignment_group.rb +9 -0
  40. data/lib/canvas_cc/canvas_cc/models/calculated_question.rb +19 -0
  41. data/lib/canvas_cc/canvas_cc/models/canvas_file.rb +22 -0
  42. data/lib/canvas_cc/canvas_cc/models/canvas_module.rb +10 -0
  43. data/lib/canvas_cc/canvas_cc/models/course.rb +53 -0
  44. data/lib/canvas_cc/canvas_cc/models/discussion.rb +36 -0
  45. data/lib/canvas_cc/canvas_cc/models/discussion_topic.rb +5 -0
  46. data/lib/canvas_cc/canvas_cc/models/matching_question.rb +7 -0
  47. data/lib/canvas_cc/canvas_cc/models/module_item.rb +16 -0
  48. data/lib/canvas_cc/canvas_cc/models/multiple_dropdowns_question.rb +7 -0
  49. data/lib/canvas_cc/canvas_cc/models/numerical_question.rb +7 -0
  50. data/lib/canvas_cc/canvas_cc/models/page.rb +41 -0
  51. data/lib/canvas_cc/canvas_cc/models/question.rb +37 -0
  52. data/lib/canvas_cc/canvas_cc/models/question_bank.rb +42 -0
  53. data/lib/canvas_cc/canvas_cc/models/question_group.rb +10 -0
  54. data/lib/canvas_cc/canvas_cc/models/resource.rb +23 -0
  55. data/lib/canvas_cc/canvas_cc/models/web_content.rb +7 -0
  56. data/lib/canvas_cc/canvas_cc/models/web_link.rb +7 -0
  57. data/lib/canvas_cc/canvas_cc/models/workflow_state.rb +6 -0
  58. data/lib/canvas_cc/canvas_cc/module_meta_writer.rb +52 -0
  59. data/lib/canvas_cc/canvas_cc/multiple_answers_question_writer.rb +41 -0
  60. data/lib/canvas_cc/canvas_cc/multiple_blanks_question_writer.rb +51 -0
  61. data/lib/canvas_cc/canvas_cc/multiple_choice_question_writer.rb +48 -0
  62. data/lib/canvas_cc/canvas_cc/multiple_dropdowns_question_writer.rb +30 -0
  63. data/lib/canvas_cc/canvas_cc/numerical_question_writer.rb +40 -0
  64. data/lib/canvas_cc/canvas_cc/page_writer.rb +38 -0
  65. data/lib/canvas_cc/canvas_cc/question_bank_writer.rb +44 -0
  66. data/lib/canvas_cc/canvas_cc/question_group_writer.rb +23 -0
  67. data/lib/canvas_cc/canvas_cc/question_writer.rb +129 -0
  68. data/lib/canvas_cc/canvas_cc/short_answer_question_writer.rb +42 -0
  69. data/lib/canvas_cc/canvas_cc/text_only_question_writer.rb +19 -0
  70. data/lib/canvas_cc/canvas_cc/true_false_question_writer.rb +38 -0
  71. data/lib/canvas_cc/cc/assessment.rb +25 -0
  72. data/lib/canvas_cc/cc/assignment.rb +61 -0
  73. data/lib/canvas_cc/cc/cc_helper.rb +285 -0
  74. data/lib/canvas_cc/cc/converter.rb +137 -0
  75. data/lib/canvas_cc/cc/course.rb +16 -0
  76. data/lib/canvas_cc/cc/discussion_topic.rb +53 -0
  77. data/lib/canvas_cc/cc/label.rb +6 -0
  78. data/lib/canvas_cc/cc/question.rb +23 -0
  79. data/lib/canvas_cc/cc/resource.rb +30 -0
  80. data/lib/canvas_cc/cc/templates/assignment.html.erb +13 -0
  81. data/lib/canvas_cc/cc/templates/syllabus.html.erb +9 -0
  82. data/lib/canvas_cc/cc/templates/wiki_content.html.erb +10 -0
  83. data/lib/canvas_cc/cc/web_content.rb +48 -0
  84. data/lib/canvas_cc/cc/web_link.rb +75 -0
  85. data/lib/canvas_cc/cc/wiki.rb +73 -0
  86. data/lib/canvas_cc/version.rb +3 -0
  87. data/lib/canvas_cc.rb +94 -0
  88. data/spec/moodle2cc/canvas_cc/assessment_writer_spec.rb +95 -0
  89. data/spec/moodle2cc/canvas_cc/assignment_group_writer_spec.rb +51 -0
  90. data/spec/moodle2cc/canvas_cc/assignment_writer_spec.rb +74 -0
  91. data/spec/moodle2cc/canvas_cc/calculated_question_writer_spec.rb +88 -0
  92. data/spec/moodle2cc/canvas_cc/canvas_export_writer_spec.rb +26 -0
  93. data/spec/moodle2cc/canvas_cc/cartridge_creator_spec.rb +50 -0
  94. data/spec/moodle2cc/canvas_cc/course_setting_writer_spec.rb +47 -0
  95. data/spec/moodle2cc/canvas_cc/discussion_writer_spec.rb +38 -0
  96. data/spec/moodle2cc/canvas_cc/essay_question_writer_spec.rb +31 -0
  97. data/spec/moodle2cc/canvas_cc/file_meta_writer_spec.rb +57 -0
  98. data/spec/moodle2cc/canvas_cc/ims_manifest_generator_spec.rb +141 -0
  99. data/spec/moodle2cc/canvas_cc/matching_question_writer_spec.rb +51 -0
  100. data/spec/moodle2cc/canvas_cc/models/assessment_spec.rb +131 -0
  101. data/spec/moodle2cc/canvas_cc/models/assignment_group_spec.rb +9 -0
  102. data/spec/moodle2cc/canvas_cc/models/assignment_spec.rb +45 -0
  103. data/spec/moodle2cc/canvas_cc/models/calculated_question_spec.rb +25 -0
  104. data/spec/moodle2cc/canvas_cc/models/canvas_file_spec.rb +23 -0
  105. data/spec/moodle2cc/canvas_cc/models/canvas_module_spec.rb +16 -0
  106. data/spec/moodle2cc/canvas_cc/models/course_spec.rb +43 -0
  107. data/spec/moodle2cc/canvas_cc/models/discussion_spec.rb +47 -0
  108. data/spec/moodle2cc/canvas_cc/models/discussion_topic_spec.rb +7 -0
  109. data/spec/moodle2cc/canvas_cc/models/module_item_spec.rb +15 -0
  110. data/spec/moodle2cc/canvas_cc/models/page_spec.rb +34 -0
  111. data/spec/moodle2cc/canvas_cc/models/question_spec.rb +8 -0
  112. data/spec/moodle2cc/canvas_cc/models/resource_spec.rb +17 -0
  113. data/spec/moodle2cc/canvas_cc/models/web_content_spec.rb +7 -0
  114. data/spec/moodle2cc/canvas_cc/models/web_link_spec.rb +9 -0
  115. data/spec/moodle2cc/canvas_cc/module_meta_writer_spec.rb +118 -0
  116. data/spec/moodle2cc/canvas_cc/multiple_answers_question_writer_spec.rb +50 -0
  117. data/spec/moodle2cc/canvas_cc/multiple_blanks_question_writer_spec.rb +77 -0
  118. data/spec/moodle2cc/canvas_cc/multiple_choice_question_writer_spec.rb +69 -0
  119. data/spec/moodle2cc/canvas_cc/multiple_dropdowns_question_writer_spec.rb +46 -0
  120. data/spec/moodle2cc/canvas_cc/numerical_question_writer_spec.rb +69 -0
  121. data/spec/moodle2cc/canvas_cc/page_writer_spec.rb +29 -0
  122. data/spec/moodle2cc/canvas_cc/question_bank_writer_spec.rb +43 -0
  123. data/spec/moodle2cc/canvas_cc/question_writer_spec.rb +129 -0
  124. data/spec/moodle2cc/canvas_cc/short_answer_question_writer_spec.rb +50 -0
  125. data/spec/moodle2cc/canvas_cc/text_only_question_writer_spec.rb +23 -0
  126. data/spec/moodle2cc/canvas_cc/true_false_question_writer_spec.rb +62 -0
  127. data/spec/spec_helper.rb +12 -0
  128. data/spec/support/shared_examples_for_models.rb +26 -0
  129. data/test/acceptance/migrator_test.rb +24 -0
  130. data/test/fixtures/cc.imscc +0 -0
  131. data/test/fixtures/common_cartridge/ims_manifest_simple.xml +45 -0
  132. data/test/fixtures/common_cartridge/schema/cccv1p0.xsd +563 -0
  133. data/test/fixtures/common_cartridge/schema/ccv1p1_imsccauth_v1p1.xsd +203 -0
  134. data/test/fixtures/common_cartridge/schema/ccv1p1_imscp_v1p2_v1p0.xsd +827 -0
  135. data/test/fixtures/common_cartridge/schema/ccv1p1_lommanifest_v1p0.xsd +822 -0
  136. data/test/fixtures/common_cartridge/schema/ccv1p1_lomresource_v1p0.xsd +273 -0
  137. data/test/fixtures/common_cartridge/schema/xml.xsd +286 -0
  138. data/test/test_helper.rb +71 -0
  139. data/test/test_question_helper.rb +122 -0
  140. data/test/test_wiki_helper.rb +21 -0
  141. data/test/unit/canvas/assessment_test.rb +261 -0
  142. data/test/unit/canvas/assignment_test.rb +220 -0
  143. data/test/unit/canvas/converter_test.rb +171 -0
  144. data/test/unit/canvas/course_test.rb +176 -0
  145. data/test/unit/canvas/discussion_topic_test.rb +129 -0
  146. data/test/unit/canvas/label_test.rb +32 -0
  147. data/test/unit/canvas/question_bank_test.rb +92 -0
  148. data/test/unit/canvas/question_group_test.rb +90 -0
  149. data/test/unit/canvas/question_test.rb +876 -0
  150. data/test/unit/canvas/web_content_test.rb +46 -0
  151. data/test/unit/canvas/web_link_test.rb +48 -0
  152. data/test/unit/canvas/wiki_test.rb +74 -0
  153. data/test/unit/cc/assessment_test.rb +48 -0
  154. data/test/unit/cc/assignment_test.rb +72 -0
  155. data/test/unit/cc/cc_helper_test.rb +19 -0
  156. data/test/unit/cc/converter_test.rb +173 -0
  157. data/test/unit/cc/course_test.rb +36 -0
  158. data/test/unit/cc/discussion_topic_test.rb +83 -0
  159. data/test/unit/cc/label_test.rb +29 -0
  160. data/test/unit/cc/question_test.rb +54 -0
  161. data/test/unit/cc/web_content_test.rb +76 -0
  162. data/test/unit/cc/web_link_test.rb +159 -0
  163. data/test/unit/cc/wiki_test.rb +139 -0
  164. data/test/unit/logger_test.rb +33 -0
  165. data/test/unit/migrator_test.rb +67 -0
  166. data/test/unit/resource_factory_test.rb +216 -0
  167. metadata +499 -0
@@ -0,0 +1,216 @@
1
+ require 'minitest/autorun'
2
+ require 'test_helper'
3
+ require 'moodle2cc'
4
+
5
+ class TestUnitCCResource < MiniTest::Unit::TestCase
6
+ include TestHelper
7
+
8
+ def setup
9
+ @cc_factory = CanvasCc::ResourceFactory.new CanvasCc::CC
10
+ @canvas_factory = CanvasCc::ResourceFactory.new CanvasCc::Canvas
11
+ convert_moodle_backup
12
+ end
13
+
14
+ def teardown
15
+ clean_tmp_folder
16
+ end
17
+
18
+ def test_it_can_get_assessment_resource
19
+ mod = @backup.course.mods.find { |m| m.mod_type == "quiz" }
20
+ resource = @cc_factory.get_resource_from_mod(mod)
21
+ assert_kind_of CanvasCc::CC::Assessment, resource
22
+
23
+ resource = @canvas_factory.get_resource_from_mod(mod)
24
+ assert_kind_of CanvasCc::Canvas::Assessment, resource
25
+ end
26
+
27
+ def test_it_can_get_assignment_resource
28
+ mod = @backup.course.mods.find { |m| m.mod_type == "assignment" }
29
+ resource = @cc_factory.get_resource_from_mod(mod)
30
+ assert_kind_of CanvasCc::CC::Assignment, resource
31
+
32
+ resource = @canvas_factory.get_resource_from_mod(mod)
33
+ assert_kind_of CanvasCc::Canvas::Assignment, resource
34
+ end
35
+
36
+ def test_it_can_get_discussion_topic_resource
37
+ mod = @backup.course.mods.find { |m| m.mod_type == "forum" }
38
+ resource = @cc_factory.get_resource_from_mod(mod)
39
+ assert_kind_of CanvasCc::CC::DiscussionTopic, resource
40
+
41
+ resource = @canvas_factory.get_resource_from_mod(mod)
42
+ assert_kind_of CanvasCc::Canvas::DiscussionTopic, resource
43
+
44
+ mod = @backup.course.mods.find { |m| m.mod_type == "hsuforum" }
45
+ resource = @cc_factory.get_resource_from_mod(mod)
46
+ assert_kind_of CanvasCc::CC::DiscussionTopic, resource
47
+
48
+ resource = @canvas_factory.get_resource_from_mod(mod)
49
+ assert_kind_of CanvasCc::Canvas::DiscussionTopic, resource
50
+ end
51
+
52
+ def test_it_can_get_web_content_resource_from_text_resource
53
+ mod = @backup.course.mods.find { |m| m.mod_type == "resource" }
54
+ mod.type = 'text'
55
+ resource = @cc_factory.get_resource_from_mod(mod)
56
+ assert_kind_of CanvasCc::CC::WebContent, resource
57
+
58
+ resource = @canvas_factory.get_resource_from_mod(mod)
59
+ assert_kind_of CanvasCc::Canvas::WebContent, resource
60
+ end
61
+
62
+ def test_it_can_get_web_content_resource_from_html_resource
63
+ mod = @backup.course.mods.find { |m| m.mod_type == "resource" }
64
+ mod.type = 'html'
65
+ resource = @cc_factory.get_resource_from_mod(mod)
66
+ assert_kind_of CanvasCc::CC::WebContent, resource
67
+
68
+ resource = @canvas_factory.get_resource_from_mod(mod)
69
+ assert_kind_of CanvasCc::Canvas::WebContent, resource
70
+ end
71
+
72
+ def test_it_can_get_web_content_resource_from_file_resource_with_summary
73
+ mod = @backup.course.mods.find { |m| m.mod_type == "resource" && (!m.summary.nil? && m.summary.length != 0)}
74
+ mod.type = 'file'
75
+ resource = @cc_factory.get_resource_from_mod(mod)
76
+ assert_kind_of CanvasCc::CC::WebContent, resource
77
+
78
+ resource = @canvas_factory.get_resource_from_mod(mod)
79
+ assert_kind_of CanvasCc::Canvas::WebContent, resource
80
+ end
81
+
82
+ def test_it_can_get_web_link_resource
83
+ mod = @backup.course.mods.find { |m| m.mod_type == "resource" && (m.summary.nil? || m.summary.length == 0) }
84
+ mod.type = 'file'
85
+ resource = @cc_factory.get_resource_from_mod(mod)
86
+ assert_kind_of CanvasCc::CC::WebLink, resource
87
+
88
+ resource = @canvas_factory.get_resource_from_mod(mod)
89
+ assert_kind_of CanvasCc::Canvas::WebLink, resource
90
+ end
91
+
92
+ def test_it_can_get_wiki_resource
93
+ mod = @backup.course.mods.find { |m| m.mod_type == "wiki" }
94
+ resource = @cc_factory.get_resource_from_mod(mod)
95
+ assert_kind_of CanvasCc::CC::Wiki, resource
96
+
97
+ resource = @canvas_factory.get_resource_from_mod(mod)
98
+ assert_kind_of CanvasCc::Canvas::Wiki, resource
99
+ end
100
+
101
+ def test_it_can_get_label_resource
102
+ mod = @backup.course.mods.find { |m| m.mod_type == "label" }
103
+ resource = @cc_factory.get_resource_from_mod(mod)
104
+ assert_kind_of CanvasCc::CC::Label, resource
105
+
106
+ resource = @canvas_factory.get_resource_from_mod(mod)
107
+ assert_kind_of CanvasCc::Canvas::Label, resource
108
+ end
109
+
110
+ def test_it_can_get_label_resource_from_summary_mod
111
+ mod = @backup.course.mods.find { |m| m.mod_type == "summary" }
112
+ resource = @cc_factory.get_resource_from_mod(mod)
113
+ assert_kind_of CanvasCc::CC::Label, resource
114
+
115
+ resource = @canvas_factory.get_resource_from_mod(mod)
116
+ assert_kind_of CanvasCc::Canvas::Label, resource
117
+ end
118
+
119
+ def test_it_can_get_web_content_resource_from_label_mod_with_img_tag
120
+ mod = @backup.course.mods.find { |m| m.mod_type == "label" }
121
+ mod.content = %(<img src="http://image.com/image.jpg" />")
122
+ resource = @cc_factory.get_resource_from_mod(mod)
123
+ assert_kind_of CanvasCc::CC::WebContent, resource
124
+
125
+ resource = @canvas_factory.get_resource_from_mod(mod)
126
+ assert_kind_of CanvasCc::Canvas::WebContent, resource
127
+ end
128
+
129
+ def test_it_can_get_web_content_resource_from_label_mod_with_an_a_tag
130
+ mod = @backup.course.mods.find { |m| m.mod_type == "label" }
131
+ mod.content = %(<a href="http://www.google.com">Google</a>")
132
+ resource = @cc_factory.get_resource_from_mod(mod)
133
+ assert_kind_of CanvasCc::CC::WebContent, resource
134
+
135
+ resource = @canvas_factory.get_resource_from_mod(mod)
136
+ assert_kind_of CanvasCc::Canvas::WebContent, resource
137
+ end
138
+
139
+ def test_it_can_get_label_resource_from_label_mod_with_an_a_tag_with_no_href
140
+ mod = @backup.course.mods.find { |m| m.mod_type == "label" }
141
+ mod.content = %(<a name="Google">Google</a>")
142
+ resource = @cc_factory.get_resource_from_mod(mod)
143
+ assert_kind_of CanvasCc::CC::Label, resource
144
+
145
+ resource = @canvas_factory.get_resource_from_mod(mod)
146
+ assert_kind_of CanvasCc::Canvas::Label, resource
147
+ end
148
+
149
+ def test_it_can_get_web_content_resource_from_label_mod_with_an_iframe
150
+ mod = @backup.course.mods.find { |m| m.mod_type == "label" }
151
+ mod.content = %(<iframe src="http://www.google.com"></iframe>)
152
+ resource = @cc_factory.get_resource_from_mod(mod)
153
+ assert_kind_of CanvasCc::CC::WebContent, resource
154
+
155
+ resource = @canvas_factory.get_resource_from_mod(mod)
156
+ assert_kind_of CanvasCc::Canvas::WebContent, resource
157
+ end
158
+
159
+ def test_it_can_get_web_content_resource_from_label_mod_with_a_lot_of_text
160
+ mod = @backup.course.mods.find { |m| m.mod_type == "label" }
161
+ mod.content = %(
162
+ <p>
163
+ I will always test my code,
164
+ I will always test my code,
165
+ I will always test my code
166
+ </p>)
167
+ resource = @cc_factory.get_resource_from_mod(mod)
168
+ assert_kind_of CanvasCc::CC::WebContent, resource
169
+
170
+ resource = @canvas_factory.get_resource_from_mod(mod)
171
+ assert_kind_of CanvasCc::Canvas::WebContent, resource
172
+ end
173
+
174
+ def test_it_can_get_label_resource_from_label_mod_with_minimal_html
175
+ mod = @backup.course.mods.find { |m| m.mod_type == "label" }
176
+ mod.name = "Forum"
177
+ mod.content = %(
178
+ <h4 style="color: rgb(0, 0, 153); margin-left: 40px; font-weight: normal; ">
179
+ <font size="3">
180
+ <a name="Anker1"> Forum</a>
181
+ </font>
182
+ </h4>)
183
+ resource = @cc_factory.get_resource_from_mod(mod)
184
+ assert_kind_of CanvasCc::CC::Label, resource
185
+
186
+ resource = @canvas_factory.get_resource_from_mod(mod)
187
+ assert_kind_of CanvasCc::Canvas::Label, resource
188
+ end
189
+
190
+ def test_it_can_get_assessment_resource_from_questionnaire_mod
191
+ mod = @backup.course.mods.find { |m| m.mod_type == "questionnaire" }
192
+ resource = @cc_factory.get_resource_from_mod(mod)
193
+ assert_kind_of CanvasCc::CC::Assessment, resource
194
+
195
+ resource = @canvas_factory.get_resource_from_mod(mod)
196
+ assert_kind_of CanvasCc::Canvas::Assessment, resource
197
+ end
198
+
199
+ def test_it_can_get_assessment_resource_from_choice_mod
200
+ mod = @backup.course.mods.find { |m| m.mod_type == "choice" }
201
+ resource = @cc_factory.get_resource_from_mod(mod)
202
+ assert_kind_of CanvasCc::CC::Assessment, resource
203
+
204
+ resource = @canvas_factory.get_resource_from_mod(mod)
205
+ assert_kind_of CanvasCc::Canvas::Assessment, resource
206
+ end
207
+
208
+ def test_it_can_get_assignment_resource_from_workshop_mod
209
+ mod = @backup.course.mods.find { |m| m.mod_type == "workshop" }
210
+ resource = @cc_factory.get_resource_from_mod(mod)
211
+ assert_kind_of CanvasCc::CC::Assignment, resource
212
+
213
+ resource = @canvas_factory.get_resource_from_mod(mod)
214
+ assert_kind_of CanvasCc::Canvas::Assignment, resource
215
+ end
216
+ end