commonmarker 0.20.2 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of commonmarker might be problematic. Click here for more details.

@@ -12,7 +12,7 @@ class TestNode < Minitest::Test
12
12
  @doc.walk do |node|
13
13
  nodes << node.type
14
14
  end
15
- assert_equal [:document, :paragraph, :text, :emph, :text, :text], nodes
15
+ assert_equal %i[document paragraph text emph text text], nodes
16
16
  end
17
17
 
18
18
  def test_each
@@ -20,29 +20,29 @@ class TestNode < Minitest::Test
20
20
  @doc.first_child.each do |node|
21
21
  nodes << node.type
22
22
  end
23
- assert_equal [:text, :emph, :text], nodes
23
+ assert_equal %i[text emph text], nodes
24
24
  end
25
25
 
26
26
  def test_deprecated_each_child
27
27
  nodes = []
28
- out, err = capture_io do
28
+ _, err = capture_io do
29
29
  @doc.first_child.each_child do |node|
30
30
  nodes << node.type
31
31
  end
32
32
  end
33
- assert_equal [:text, :emph, :text], nodes
34
- assert_match /`each_child` is deprecated/, err
33
+ assert_equal %i[text emph text], nodes
34
+ assert_match(/`each_child` is deprecated/, err)
35
35
  end
36
36
 
37
37
  def test_select
38
38
  nodes = @doc.first_child.select { |node| node.type == :text }
39
39
  assert_equal CommonMarker::Node, nodes.first.class
40
- assert_equal [:text, :text], nodes.map(&:type)
40
+ assert_equal %i[text text], nodes.map(&:type)
41
41
  end
42
42
 
43
43
  def test_map
44
44
  nodes = @doc.first_child.map(&:type)
45
- assert_equal [:text, :emph, :text], nodes
45
+ assert_equal %i[text emph text], nodes
46
46
  end
47
47
 
48
48
  def test_insert_illegal
@@ -63,9 +63,7 @@ class TestNode < Minitest::Test
63
63
 
64
64
  def test_walk_and_set_string_content
65
65
  @doc.walk do |node|
66
- if node.type == :text && node.string_content == 'there'
67
- node.string_content = 'world'
68
- end
66
+ node.string_content = 'world' if node.type == :text && node.string_content == 'there'
69
67
  end
70
68
  result = HtmlRenderer.new.render(@doc)
71
69
  assert_equal "<p>Hi <em>world</em>, I am mostly text!</p>\n", result
@@ -82,10 +80,10 @@ class TestNode < Minitest::Test
82
80
  end
83
81
 
84
82
  def test_inspect
