moodle2cc 0.1.6 → 0.1.7

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.
@@ -0,0 +1,6 @@
1
+ nguage: ruby
2
+ rvm:
3
+ - "1.8.7"
4
+ - "1.9.3"
5
+ - "2.0.0"
6
+ script: bundle exec rake
@@ -0,0 +1,40 @@
1
+ 2013-06-27 Version 0.1.7
2
+ * Include question images when converting to QTI
3
+ * Added travis setup for happiness
4
+
5
+ 2012-12-07 Version 0.1.6
6
+ * Added Changelog
7
+ * Don't error out when trying to reference non-existent quiz question
8
+
9
+ 2012-08-20 Version 0.1.5
10
+
11
+ * Readme improvements
12
+ * Listed todo items for complete Common Cartridge conversion support
13
+ * Added assignment conversion to plain CC
14
+ * Added wiki page conversion to plain CC
15
+
16
+ 2012-08-15 Version 0.1.4
17
+
18
+ * More robust URI parsing
19
+
20
+ 2012-08-06 Version 0.1.3
21
+
22
+ * Fix external link and attachment references
23
+ * Fix ordering of module items
24
+
25
+
26
+ 2012-08-03 Version 0.1.2
27
+
28
+ * Add quiz support
29
+ * Better handle wiki titles and summaries
30
+
31
+
32
+ 2012-07-26 Version 0.1.1
33
+
34
+ * Fix extra whitespace errors
35
+ * Add ability to inject logger during conversion process
36
+
37
+
38
+ 2012-7-24 Version 0.1.0
39
+
40
+ * Initial release
@@ -116,6 +116,7 @@ module Moodle2CC::Canvas
116
116
  material = question.text
117
117
  material = question.content || '' if material.nil?
118
118
  material = material.gsub(/\{(.*?)\}/, '[\1]')
119
+ material = image_html(question.image) + material unless question.image.nil? || question.image.strip == ''
119
120
  material = RDiscount.new(material).to_html if question.format == 4 # markdown
120
121
  @material = material
121
122
 
@@ -467,5 +468,10 @@ module Moodle2CC::Canvas
467
468
  return 100 if fraction.nil?
468
469
  (100 * fraction).to_i
469
470
  end
471
+
472
+ def image_html(image)
473
+ image = image.strip
474
+ %{<img src="#{WEB_CONTENT_TOKEN}/#{image}" alt="#{image}"/>}
475
+ end
470
476
  end
471
477
  end
@@ -80,6 +80,7 @@ module Moodle2CC::Moodle
80
80
  element :position, Integer, :tag => 'POSITION'
81
81
  element :type, String, :tag => 'QTYPE'
82
82
  element :type_id, Integer, :tag => 'TYPE_ID'
83
+ element :image, String, :tag => 'IMAGE'
83
84
  has_many :numericals, Numerical
84
85
  has_many :answers, Answer
85
86
  has_many :calculations, Calculation
@@ -1,3 +1,3 @@
1
1
  module Moodle2CC
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -2,13 +2,13 @@ require 'zip/zipfilesystem'
2
2
 
3
3
  module TestHelper
4
4
  def create_moodle_backup_zip(backup_name='moodle_backup')
5
- moodle_backup_path = File.expand_path("../tmp/#{backup_name}.zip", __FILE__)
5
+ moodle_backup_path = File.expand_path("../../../test/tmp/#{backup_name}.zip", __FILE__)
6
6
  Zip::ZipFile.open(moodle_backup_path, Zip::ZipFile::CREATE) do |zipfile|
7
- zipfile.add("moodle.xml", File.expand_path("../fixtures/#{backup_name}/moodle.xml", __FILE__))
7
+ zipfile.add("moodle.xml", File.expand_path("../../../test/fixtures/#{backup_name}/moodle.xml", __FILE__))
8
8
  zipfile.mkdir("course_files")
9
9
  zipfile.mkdir("course_files/folder")
