greenmat 3.2.2.3 → 3.2.2.4

Sign up to get free protection for your applications and to get access to all the features.
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.