85
- assert_match /#<CommonMarker::Node\(document\):/, @doc.inspect
83
+ assert_match(/#<CommonMarker::Node\(document\):/, @doc.inspect)
86
84
  end
87
85
 
88
86
  def test_pretty_print
89
- assert_match /#<CommonMarker::Node\(document\):/, PP.pp(@doc, ''.dup)
87
+ assert_match(/#<CommonMarker::Node\(document\):/, PP.pp(@doc, +''))
90
88
  end
91
89
  end
@@ -4,34 +4,34 @@ require 'test_helper'
4
4
 
5
5
  class TestExtensions < Minitest::Test
6
6
  def test_full_info_string
7
- md = <<-MD
8
- ```ruby
9
- module Foo
10
- ```
7
+ md = <<~MD
8
+ ```ruby
9
+ module Foo
10
+ ```
11
11
  MD
12
12
 
13
13
  CommonMarker.render_html(md, :FULL_INFO_STRING).tap do |out|
14
- assert_includes out, %q(<pre><code class="language-ruby">)
14
+ assert_includes out, '<pre><code class="language-ruby">'
15
15
  end
16
16
 
17
- md = <<-MD
18
- ```ruby my info string
19
- module Foo
20
- ```
17
+ md = <<~MD
18
+ ```ruby my info string
19
+ module Foo
20
+ ```
21
21
  MD
22
22
 
23
23
  CommonMarker.render_html(md, :FULL_INFO_STRING).tap do |out|
24
- assert_includes out, %q(<pre><code class="language-ruby" data-meta="my info string">)
24
+ assert_includes out, '<pre><code class="language-ruby" data-meta="my info string">'
25
25
  end
26
26
 
27
- md = <<-MD
28
- ```ruby my \x00 string
29
- module Foo
30
- ```
27
+ md = <<~MD
28
+ ```ruby my \x00 string
29
+ module Foo
30
+ ```
31
31
  MD
32
32
 
33
33
  CommonMarker.render_html(md, :FULL_INFO_STRING).tap do |out|
34
- assert_includes out, %Q(<pre><code class="language-ruby" data-meta="my � string">)
34
+ assert_includes out, %(<pre><code class="language-ruby" data-meta="my � string">)
35
35
  end
36
36
  end
37
37
  end
@@ -3,8 +3,8 @@
3
3
  require 'test_helper'
4
4
  require 'minitest/benchmark' if ENV['BENCH']
5
5
 
6
- def markdown(s)
7
- CommonMarker.render_doc(s).to_html
6
+ def markdown(str)
7
+ CommonMarker.render_doc(str).to_html
8
8
  end
9
9
 
10
10
  # list of pairs consisting of input and a regex that must match the output.
@@ -4,19 +4,19 @@ require 'test_helper'
4
4
 
5
5
  class TestPlaintext < Minitest::Test
6
6
  def setup
7
- @markdown = <<-MD
8
- Hi *there*!
7
+ @markdown = <<~MD
8
+ Hi *there*!
9
9
 
10
- 1. I am a numeric list.
11
- 2. I continue the list.
12
- * Suddenly, an unordered list!
13
- * What fun!
10
+ 1. I am a numeric list.
11
+ 2. I continue the list.
12
+ * Suddenly, an unordered list!
13
+ * What fun!
14
14
 
15
- Okay, _enough_.
15
+ Okay, _enough_.
16
16
 
17
- | a | b |
18
- | --- | --- |
19
- | c | d |
17
+ | a | b |
18
+ | --- | --- |
19
+ | c | d |
20
20
  MD
21
21
  end
22
22
 
@@ -27,20 +27,20 @@ Okay, _enough_.
27
27
  def test_to_commonmark
28
28
  compare = render_doc(@markdown).to_plaintext
29
29
 
30
- assert_equal <<-PLAINTEXT, compare
31
- Hi there!
30
+ assert_equal <<~PLAINTEXT, compare
31
+ Hi there!
32
32
 
33
- 1. I am a numeric list.
34
- 2. I continue the list.
33
+ 1. I am a numeric list.
34
+ 2. I continue the list.
35
35
 
36
- - Suddenly, an unordered list!
37
- - What fun!
36
+ - Suddenly, an unordered list!
37
+ - What fun!
38
38
 
39
- Okay, enough.
39
+ Okay, enough.
40
40
 
41
- | a | b |
42
- | --- | --- |
43
- | c | d |
44
- PLAINTEXT
41
+ | a | b |
42
+ | --- | --- |
43
+ | c | d |
44
+ PLAINTEXT
45
45
  end
46
46
  end
@@ -14,16 +14,16 @@ class TestRenderer < Minitest::Test
14
14
  end
15
15
 
16
16
  def test_multiple_tables
17
- content = '''
18
- | Input | Expected | Actual |
19
- | ----------- | ---------------- | --------- |
20
- | One | Two | Three |
17
+ content = <<~DOC
18
+ | Input | Expected | Actual |
19
+ | ----------- | ---------------- | --------- |
20
+ | One | Two | Three |
21
21
 
22
- | Header | Row | Example |
23
- | :------: | ---: | :------ |
24
- | Foo | Bar | Baz |
25
- '''
26
- doc = CommonMarker.render_doc(content, :DEFAULT, [:autolink, :table, :tagfilter])
22
+ | Header | Row | Example |
23
+ | :------: | ---: | :------ |
24
+ | Foo | Bar | Baz |
25
+ DOC
26
+ doc = CommonMarker.render_doc(content, :DEFAULT, %i[autolink table tagfilter])
27
27
  results = CommonMarker::HtmlRenderer.new.render(doc)
28
28
  assert_equal 2, results.scan(/<tbody>/).size
29
29
  end
@@ -8,6 +8,7 @@ class TestSpec < Minitest::Test
8
8
 
9
9
  spec.each do |testcase|
10
10
  next if testcase[:extensions].include?(:disabled)
11
+
11
12
  doc = CommonMarker.render_doc(testcase[:markdown], :DEFAULT, testcase[:extensions])
12
13
 
13
14
  define_method("test_to_html_example_#{testcase[:example]}") do
@@ -21,8 +22,8 @@ class TestSpec < Minitest::Test
21
22
  end
22
23
 
23
24
  define_method("test_sourcepos_example_#{testcase[:example]}") do
24
- lhs = doc.to_html([:UNSAFE, :SOURCEPOS], testcase[:extensions]).rstrip
25
- rhs = HtmlRenderer.new(options: [:UNSAFE, :SOURCEPOS], extensions: testcase[:extensions]).render(doc).rstrip
25
+ lhs = doc.to_html(%i[UNSAFE SOURCEPOS], testcase[:extensions]).rstrip
26
+ rhs = HtmlRenderer.new(options: %i[UNSAFE SOURCEPOS], extensions: testcase[:extensions]).render(doc).rstrip
26
27
  assert_equal lhs, rhs, testcase[:markdown]
27
28
  end
28
29
  end
@@ -7,13 +7,13 @@ class TestTasklists < Minitest::Test
7
7
  text = <<-MD
8
8
  - [x] Add task list
9
9
  - [ ] Define task list
10
- MD
10
+ MD
11
11
  @doc = CommonMarker.render_doc(text, :DEFAULT, %i[tasklist])
12
- @expected = <<-HTML
13
- <ul>
14
- <li><input type="checkbox" checked="" disabled="" /> Add task list</li>
15
- <li><input type="checkbox" disabled="" /> Define task list</li>
16
- </ul>
12
+ @expected = <<~HTML
13
+ <ul>
14
+ <li><input type="checkbox" checked="" disabled="" /> Add task list</li>
15
+ <li><input type="checkbox" disabled="" /> Define task list</li>
16
+ </ul>
17
17
  HTML
18
18
  end
19
19
 
@@ -28,6 +28,16 @@ MD
28
28
  def test_tasklist_state
29
29
  list = @doc.first_child
30
30
  assert_equal 'checked', list.first_child.tasklist_state
31
+ assert list.first_child.tasklist_item_checked?
31
32
  assert_equal 'unchecked', list.first_child.next.tasklist_state
33
+ refute list.first_child.next.tasklist_item_checked?
34
+ end
35
+
36
+ def test_set_tasklist_state
37
+ list = @doc.first_child
38
+ list.first_child.tasklist_item_checked = false
39
+ refute list.first_child.tasklist_item_checked?
40
+ list.first_child.next.tasklist_item_checked = true
41
+ assert list.first_child.next.tasklist_item_checked?
32
42
  end
33
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commonmarker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.2
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-12-18 00:00:00.000000000 Z
12
+ date: 2020-01-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ruby-enum
@@ -26,63 +26,63 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0.5'
28
28
  - !ruby/object:Gem::Dependency
29
- name: minitest
29
+ name: awesome_print
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '5.6'
34
+ version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '5.6'
41
+ version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: minitest-focus
43
+ name: json
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '1.1'
48
+ version: '1.8'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '1.1'
55
+ version: '1.8'
56
56
  - !ruby/object:Gem::Dependency
57
- name: rake-compiler
57
+ name: minitest
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.9'
62
+ version: '5.6'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.9'
69
+ version: '5.6'
70
70
  - !ruby/object:Gem::Dependency
71
- name: json
71
+ name: minitest-focus
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 1.8.1
76
+ version: '1.1'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 1.8.1
83
+ version: '1.1'
84
84
  - !ruby/object:Gem::Dependency
85
- name: awesome_print
85
+ name: rake
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
@@ -96,33 +96,33 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: rake
99
+ name: rake-compiler
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '0'
104
+ version: '0.9'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ">="
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '0'
111
+ version: '0.9'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: rdoc
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '5.1'
118
+ version: '6.2'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '5.1'
125
+ version: '6.2'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: rubocop
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -283,7 +283,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
283
283
  requirements:
284
284
  - - ">="
285
285
  - !ruby/object:Gem::Version
286
- version: 2.0.0
286
+ version: '0'
287
287
  required_rubygems_version: !ruby/object:Gem::Requirement
288
288
  requirements:
289
289
  - - ">="
@@ -295,28 +295,28 @@ signing_key:
295
295
  specification_version: 4
296
296
  summary: CommonMark parser and renderer. Written in C, wrapped in Ruby.
297
297
  test_files:
298
- - test/benchmark.rb
299
- - test/fixtures/curly.md
300
- - test/fixtures/dingus.md
301
- - test/fixtures/strong.md
302
- - test/fixtures/table.md
303
298
  - test/test_attributes.rb
304
- - test/test_basics.rb
299
+ - test/test_linebreaks.rb
300
+ - test/test_doc.rb
301
+ - test/test_plaintext.rb
302
+ - test/test_pathological_inputs.rb
303
+ - test/test_node.rb
304
+ - test/test_maliciousness.rb
305
305
  - test/test_commands.rb
306
+ - test/test_tasklists.rb
306
307
  - test/test_commonmark.rb
307
- - test/test_doc.rb
308
308
  - test/test_encoding.rb
309
- - test/test_extensions.rb
309
+ - test/test_smartpunct.rb
310
+ - test/test_spec.rb
310
311
  - test/test_footnotes.rb
311
- - test/test_gc.rb
312
+ - test/test_extensions.rb
313
+ - test/fixtures/dingus.md
314
+ - test/fixtures/strong.md
315
+ - test/fixtures/table.md
316
+ - test/fixtures/curly.md
312
317
  - test/test_helper.rb
313
- - test/test_linebreaks.rb
314
- - test/test_maliciousness.rb
315
- - test/test_node.rb
316
318
  - test/test_options.rb
317
- - test/test_pathological_inputs.rb
318
- - test/test_plaintext.rb
319
+ - test/benchmark.rb
320
+ - test/test_basics.rb
319
321
  - test/test_renderer.rb
320
- - test/test_smartpunct.rb
321
- - test/test_spec.rb
322
- - test/test_tasklists.rb
322
+ - test/test_gc.rb