10
- zipfile.add("course_files/test.txt", File.expand_path("../fixtures/#{backup_name}/course_files/test.txt", __FILE__))
11
- zipfile.add("course_files/folder/test.txt", File.expand_path("../fixtures/#{backup_name}/course_files/folder/test.txt", __FILE__))
10
+ zipfile.add("course_files/test.txt", File.expand_path("../../../test/fixtures/#{backup_name}/course_files/test.txt", __FILE__))
11
+ zipfile.add("course_files/folder/test.txt", File.expand_path("../../../test/fixtures/#{backup_name}/course_files/folder/test.txt", __FILE__))
12
12
  end
13
13
  moodle_backup_path
14
14
  end
@@ -18,7 +18,7 @@ module TestHelper
18
18
  converter_class = format == 'cc' ? Moodle2CC::CC::Converter : Moodle2CC::Canvas::Converter
19
19
  @backup_path = create_moodle_backup_zip(backup_name)
20
20
  @backup = Moodle2CC::Moodle::Backup.read @backup_path
21
- @export_dir = File.expand_path("../tmp", __FILE__)
21
+ @export_dir = File.expand_path("../../../test/tmp", __FILE__)
22
22
  @converter = converter_class.new @backup, @export_dir
23
23
  @converter.convert
24
24
  end
@@ -36,7 +36,7 @@ module TestHelper
36
36
  end
37
37
 
38
38
  def clean_tmp_folder
39
- Dir[File.expand_path("../tmp/*", __FILE__)].each do |file|
39
+ Dir[File.expand_path("../../../test/tmp/*", __FILE__)].each do |file|
40
40
  FileUtils.rm_r file
41
41
  end
42
42
  end
File without changes
@@ -249,7 +249,7 @@
249
249
  <NAME>Basic Arithmetic</NAME>
250
250
  <QUESTIONTEXT>How much is {a} + {b} ?</QUESTIONTEXT>
251
251
  <QUESTIONTEXTFORMAT>1</QUESTIONTEXTFORMAT>
252
- <IMAGE></IMAGE>
252
+ <IMAGE>test.jpg</IMAGE>
253
253
  <GENERALFEEDBACK>This should be easy</GENERALFEEDBACK>
254
254
  <DEFAULTGRADE>1</DEFAULTGRADE>
255
255
  <PENALTY>0.1</PENALTY>
@@ -12,6 +12,7 @@ class TestUnitCanvasQuestion < MiniTest::Unit::TestCase
12
12
  convert_moodle_backup 'canvas'
13
13
  @mod = @backup.course.mods.find { |mod| mod.mod_type == 'quiz' }
14
14
  @question = @mod.questions.first
15
+ @question.image = nil
15
16
  end
16
17
 
17
18
  def teardown
@@ -120,6 +121,13 @@ class TestUnitCanvasQuestion < MiniTest::Unit::TestCase
120
121
  assert_equal "How much is [a] + [b] ?", question.material
121
122
  end
122
123
 
124
+ def test_it_adds_image_tag_to_material
125
+ @question.text = "How much is {a} + {b} ?"
126
+ @question.image = "test.jpg"
127
+ question = Moodle2CC::Canvas::Question.new @question
128
+ assert_equal %{<img src="$IMS_CC_FILEBASE$/test.jpg" alt="test.jpg"/>How much is [a] + [b] ?}, question.material
129
+ end
130
+
123
131
  def test_it_converts_markdown_text_to_html_material
124
132
  @question.text = "This is **bold** and this is _italic_"
125
133
  @question.format = 4 # markdown
@@ -381,6 +389,7 @@ class TestUnitCanvasQuestion < MiniTest::Unit::TestCase
381
389
  end
382
390
 
383
391
  def test_it_creates_item_xml
392
+ @question.image = 'test.jpg'
384
393
  question = Moodle2CC::Canvas::Question.new @question
385
394
  node = Builder::XmlMarkup.new
386
395
  xml = Nokogiri::XML(question.create_item_xml(node))
@@ -394,7 +403,7 @@ class TestUnitCanvasQuestion < MiniTest::Unit::TestCase
394
403
  assert xml.root.xpath('itemmetadata/qtimetadata/qtimetadatafield[fieldlabel="points_possible" and fieldentry="1"]').first, 'does not have meta data for points possible'
