qti 2.1.0 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/qti.rb +1 -0
- data/lib/qti/models/assessment_meta.rb +78 -3
- data/lib/qti/models/resource.rb +26 -2
- data/lib/qti/v1/models/assessment_item.rb +4 -0
- data/lib/qti/v1/models/interactions/base_fill_blank_interaction.rb +33 -1
- data/lib/qti/v1/models/interactions/canvas_multiple_dropdown.rb +2 -29
- data/lib/qti/v1/models/object_bank.rb +14 -0
- data/lib/qti/version.rb +1 -1
- data/spec/fixtures/items_1.2/canvas_multiple_fib_extra_brackets.xml +244 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml +76 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml +17 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_1/imsmanifest.xml +39 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml +76 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml +17 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_2/imsmanifest.xml +39 -0
- data/spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_meta.xml +69 -0
- data/spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_qti.xml +99 -0
- data/spec/fixtures/with_banks/imsmanifest.xml +54 -0
- data/spec/fixtures/with_banks/non_cc_assessments/g195e078fb6e3c4054e38e5c9226287ba.xml.qti +85 -0
- data/spec/fixtures/with_banks/non_cc_assessments/g9a20cf3af178b54e4792cbe992f65790.xml.qti +107 -0
- data/spec/fixtures/with_banks/non_cc_assessments/gab22de457404cb5cf022078f1e4da75e.xml.qti +59 -0
- data/spec/fixtures/with_banks/non_cc_assessments/gf3edf8167be16b3a65a00ca923132b07.xml.qti +145 -0
- data/spec/lib/qti/models/assessment_meta_spec.rb +104 -2
- data/spec/lib/qti/models/resource_spec.rb +14 -0
- data/spec/lib/qti/v1/models/interactions/base_fill_blank_interaction_spec.rb +146 -0
- data/spec/lib/qti/v1/models/interactions/canvas_multiple_dropdown_spec.rb +0 -27
- data/spec/lib/qti/v1/models/object_bank_spec.rb +39 -0
- metadata +36 -4
@@ -48,4 +48,18 @@ describe Qti::Models::Manifest do
|
|
48
48
|
expect(assessment_test.assessment_items.first[:resource]).not_to eq(nil)
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
describe 'object banks' do
|
53
|
+
file = File.join(fixtures_path, 'with_banks/imsmanifest.xml')
|
54
|
+
manifest = described_class.from_path!(file)
|
55
|
+
|
56
|
+
it 'has associated content' do
|
57
|
+
expect(manifest.associated_content_list.count).to eq(4)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'loads objectbanks' do
|
61
|
+
expect(manifest.objectbanks.count).to eq(3)
|
62
|
+
expect(manifest.objectbanks.first).to be_kind_of(Qti::V1::Models::ObjectBank)
|
63
|
+
end
|
64
|
+
end
|
51
65
|
end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
describe Qti::V1::Models::Interactions::BaseFillBlankInteraction do
|
2
|
+
let(:fixtures_path) { File.join('spec', 'fixtures', 'items_1.2') }
|
3
|
+
let(:test_object) { Qti::V1::Models::Assessment.from_path!(file_path) }
|
4
|
+
let(:assessment_item_refs) { test_object.assessment_items }
|
5
|
+
let(:loaded_class) { described_class.new(assessment_item_refs.first, test_object) }
|
6
|
+
|
7
|
+
shared_examples_for 'canvas_fib_responses' do
|
8
|
+
it 'returns the canvas_fib_responses' do
|
9
|
+
expect(loaded_class.canvas_fib_responses).to eq(expected_blanks)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'canvas_multiple_dropdowns.xml' do
|
14
|
+
let(:file_path) { File.join(fixtures_path, 'canvas_multiple_dropdowns.xml') }
|
15
|
+
let(:expected_blanks) do
|
16
|
+
[
|
17
|
+
{
|
18
|
+
id: 'response_color1',
|
19
|
+
choices:
|
20
|
+
[
|
21
|
+
{ id: '6548', position: 2, item_body: 'red' },
|
22
|
+
{ id: '5550', position: 3, item_body: 'plaid' }
|
23
|
+
]
|
24
|
+
},
|
25
|
+
{
|
26
|
+
id: 'response_color2',
|
27
|
+
choices:
|
28
|
+
[
|
29
|
+
{ id: '6951', position: 2, item_body: 'blue' },
|
30
|
+
{ id: '4500', position: 3, item_body: 'paisely' }
|
31
|
+
]
|
32
|
+
}
|
33
|
+
]
|
34
|
+
end
|
35
|
+
|
36
|
+
include_examples 'canvas_fib_responses'
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'canvas_multiple_fib.xml' do
|
40
|
+
let(:file_path) { File.join(fixtures_path, 'canvas_multiple_fib.xml') }
|
41
|
+
let(:expected_blanks) do
|
42
|
+
[
|
43
|
+
{
|
44
|
+
id: 'response_color1',
|
45
|
+
choices:
|
46
|
+
[
|
47
|
+
{ id: '9799', item_body: 'red', position: 2 },
|
48
|
+
{ id: '5231', item_body: 'Red', position: 3 }
|
49
|
+
]
|
50
|
+
},
|
51
|
+
{
|
52
|
+
id: 'response_color2',
|
53
|
+
choices:
|
54
|
+
[
|
55
|
+
{ id: '5939', item_body: 'blue', position: 2 },
|
56
|
+
{ id: '6364', item_body: 'Blue', position: 3 }
|
57
|
+
]
|
58
|
+
}
|
59
|
+
]
|
60
|
+
end
|
61
|
+
|
62
|
+
include_examples 'canvas_fib_responses'
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'canvas multiple fill in the blank questions with a single blank' do
|
66
|
+
let(:file_path) { File.join(fixtures_path, 'canvas_multiple_fib_as_single.xml') }
|
67
|
+
let(:expected_blanks) do
|
68
|
+
[
|
69
|
+
{
|
70
|
+
id: 'response_word',
|
71
|
+
choices:
|
72
|
+
[
|
73
|
+
{ id: '3537', item_body: 'word', position: 2 }
|
74
|
+
]
|
75
|
+
}
|
76
|
+
]
|
77
|
+
end
|
78
|
+
|
79
|
+
include_examples 'canvas_fib_responses'
|
80
|
+
end
|
81
|
+
|
82
|
+
context 'canvas multiple fill in the blank questions with a single blank' do
|
83
|
+
let(:file_path) { File.join(fixtures_path, 'canvas_multiple_fib_extra_brackets.xml') }
|
84
|
+
let(:expected_blanks) do
|
85
|
+
[
|
86
|
+
{
|
87
|
+
id: 'response_1',
|
88
|
+
choices:
|
89
|
+
[
|
90
|
+
{ id: '8464', item_body: 'A', position: 2 },
|
91
|
+
{ id: '265', item_body: 'B', position: 3 },
|
92
|
+
{ id: '3002', item_body: 'C', position: 4 },
|
93
|
+
{ id: '1356', item_body: 'D', position: 5 },
|
94
|
+
{ id: '5614', item_body: 'E', position: 6 }
|
95
|
+
]
|
96
|
+
},
|
97
|
+
{
|
98
|
+
id: 'response_2',
|
99
|
+
choices:
|
100
|
+
[
|
101
|
+
{ id: '4002', item_body: 'A', position: 2 },
|
102
|
+
{ id: '8630', item_body: 'B', position: 3 },
|
103
|
+
{ id: '7844', item_body: 'C', position: 4 },
|
104
|
+
{ id: '3602', item_body: 'D', position: 5 },
|
105
|
+
{ id: '9525', item_body: 'E', position: 6 }
|
106
|
+
]
|
107
|
+
},
|
108
|
+
{
|
109
|
+
id: 'response_3',
|
110
|
+
choices:
|
111
|
+
[
|
112
|
+
{ id: '8390', item_body: 'A', position: 2 },
|
113
|
+
{ id: '8745', item_body: 'B', position: 3 },
|
114
|
+
{ id: '3760', item_body: 'C', position: 4 },
|
115
|
+
{ id: '7542', item_body: 'D', position: 5 },
|
116
|
+
{ id: '1523', item_body: 'E', position: 6 }
|
117
|
+
]
|
118
|
+
},
|
119
|
+
{
|
120
|
+
id: 'response_4',
|
121
|
+
choices:
|
122
|
+
[
|
123
|
+
{ id: '3317', item_body: 'A', position: 2 },
|
124
|
+
{ id: '6768', item_body: 'B', position: 3 },
|
125
|
+
{ id: '5823', item_body: 'C', position: 4 },
|
126
|
+
{ id: '2492', item_body: 'D', position: 5 },
|
127
|
+
{ id: '4494', item_body: 'E', position: 6 }
|
128
|
+
]
|
129
|
+
},
|
130
|
+
{
|
131
|
+
id: 'response_5',
|
132
|
+
choices:
|
133
|
+
[
|
134
|
+
{ id: '6742', item_body: 'A', position: 2 },
|
135
|
+
{ id: '794', item_body: 'B', position: 3 },
|
136
|
+
{ id: '4259', item_body: 'C', position: 4 },
|
137
|
+
{ id: '4851', item_body: 'D', position: 5 },
|
138
|
+
{ id: '8574', item_body: 'E', position: 6 }
|
139
|
+
]
|
140
|
+
}
|
141
|
+
]
|
142
|
+
end
|
143
|
+
|
144
|
+
include_examples 'canvas_fib_responses'
|
145
|
+
end
|
146
|
+
end
|
@@ -10,12 +10,6 @@ describe Qti::V1::Models::Interactions::CanvasMultipleDropdownInteraction do
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
shared_examples_for 'blanks' do
|
14
|
-
it 'returns the blanks' do
|
15
|
-
expect(loaded_class.blanks).to eq(expected_blanks)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
13
|
shared_examples_for 'answers' do
|
20
14
|
it 'returns the answers' do
|
21
15
|
expect(loaded_class.answers.count).to eq answer_count
|
@@ -47,26 +41,6 @@ describe Qti::V1::Models::Interactions::CanvasMultipleDropdownInteraction do
|
|
47
41
|
{ id: '6951', position: 2, item_body: 'blue' }
|
48
42
|
]
|
49
43
|
end
|
50
|
-
let(:expected_blanks) do
|
51
|
-
[
|
52
|
-
{
|
53
|
-
id: 'response_color1',
|
54
|
-
choices:
|
55
|
-
[
|
56
|
-
{ id: '6548', position: 2, item_body: 'red' },
|
57
|
-
{ id: '5550', position: 3, item_body: 'plaid' }
|
58
|
-
]
|
59
|
-
},
|
60
|
-
{
|
61
|
-
id: 'response_color2',
|
62
|
-
choices:
|
63
|
-
[
|
64
|
-
{ id: '6951', position: 2, item_body: 'blue' },
|
65
|
-
{ id: '4500', position: 3, item_body: 'paisely' }
|
66
|
-
]
|
67
|
-
}
|
68
|
-
]
|
69
|
-
end
|
70
44
|
let(:expected_stem_items) do
|
71
45
|
[
|
72
46
|
{ id: 'stem_0', position: 1, type: 'text', value: '<div><p>Roses are ' },
|
@@ -97,7 +71,6 @@ describe Qti::V1::Models::Interactions::CanvasMultipleDropdownInteraction do
|
|
97
71
|
|
98
72
|
include_examples 'shuffled?'
|
99
73
|
include_examples 'answers'
|
100
|
-
include_examples 'blanks'
|
101
74
|
include_examples 'stem_items'
|
102
75
|
include_examples 'scoring_data_structs'
|
103
76
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
describe Qti::V1::Models::ObjectBank do
|
2
|
+
describe 'bank loading' do
|
3
|
+
[
|
4
|
+
'gf3edf8167be16b3a65a00ca923132b07.xml.qti',
|
5
|
+
'g195e078fb6e3c4054e38e5c9226287ba.xml.qti',
|
6
|
+
'gab22de457404cb5cf022078f1e4da75e.xml.qti'
|
7
|
+
].each do |bankfile|
|
8
|
+
file = File.join('spec', 'fixtures', 'with_banks', 'non_cc_assessments', bankfile)
|
9
|
+
context "File: #{file}" do
|
10
|
+
it 'parses the objectbank without error' do
|
11
|
+
expect do
|
12
|
+
bank = described_class.from_path!(file)
|
13
|
+
expect(bank.assessment_items) # at least one
|
14
|
+
end.not_to raise_error
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#title' do
|
21
|
+
it 'missing bank_title defaults to filename' do
|
22
|
+
allow(File).to receive(:read).and_return(<<~XML)
|
23
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
24
|
+
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
25
|
+
<objectbank ident="gooblegobble12345">
|
26
|
+
<qtimetadata>
|
27
|
+
<qtimetadatafield>
|
28
|
+
<fieldlabel>not_a_bank_title</fieldlabel>
|
29
|
+
<fieldentry>A different metadata entry</fieldentry>
|
30
|
+
</qtimetadatafield>
|
31
|
+
</qtimetadata>
|
32
|
+
</objectbank>
|
33
|
+
</questestinterop>
|
34
|
+
XML
|
35
|
+
objectbank = described_class.new path: '/etc/FakeBank007.xml'
|
36
|
+
expect(objectbank.title).to eq 'FakeBank007'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hannah Bottalla
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-01-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionview
|
@@ -312,6 +312,7 @@ files:
|
|
312
312
|
- lib/qti/v1/models/numerics/scoring_data.rb
|
313
313
|
- lib/qti/v1/models/numerics/scoring_node.rb
|
314
314
|
- lib/qti/v1/models/numerics/within_range.rb
|
315
|
+
- lib/qti/v1/models/object_bank.rb
|
315
316
|
- lib/qti/v1/models/question_group.rb
|
316
317
|
- lib/qti/v1/models/scoring_data.rb
|
317
318
|
- lib/qti/v1/models/stimulus_item.rb
|
@@ -355,6 +356,7 @@ files:
|
|
355
356
|
- spec/fixtures/items_1.2/canvas_multiple_dropdowns.xml
|
356
357
|
- spec/fixtures/items_1.2/canvas_multiple_fib.xml
|
357
358
|
- spec/fixtures/items_1.2/canvas_multiple_fib_as_single.xml
|
359
|
+
- spec/fixtures/items_1.2/canvas_multiple_fib_extra_brackets.xml
|
358
360
|
- spec/fixtures/items_1.2/choice.xml
|
359
361
|
- spec/fixtures/items_1.2/essay.xml
|
360
362
|
- spec/fixtures/items_1.2/fib.xml
|
@@ -510,6 +512,12 @@ files:
|
|
510
512
|
- spec/fixtures/test_qti_1.2_canvas/i00f37ac2af026e5a607e4a5d9a70b1d5/assessment_meta.xml
|
511
513
|
- spec/fixtures/test_qti_1.2_canvas/i00f37ac2af026e5a607e4a5d9a70b1d5/i00f37ac2af026e5a607e4a5d9a70b1d5.xml
|
512
514
|
- spec/fixtures/test_qti_1.2_canvas/imsmanifest.xml
|
515
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml
|
516
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml
|
517
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_1/imsmanifest.xml
|
518
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml
|
519
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml
|
520
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_2/imsmanifest.xml
|
513
521
|
- spec/fixtures/test_qti_1.2_multi/i913965373124f56ca136e87deb040c03/assessment_meta.xml
|
514
522
|
- spec/fixtures/test_qti_1.2_multi/i913965373124f56ca136e87deb040c03/i913965373124f56ca136e87deb040c03.xml
|
515
523
|
- spec/fixtures/test_qti_1.2_multi/ife643a8a04b48b22acab95de6c01f1cc/assessment_meta.xml
|
@@ -598,6 +606,13 @@ files:
|
|
598
606
|
- spec/fixtures/tests/tests/rtest26.xml
|
599
607
|
- spec/fixtures/tests/tests/rtest27.xml
|
600
608
|
- spec/fixtures/unsupported_version/imsmanifest.xml
|
609
|
+
- spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_meta.xml
|
610
|
+
- spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_qti.xml
|
611
|
+
- spec/fixtures/with_banks/imsmanifest.xml
|
612
|
+
- spec/fixtures/with_banks/non_cc_assessments/g195e078fb6e3c4054e38e5c9226287ba.xml.qti
|
613
|
+
- spec/fixtures/with_banks/non_cc_assessments/g9a20cf3af178b54e4792cbe992f65790.xml.qti
|
614
|
+
- spec/fixtures/with_banks/non_cc_assessments/gab22de457404cb5cf022078f1e4da75e.xml.qti
|
615
|
+
- spec/fixtures/with_banks/non_cc_assessments/gf3edf8167be16b3a65a00ca923132b07.xml.qti
|
601
616
|
- spec/gemfiles/rails-5.1.gemfile
|
602
617
|
- spec/gemfiles/rails-5.2.gemfile
|
603
618
|
- spec/gemfiles/rails-6.0.gemfile
|
@@ -612,6 +627,7 @@ files:
|
|
612
627
|
- spec/lib/qti/v1/models/assessment_spec.rb
|
613
628
|
- spec/lib/qti/v1/models/choices/fill_blank_choice_spec.rb
|
614
629
|
- spec/lib/qti/v1/models/choices/logical_identifier_choice_spec.rb
|
630
|
+
- spec/lib/qti/v1/models/interactions/base_fill_blank_interaction_spec.rb
|
615
631
|
- spec/lib/qti/v1/models/interactions/base_interaction_spec.rb
|
616
632
|
- spec/lib/qti/v1/models/interactions/canvas_multiple_dropdown_spec.rb
|
617
633
|
- spec/lib/qti/v1/models/interactions/choice_interaction_spec.rb
|
@@ -629,6 +645,7 @@ files:
|
|
629
645
|
- spec/lib/qti/v1/models/numerics/scoring_base_spec.rb
|
630
646
|
- spec/lib/qti/v1/models/numerics/scoring_node_spec.rb
|
631
647
|
- spec/lib/qti/v1/models/numerics/within_range_spec.rb
|
648
|
+
- spec/lib/qti/v1/models/object_bank_spec.rb
|
632
649
|
- spec/lib/qti/v1/models/question_group_spec.rb
|
633
650
|
- spec/lib/qti/v1/models/stimulus_item_spec.rb
|
634
651
|
- spec/lib/qti/v2/models/assessment_item_spec.rb
|
@@ -668,8 +685,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
668
685
|
- !ruby/object:Gem::Version
|
669
686
|
version: '0'
|
670
687
|
requirements: []
|
671
|
-
|
672
|
-
rubygems_version: 2.6.14.4
|
688
|
+
rubygems_version: 3.0.3
|
673
689
|
signing_key:
|
674
690
|
specification_version: 4
|
675
691
|
summary: QTI 1.2 and 2.1 import and export models
|
@@ -692,6 +708,7 @@ test_files:
|
|
692
708
|
- spec/fixtures/items_1.2/canvas_multiple_dropdowns.xml
|
693
709
|
- spec/fixtures/items_1.2/canvas_multiple_fib.xml
|
694
710
|
- spec/fixtures/items_1.2/canvas_multiple_fib_as_single.xml
|
711
|
+
- spec/fixtures/items_1.2/canvas_multiple_fib_extra_brackets.xml
|
695
712
|
- spec/fixtures/items_1.2/choice.xml
|
696
713
|
- spec/fixtures/items_1.2/essay.xml
|
697
714
|
- spec/fixtures/items_1.2/fib.xml
|
@@ -847,6 +864,12 @@ test_files:
|
|
847
864
|
- spec/fixtures/test_qti_1.2_canvas/i00f37ac2af026e5a607e4a5d9a70b1d5/assessment_meta.xml
|
848
865
|
- spec/fixtures/test_qti_1.2_canvas/i00f37ac2af026e5a607e4a5d9a70b1d5/i00f37ac2af026e5a607e4a5d9a70b1d5.xml
|
849
866
|
- spec/fixtures/test_qti_1.2_canvas/imsmanifest.xml
|
867
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml
|
868
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml
|
869
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_1/imsmanifest.xml
|
870
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml
|
871
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml
|
872
|
+
- spec/fixtures/test_qti_1.2_canvas_extended_2/imsmanifest.xml
|
850
873
|
- spec/fixtures/test_qti_1.2_multi/i913965373124f56ca136e87deb040c03/assessment_meta.xml
|
851
874
|
- spec/fixtures/test_qti_1.2_multi/i913965373124f56ca136e87deb040c03/i913965373124f56ca136e87deb040c03.xml
|
852
875
|
- spec/fixtures/test_qti_1.2_multi/ife643a8a04b48b22acab95de6c01f1cc/assessment_meta.xml
|
@@ -935,6 +958,13 @@ test_files:
|
|
935
958
|
- spec/fixtures/tests/tests/rtest26.xml
|
936
959
|
- spec/fixtures/tests/tests/rtest27.xml
|
937
960
|
- spec/fixtures/unsupported_version/imsmanifest.xml
|
961
|
+
- spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_meta.xml
|
962
|
+
- spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_qti.xml
|
963
|
+
- spec/fixtures/with_banks/imsmanifest.xml
|
964
|
+
- spec/fixtures/with_banks/non_cc_assessments/g195e078fb6e3c4054e38e5c9226287ba.xml.qti
|
965
|
+
- spec/fixtures/with_banks/non_cc_assessments/g9a20cf3af178b54e4792cbe992f65790.xml.qti
|
966
|
+
- spec/fixtures/with_banks/non_cc_assessments/gab22de457404cb5cf022078f1e4da75e.xml.qti
|
967
|
+
- spec/fixtures/with_banks/non_cc_assessments/gf3edf8167be16b3a65a00ca923132b07.xml.qti
|
938
968
|
- spec/gemfiles/rails-5.1.gemfile
|
939
969
|
- spec/gemfiles/rails-5.2.gemfile
|
940
970
|
- spec/gemfiles/rails-6.0.gemfile
|
@@ -949,6 +979,7 @@ test_files:
|
|
949
979
|
- spec/lib/qti/v1/models/assessment_spec.rb
|
950
980
|
- spec/lib/qti/v1/models/choices/fill_blank_choice_spec.rb
|
951
981
|
- spec/lib/qti/v1/models/choices/logical_identifier_choice_spec.rb
|
982
|
+
- spec/lib/qti/v1/models/interactions/base_fill_blank_interaction_spec.rb
|
952
983
|
- spec/lib/qti/v1/models/interactions/base_interaction_spec.rb
|
953
984
|
- spec/lib/qti/v1/models/interactions/canvas_multiple_dropdown_spec.rb
|
954
985
|
- spec/lib/qti/v1/models/interactions/choice_interaction_spec.rb
|
@@ -966,6 +997,7 @@ test_files:
|
|
966
997
|
- spec/lib/qti/v1/models/numerics/scoring_base_spec.rb
|
967
998
|
- spec/lib/qti/v1/models/numerics/scoring_node_spec.rb
|
968
999
|
- spec/lib/qti/v1/models/numerics/within_range_spec.rb
|
1000
|
+
- spec/lib/qti/v1/models/object_bank_spec.rb
|
969
1001
|
- spec/lib/qti/v1/models/question_group_spec.rb
|
970
1002
|
- spec/lib/qti/v1/models/stimulus_item_spec.rb
|
971
1003
|
- spec/lib/qti/v2/models/assessment_item_spec.rb
|