greenmat 3.2.2.3 → 3.2.2.4

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
- SHA1:
3
- metadata.gz: c262a03423b493ee65e18596be8c43ff6bd1054f
4
- data.tar.gz: 7bf79cfee8896f894b734bd533efd203f8a241b3
2
+ SHA256:
3
+ metadata.gz: 76edffbbbd17aad1bb2dca2fe858ae3de4dac30ec712f923a9a5f4da23e910c8
4
+ data.tar.gz: 71f03be1b989cec97a7453db1a7cb4eaba97b1be3857e52f178c8191d9f1d4c0
5
5
  SHA512:
6
- metadata.gz: b67b6c31ed735bce10d1b15a4f4c6c4031180b85e68045bdbbdfe43dc7bd5eb5fd4eb064731bba203dec8b39d343551b70a0c9389fb12c4b68df8eefe429529e
7
- data.tar.gz: 777f5537057df083882172d98d5fae8576e819eacf5f61cc77b1e9f974811e4e523908f4a47529c803e30e42342a0b0061fae107f256d9b115cd00509be2a8a5
6
+ metadata.gz: aecd348a33adfbe06bfe6033eeae1f2b0852172cff4b11536e22acd87386861d079df3afe487c3d3dfbe8a42902ffd9f42c9fa84783a0be213ef274922236ed5
7
+ data.tar.gz: 6e6bea252d5660ede666d0030811780b8937b1ca6465569b0b93edb5b70322c4376f148b190dab68fabe23a0569a9fcf612ad648e4f61fdef55a6d8cd913ecf7
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## v3.2.2.4
6
+
7
+ * Relax max nesting.
8
+
5
9
  ## v3.2.2.3
6
10
 
7
11
  * Change `<code>` attribute for code block metadata (language) from `class` to `data-metadata`.
@@ -20,6 +20,8 @@ VALUE rb_cMarkdown;
20
20
 
21
21
  extern VALUE rb_cRenderBase;
22
22
 
23
+ static size_t MAX_NESTING = 32;
24
+
23
25
  static void rb_greenmat_md_flags(VALUE hash, unsigned int *enabled_extensions_p)
24
26
  {
25
27
  unsigned int extensions = 0;
@@ -99,7 +101,7 @@ static VALUE rb_greenmat_md__new(int argc, VALUE *argv, VALUE klass)
99
101
 
100
102
  Data_Get_Struct(rb_rndr, struct rb_greenmat_rndr, rndr);
101
103
 
102
- markdown = sd_markdown_new(extensions, 16, &rndr->callbacks, &rndr->options);
104
+ markdown = sd_markdown_new(extensions, MAX_NESTING, &rndr->callbacks, &rndr->options);
103
105
  if (!markdown)
104
106
  rb_raise(rb_eRuntimeError, "Failed to create new Renderer class");
105
107
 
@@ -1,3 +1,3 @@
1
1
  module Greenmat
2
- VERSION = '3.2.2.3'
2
+ VERSION = '3.2.2.4'
3
3
  end
@@ -83,5 +83,106 @@ module Greenmat
83
83
  end
84
84
  end
85
85
  end
86
+
87
+ context 'with deeply nested list' do
88
+ let(:text) do
89
+ <<-EOS.strip_heredoc
90
+ * 1
91
+ * 2
92
+ * 3
93
+ * 4
94
+ * 5
95
+ * 6
96
+ * 7
97
+ * 8
98
+ * 9
99
+ * 10
100
+ * 11
101
+ EOS
102
+ end
103
+
104
+ it 'renders the list up to 10 nesting and then gives up' do
105
+ expect(rendered_html).to eq <<-EOS.strip_heredoc
106
+ <ul>
107
+ <li>1
108
+
109
+ <ul>
110
+ <li>2
111
+
112
+ <ul>
113
+ <li>3
114
+
115
+ <ul>
116
+ <li>4
117
+
118
+ <ul>
119
+ <li>5
120
+
121
+ <ul>
122
+ <li>6
123
+
124
+ <ul>
125
+ <li>7
126
+
127
+ <ul>
128
+ <li>8
129
+
130
+ <ul>
131
+ <li>9
132
+
133
+ <ul>
134
+ <li>10
135
+
136
+ <ul>
137
+ <li></li>
138
+ </ul></li>
139
+ </ul></li>
140
+ </ul></li>
141
+ </ul></li>
142
+ </ul></li>
143
+ </ul></li>
144
+ </ul></li>
145
+ </ul></li>
146
+ </ul></li>
147
+ </ul></li>
148
+ </ul>
149
+ EOS
150
+ end
151
+ end
152
+
153
+ context 'with a deeply nested structure that can exist in the wild' do
154
+ let(:text) do
155
+ <<-EOS.strip_heredoc
156
+ > > * 1
157
+ > > * 2
158
+ > > * 3
159
+ > > * [_**Qiita**_](https://qiita.com)
160
+ EOS
161
+ end
162
+
163
+ it 'renders it properly' do
164
+ expect(rendered_html).to eq <<-EOS.strip_heredoc
165
+ <blockquote>
166
+ <blockquote>
167
+ <ul>
168
+ <li>1
169
+
170
+ <ul>
171
+ <li>2
172
+
173
+ <ul>
174
+ <li>3
175
+
176
+ <ul>
177
+ <li><a href="https://qiita.com"><em><strong>Qiita</strong></em></a></li>
178
+ </ul></li>
179
+ </ul></li>
180
+ </ul></li>
181
+ </ul>
182
+ </blockquote>
183
+ </blockquote>
184
+ EOS
185
+ end
186
+ end
86
187
  end
87
188
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: greenmat
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.2.3
4
+ version: 3.2.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Natacha Porté
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-06-16 00:00:00.000000000 Z
12
+ date: 2018-06-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -260,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
260
260
  version: '0'
261
261
  requirements: []
262
262
  rubyforge_project:
263
- rubygems_version: 2.6.11
263
+ rubygems_version: 2.7.4
264
264
  signing_key:
265
265
  specification_version: 4
266
266
  summary: A Markdown parser for Qiita, based on Redcarpet.