395
404
  assert xml.root.xpath('itemmetadata/qtimetadata/qtimetadatafield[fieldlabel="assessment_question_identifierref" and fieldentry="i04823ed56ffd4fd5f9c21db0cf25be6c"]').first, 'does not have meta data for assessment_question_identifierref'
396
405
 
397
- assert_equal 'How much is [a] + [b] ?', xml.root.xpath('presentation/material/mattext[@texttype="text/html"]').text
406
+ assert_equal %{<img src="$IMS_CC_FILEBASE$/test.jpg" alt="test.jpg"/>How much is [a] + [b] ?}, xml.root.xpath('presentation/material/mattext[@texttype="text/html"]').text
398
407
 
399
408
  # Score
400
409
  outcome = xml.root.xpath('resprocessing/outcomes/decvar').first
@@ -41,6 +41,10 @@ class TestUnitMoodleQuestion < MiniTest::Unit::TestCase
41
41
  assert_equal 'How much is {a} + {b} ?', @calculated_question.text
42
42
  end
43
43
 
44
+ def test_it_has_image
45
+ assert_equal 'test.jpg', @calculated_question.image
46
+ end
47
+
44
48
  def test_it_has_a_format
45
49
  assert_equal 1, @calculated_question.format
46
50
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moodle2cc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-12-07 00:00:00.000000000 Z
14
+ date: 2013-06-27 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rubyzip
@@ -200,6 +200,8 @@ extensions: []
200
200
  extra_rdoc_files: []
201
201
  files:
202
202
  - .gitignore
203
+ - .travis.yml
204
+ - Changelog
203
205
  - Gemfile
204
206
  - Guardfile
205
207
  - LICENSE
@@ -252,6 +254,9 @@ files:
252
254
  - lib/moodle2cc/moodle/section.rb
253
255
  - lib/moodle2cc/resource_factory.rb
254
256
  - lib/moodle2cc/version.rb
257
+ - lib/test/test_helper.rb
258
+ - lib/test/test_question_helper.rb
259
+ - lib/test/test_wiki_helper.rb
255
260
  - moodle2cc.gemspec
256
261
  - test/acceptance/migrator_test.rb
257
262
  - test/fixtures/cc.imscc
@@ -261,9 +266,6 @@ files:
261
266
  - test/fixtures/moodle_backup_random_questions/course_files/folder/test.txt
262
267
  - test/fixtures/moodle_backup_random_questions/course_files/test.txt
263
268
  - test/fixtures/moodle_backup_random_questions/moodle.xml
264
- - test/test_helper.rb
265
- - test/test_question_helper.rb
266
- - test/test_wiki_helper.rb
267
269
  - test/tmp/.gitkeep
268
270
  - test/unit/canvas/assessment_test.rb
269
271
  - test/unit/canvas/assignment_test.rb
@@ -319,7 +321,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
319
321
  version: '0'
320
322
  requirements: []
321
323
  rubyforge_project:
322
- rubygems_version: 1.8.24
324
+ rubygems_version: 1.8.23
323
325
  signing_key:
324
326
  specification_version: 3
325
327
  summary: Migrates Moodle backup ZIP to IMS Common Cartridge package
@@ -332,9 +334,6 @@ test_files:
332
334
  - test/fixtures/moodle_backup_random_questions/course_files/folder/test.txt
333
335
  - test/fixtures/moodle_backup_random_questions/course_files/test.txt
334
336
  - test/fixtures/moodle_backup_random_questions/moodle.xml
335
- - test/test_helper.rb
336
- - test/test_question_helper.rb
337
- - test/test_wiki_helper.rb
338
337
  - test/tmp/.gitkeep
339
338
  - test/unit/canvas/assessment_test.rb
340
339
  - test/unit/canvas/assignment_test.rb
@@ -370,4 +369,3 @@ test_files:
370
369
  - test/unit/moodle/question_test.rb
371
370
  - test/unit/moodle/section_test.rb
372
371
  - test/unit/resource_factory_test.rb
373
- has_rdoc: