qti 2.25.2 → 2.26.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 062a48a89ca4ced5ac4c33976eaa79be84d9f9f883de111d0cf8643550c1dd62
4
- data.tar.gz: d6ec810ebbc758d650c2c081cbb777c1fd073bb1fc176b1e7b80958884cafc54
3
+ metadata.gz: 9f3871afe8e84ed37180922c577051db9fc09ccd3936a74353e19dfb8a688dc8
4
+ data.tar.gz: d8be8fe548bc1e89d1e8a595275272291553bb89df682942c22bf53070aa32f6
5
5
  SHA512:
6
- metadata.gz: 6abd2fda6c86e08b215c2ff3b7b1c79fdb8b5170af23de03c7f537528f2d6297981c941bf9ed19d9ee38345b9b13794abb24f68b7ab246693da55be0da1c8b18
7
- data.tar.gz: 4140785078c7f4412d6c94e7124706e694bb5e884dc811d40db7e9c5c916ed81e0da86741378a4773c71abd5f8794e7ea8373383fe8b6f0fca808f0921ae0ac8
6
+ metadata.gz: 570712ae37a5c79f34ac12d5f1ff02f7a5591035fb0ab16d0c01066b61b4a6546317e8049c4427e8ed3c63e013c25a638fc93ec59490fd088d6d17606748d105
7
+ data.tar.gz: 48b6d948fdbd2f867e98737f7456459ab9206b1446e8c4d77c65b6928f272dce2696ba1fb1b9842b2e5d770f8d5d35c5276019da19e9bdf2d52a6d18987a3880
data/lib/qti/sanitizer.rb CHANGED
@@ -20,9 +20,58 @@ module Qti
20
20
  Sanitize::Config::RELAXED[:attributes][element] + overrides
21
21
  end
22
22
 
23
+ # Copied from Canvas (Classic Quizzes)
24
+ # canvas_sanitize/lib/canvas_sanitize/canvas_sanitize.rb:142
25
+ MATHML_TAGS =
26
+ %w[annotation
27
+ annotationml
28
+ maction
29
+ maligngroup
30
+ malignmark
31
+ mark
32
+ math
33
+ menclose
34
+ merror
35
+ mfenced
36
+ mfrac
37
+ mglyph
38
+ mi
39
+ mlabeledtr
40
+ mlongdiv
41
+ mmultiscripts
42
+ mn
43
+ mo
44
+ mover
45
+ mpadded
46
+ mphantom
47
+ mprescripts
48
+ mroot
49
+ mrow
50
+ ms
51
+ mscarries
52
+ mscarry
53
+ msgroup
54
+ msline
55
+ mspace
56
+ msqrt
57
+ msrow
58
+ mstack
59
+ mstyle
60
+ msub
61
+ msubsup
62
+ msup
63
+ mtable
64
+ mtd
65
+ mtext
66
+ mtr
67
+ munder
68
+ munderover
69
+ none
70
+ semantics].freeze
71
+
23
72
  CONFIG =
24
73
  {
25
- elements: Sanitize::Config::RELAXED[:elements] + FILTER_TAGS,
74
+ elements: Sanitize::Config::RELAXED[:elements] + MATHML_TAGS + FILTER_TAGS,
26
75
  protocols:
27
76
  {
28
77
  'iframe' => { 'src' => PROTOCOLS },
data/lib/qti/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Qti
2
- VERSION = '2.25.2'.freeze
2
+ VERSION = '2.26.0'.freeze
3
3
  end
@@ -63,5 +63,11 @@ describe Qti::Sanitizer do
63
63
  expect(sanitizer.clean(html)).to include 'height: 294px;'
64
64
  expect(sanitizer.clean(html)).to include 'display: inline-block;'
65
65
  end
66
+
67
+ Qti::Sanitizer::MATHML_TAGS.each do |tag|
68
+ it "allows MathML tag: #{tag}" do
69
+ expect(sanitizer.clean("<#{tag}>")).to eq("<#{tag}></#{tag}>")
70
+ end
71
+ end
66
72
  end
67
73
  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.25.2
4
+ version: 2.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Diaz
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2025-01-28 00:00:00.000000000 Z
15
+ date: 2025-03-21 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: actionview