lilac 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +11 -0
- data/ChangeLog +7 -0
- data/README.md +30 -10
- data/lib/lilac/parser.rb +20 -10
- data/lib/lilac/renderer.rb +14 -26
- data/lib/lilac/version.rb +1 -1
- data/test/integration/asciidoc_test.rb +32 -6
- data/test/integration/markdown_test.rb +3 -6
- data/test/parser_test.rb +90 -20
- data/test/renderer_test.rb +123 -19
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee5d4180a4c8db8c7c6202b2cbf417e5b470c919
|
4
|
+
data.tar.gz: fc84747b276a3c216517546169a25031fedc7e61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cab0cdfa60254edcd25e6e49e0218ed64e70388053f279862830cf9260a9a5a51f3588c07680c7ff3af18152ecc5a25779a44731eb8c9beb85f122ddd3392c8
|
7
|
+
data.tar.gz: f3aea5a2486a662dd3e52d0f8c04e1734088fb7b878984beb36f42b922e035783b233df92845315bc4fba3cd3a1fd8c66cdbbef96e7411fcac974779762bb397
|
data/.travis.yml
ADDED
data/ChangeLog
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# ChangeLog for lilac
|
2
2
|
# Copyright 2014,2015 Yasuhiro Asaka; Distributed under the MIT License
|
3
3
|
|
4
|
+
20 Mar 2015; Yasuhiro Asaka <grauwoelfchen@gmail.com> lilac/parser.rb,
|
5
|
+
lilac/renderer.rb, lilac/version.rb:
|
6
|
+
Fix list tag structure as standard HTML
|
7
|
+
|
8
|
+
21 Jan 2015; Yasuhiro Asaka <grauwoelfchen@gmail.com> +.travis.yml:
|
9
|
+
Enter travis CI
|
10
|
+
|
4
11
|
21 Jan 2015; Yasuhiro Asaka <grauwoelfchen@gmail.com> +ChangeLog:
|
5
12
|
Add Homepage into gemspec and ChangeLog file.
|
6
13
|
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Lilac
|
2
2
|
|
3
|
+
[![Build Status](https://secure.travis-ci.org/grauwoelfchen/lilac.png)](http://travis-ci.org/grauwoelfchen/lilac)
|
4
|
+
|
3
5
|
Lilac (luxury indented list another converter) is list converter
|
4
6
|
that supports list styles of several lightweight markup languages.
|
5
7
|
|
@@ -12,6 +14,11 @@ that supports list styles of several lightweight markup languages.
|
|
12
14
|
|
13
15
|
## Installation
|
14
16
|
|
17
|
+
```sh
|
18
|
+
$ gem install lilac
|
19
|
+
```
|
20
|
+
|
21
|
+
|
15
22
|
```sh
|
16
23
|
$ git clone https://github.com/grauwoelfchen/lilac.git
|
17
24
|
```
|
@@ -31,7 +38,14 @@ text = <<TEXT
|
|
31
38
|
TEXT
|
32
39
|
|
33
40
|
list = Lilac::List.new(text)
|
34
|
-
puts list.to_html #=>
|
41
|
+
puts list.to_html #=>
|
42
|
+
<ul>
|
43
|
+
<li>foo
|
44
|
+
<ul>
|
45
|
+
<li>...</li>
|
46
|
+
</ul>
|
47
|
+
</li>
|
48
|
+
</ul>
|
35
49
|
```
|
36
50
|
|
37
51
|
### Command line
|
@@ -42,7 +56,13 @@ $ lilac
|
|
42
56
|
** bar
|
43
57
|
*** baz
|
44
58
|
;; press ^D
|
45
|
-
<ul
|
59
|
+
<ul>
|
60
|
+
<li>foo
|
61
|
+
<ul>
|
62
|
+
<li>...</li>
|
63
|
+
</ul>
|
64
|
+
</li>
|
65
|
+
</ul>
|
46
66
|
```
|
47
67
|
|
48
68
|
### Supported list styles
|
@@ -69,11 +89,9 @@ $ lilac
|
|
69
89
|
|
70
90
|
;; p list.to_html
|
71
91
|
<ul>
|
72
|
-
<li>foo
|
73
|
-
<li>
|
92
|
+
<li>foo
|
74
93
|
<ul>
|
75
|
-
<li>bar
|
76
|
-
<li>
|
94
|
+
<li>bar
|
77
95
|
<ul>
|
78
96
|
<li>baz</li>
|
79
97
|
</ul>
|
@@ -92,11 +110,9 @@ $ lilac
|
|
92
110
|
|
93
111
|
;; p list.to_html
|
94
112
|
<ul>
|
95
|
-
<li>foo
|
96
|
-
<li>
|
113
|
+
<li>foo
|
97
114
|
<ul>
|
98
|
-
<li>bar
|
99
|
-
<li>
|
115
|
+
<li>bar
|
100
116
|
<ul>
|
101
117
|
<li>baz</li>
|
102
118
|
</ul>
|
@@ -106,6 +122,10 @@ $ lilac
|
|
106
122
|
</ul>
|
107
123
|
```
|
108
124
|
|
125
|
+
## Rendered List
|
126
|
+
|
127
|
+
see [HTML lists - W3C Wiki](http://www.w3.org/wiki/HTML_lists#Nesting_lists)
|
128
|
+
|
109
129
|
|
110
130
|
## License
|
111
131
|
|
data/lib/lilac/parser.rb
CHANGED
@@ -32,28 +32,38 @@ module Lilac
|
|
32
32
|
}
|
33
33
|
end
|
34
34
|
|
35
|
+
# TODO
|
36
|
+
# * remove magic number
|
37
|
+
# * remove destructive method to reference
|
35
38
|
def handle_line(line, acc)
|
36
39
|
if line =~ /^(\*+)\s/
|
37
40
|
level = $1.length
|
38
41
|
text = line.gsub($1, "")
|
39
42
|
if level == 1
|
40
|
-
acc << [:li, handle_text(text)]
|
43
|
+
acc << [:li, [handle_text(text)]]
|
41
44
|
elsif !acc.empty?
|
42
45
|
cur = ul = acc
|
43
46
|
# progression
|
44
|
-
# ** ->
|
45
|
-
# *** ->
|
46
|
-
# **** ->
|
47
|
-
# ***** ->
|
48
|
-
inspection =
|
47
|
+
# ** -> 1
|
48
|
+
# *** -> 5
|
49
|
+
# **** -> 9
|
50
|
+
# ***** -> 13
|
51
|
+
inspection = 1 + (4 * (level - 2))
|
49
52
|
inspection.times { cur = cur.last if cur }
|
50
53
|
case cur.first
|
51
54
|
when :ul
|
52
|
-
cur.last << [:li, handle_text(text)]
|
55
|
+
cur.last << [:li, [handle_text(text)]]
|
53
56
|
else
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
+
sib = nil
|
58
|
+
begin; sib = cur.last.last.last.last; rescue NoMethodError; end
|
59
|
+
if sib && sib.first == :li
|
60
|
+
# apeend as siblings
|
61
|
+
cur = cur.last.last
|
62
|
+
cur[-1] += [[:li, [handle_text(text)]]]
|
63
|
+
else
|
64
|
+
# nest
|
65
|
+
cur[-1] += [[:ul, [[:li, [handle_text(text)]]]]]
|
66
|
+
end
|
57
67
|
end
|
58
68
|
end
|
59
69
|
end
|
data/lib/lilac/renderer.rb
CHANGED
@@ -5,37 +5,25 @@ module Lilac
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def render
|
8
|
-
|
9
|
-
acc << build(t, b, 1)
|
10
|
-
acc
|
11
|
-
}.instance_eval { |rendered_list|
|
12
|
-
"<ul>#{rendered_list}</ul>"
|
13
|
-
}
|
8
|
+
build(:ul, @data)
|
14
9
|
end
|
15
10
|
|
16
11
|
private
|
17
12
|
|
18
|
-
def build(tag, block
|
13
|
+
def build(tag, block)
|
14
|
+
wrap(tag, block.inject("") { |acc, elems|
|
15
|
+
acc << elems.each_cons(2).map { |t, b|
|
16
|
+
t == :text ? b : build(t, b)
|
17
|
+
}.join
|
18
|
+
acc
|
19
|
+
})
|
20
|
+
end
|
21
|
+
|
22
|
+
def wrap(tag, content)
|
19
23
|
case tag
|
20
|
-
when :ul
|
21
|
-
|
22
|
-
|
23
|
-
}.join.instance_eval { |li|
|
24
|
-
"<ul>#{li}</ul>"
|
25
|
-
}
|
26
|
-
when :li
|
27
|
-
case block.first
|
28
|
-
when :text
|
29
|
-
build(:text, "<li>" + block.last.to_s + "</li>")
|
30
|
-
when :ul
|
31
|
-
block.last.map { |t, b|
|
32
|
-
build(t, b, lv + 1)
|
33
|
-
}.join.instance_eval { |li|
|
34
|
-
"<li><ul>#{li}</ul></li>"
|
35
|
-
}
|
36
|
-
end
|
37
|
-
else # text
|
38
|
-
block
|
24
|
+
when :ul ; "<ul>#{content}</ul>"
|
25
|
+
when :li ; "<li>#{content}</li>"
|
26
|
+
else # pass
|
39
27
|
end
|
40
28
|
end
|
41
29
|
end
|
data/lib/lilac/version.rb
CHANGED
@@ -60,8 +60,7 @@ class AsciidocTest < Minitest::Test
|
|
60
60
|
TEXT
|
61
61
|
expected = <<-LIST.gsub(/\n|\s/, "")
|
62
62
|
<ul>
|
63
|
-
<li>foo
|
64
|
-
<li>
|
63
|
+
<li>foo
|
65
64
|
<ul>
|
66
65
|
<li>bar</li>
|
67
66
|
<li>baz</li>
|
@@ -81,17 +80,44 @@ class AsciidocTest < Minitest::Test
|
|
81
80
|
TEXT
|
82
81
|
expected = <<-LIST.gsub(/\n|\s/, "")
|
83
82
|
<ul>
|
84
|
-
<li>foo
|
85
|
-
<li>
|
83
|
+
<li>foo
|
86
84
|
<ul>
|
87
|
-
<li>bar
|
88
|
-
|
85
|
+
<li>bar
|
86
|
+
<ul>
|
87
|
+
<li>baz</li>
|
88
|
+
</ul>
|
89
|
+
</li>
|
90
|
+
</ul>
|
91
|
+
</li>
|
92
|
+
</ul>
|
93
|
+
LIST
|
94
|
+
list = Lilac::List.new(text)
|
95
|
+
assert_equal expected, list.to_html
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_asterisk_bullet_complicated_list
|
99
|
+
text = <<-TEXT.gsub(/^\s{4}/, "")
|
100
|
+
* foo
|
101
|
+
** bar
|
102
|
+
*** baz
|
103
|
+
** qux
|
104
|
+
** quux
|
105
|
+
* bye
|
106
|
+
TEXT
|
107
|
+
expected = <<-LIST.gsub(/\n|\s/, "")
|
108
|
+
<ul>
|
109
|
+
<li>foo
|
110
|
+
<ul>
|
111
|
+
<li>bar
|
89
112
|
<ul>
|
90
113
|
<li>baz</li>
|
91
114
|
</ul>
|
92
115
|
</li>
|
116
|
+
<li>qux</li>
|
117
|
+
<li>quux</li>
|
93
118
|
</ul>
|
94
119
|
</li>
|
120
|
+
<li>bye</li>
|
95
121
|
</ul>
|
96
122
|
LIST
|
97
123
|
list = Lilac::List.new(text)
|
@@ -61,8 +61,7 @@ class MarkdownTest < Minitest::Test
|
|
61
61
|
TEXT
|
62
62
|
expected = <<-LIST.gsub(/\n|\s/, "")
|
63
63
|
<ul>
|
64
|
-
<li>foo
|
65
|
-
<li>
|
64
|
+
<li>foo
|
66
65
|
<ul>
|
67
66
|
<li>bar</li>
|
68
67
|
<li>baz</li>
|
@@ -82,11 +81,9 @@ class MarkdownTest < Minitest::Test
|
|
82
81
|
TEXT
|
83
82
|
expected = <<-LIST.gsub(/\n|\s/, "")
|
84
83
|
<ul>
|
85
|
-
<li>foo
|
86
|
-
<li>
|
84
|
+
<li>foo
|
87
85
|
<ul>
|
88
|
-
<li>bar
|
89
|
-
<li>
|
86
|
+
<li>bar
|
90
87
|
<ul>
|
91
88
|
<li>baz</li>
|
92
89
|
</ul>
|
data/test/parser_test.rb
CHANGED
@@ -62,31 +62,49 @@ class Lilac::ParserTest < Minitest::Test
|
|
62
62
|
acc = []
|
63
63
|
parser.send(:handle_line, "* foo", acc)
|
64
64
|
expected = [
|
65
|
-
[:li, [
|
65
|
+
[:li, [
|
66
|
+
[:text, "foo"]
|
67
|
+
]]
|
66
68
|
]
|
67
69
|
assert_equal expected, acc
|
68
70
|
end
|
69
71
|
|
70
72
|
def test_should_extract_valid_1_level_depth_multiple_lines
|
71
73
|
parser = Lilac::Parser.new
|
72
|
-
acc = [
|
74
|
+
acc = [
|
75
|
+
[:li, [
|
76
|
+
[:text, "foo"]
|
77
|
+
]]
|
78
|
+
]
|
73
79
|
parser.send(:handle_line, "* bar", acc)
|
74
80
|
expected = [
|
75
|
-
[:li, [
|
76
|
-
|
81
|
+
[:li, [
|
82
|
+
[:text, "foo"]
|
83
|
+
]],
|
84
|
+
[:li, [
|
85
|
+
[:text, "bar"]
|
86
|
+
]]
|
77
87
|
]
|
78
88
|
assert_equal expected, acc
|
79
89
|
end
|
80
90
|
|
81
91
|
def test_should_extract_valid_2_level_depth_lines
|
82
92
|
parser = Lilac::Parser.new
|
83
|
-
acc = [
|
93
|
+
acc = [
|
94
|
+
[:li, [
|
95
|
+
[:text, "foo"]
|
96
|
+
]]
|
97
|
+
]
|
84
98
|
parser.send(:handle_line, "** bar", acc)
|
85
99
|
expected = [
|
86
|
-
[:li, [
|
87
|
-
|
88
|
-
[:
|
89
|
-
|
100
|
+
[:li, [
|
101
|
+
[:text, "foo"],
|
102
|
+
[:ul, [
|
103
|
+
[:li, [
|
104
|
+
[:text, "bar"]
|
105
|
+
]]
|
106
|
+
]]
|
107
|
+
]]
|
90
108
|
]
|
91
109
|
assert_equal expected, acc
|
92
110
|
end
|
@@ -94,24 +112,76 @@ class Lilac::ParserTest < Minitest::Test
|
|
94
112
|
def test_should_extract_valid_3_level_depth_lines
|
95
113
|
parser = Lilac::Parser.new
|
96
114
|
acc = [
|
97
|
-
[:li, [
|
98
|
-
|
99
|
-
[:
|
100
|
-
|
115
|
+
[:li, [
|
116
|
+
[:text, "foo"],
|
117
|
+
[:ul, [
|
118
|
+
[:li, [
|
119
|
+
[:text, "bar"]
|
120
|
+
]]
|
121
|
+
]]
|
122
|
+
]]
|
101
123
|
]
|
102
124
|
parser.send(:handle_line, "*** baz", acc)
|
103
125
|
expected = [
|
104
|
-
[:li, [
|
105
|
-
|
106
|
-
[:
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
126
|
+
[:li, [
|
127
|
+
[:text, "foo"],
|
128
|
+
[:ul, [
|
129
|
+
[:li, [
|
130
|
+
[:text, "bar"],
|
131
|
+
[:ul, [
|
132
|
+
[:li, [
|
133
|
+
[:text, "baz"]
|
134
|
+
]]
|
135
|
+
]]
|
136
|
+
]]
|
137
|
+
]]
|
138
|
+
]]
|
111
139
|
]
|
112
140
|
assert_equal expected, acc
|
113
141
|
end
|
114
142
|
|
143
|
+
def test_should_extract_valid_4_level_depth_lines
|
144
|
+
parser = Lilac::Parser.new
|
145
|
+
acc = [
|
146
|
+
[:li, [
|
147
|
+
[:text, "foo"],
|
148
|
+
[:ul, [
|
149
|
+
[:li, [
|
150
|
+
[:text, "bar"],
|
151
|
+
[:ul, [
|
152
|
+
[:li, [
|
153
|
+
[:text, "baz"]
|
154
|
+
]]
|
155
|
+
]]
|
156
|
+
]]
|
157
|
+
]]
|
158
|
+
]]
|
159
|
+
]
|
160
|
+
parser.send(:handle_line, "**** qux", acc)
|
161
|
+
expected = [
|
162
|
+
[:li, [
|
163
|
+
[:text, "foo"],
|
164
|
+
[:ul, [
|
165
|
+
[:li, [
|
166
|
+
[:text, "bar"],
|
167
|
+
[:ul, [
|
168
|
+
[:li, [
|
169
|
+
[:text, "baz"],
|
170
|
+
[:ul, [
|
171
|
+
[:li, [
|
172
|
+
[:text, "qux"]
|
173
|
+
]]
|
174
|
+
]]
|
175
|
+
]]
|
176
|
+
]]
|
177
|
+
]]
|
178
|
+
]]
|
179
|
+
]]
|
180
|
+
]
|
181
|
+
assert_equal expected, acc
|
182
|
+
end
|
183
|
+
|
184
|
+
|
115
185
|
def test_should_remove_line_break
|
116
186
|
parser = Lilac::Parser.new
|
117
187
|
assert_equal [:text, "foo"], parser.send(:handle_text, "foo\n")
|
data/test/renderer_test.rb
CHANGED
@@ -1,42 +1,146 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
3
|
class Lilac::RendererTest < Minitest::Test
|
4
|
-
def test_should_return_html_string
|
5
|
-
data = [[:li, [:text, "foo"]]]
|
6
|
-
renderer = Lilac::Renderer.new(data)
|
7
|
-
assert_instance_of String, renderer.render
|
8
|
-
end
|
9
|
-
|
10
4
|
def test_should_raise_error_without_enumerable_data
|
11
5
|
data = "invalid"
|
12
6
|
renderer = Lilac::Renderer.new(data)
|
13
|
-
assert_raises
|
7
|
+
assert_raises(NoMethodError) do
|
14
8
|
renderer.render
|
15
9
|
end
|
16
10
|
end
|
17
11
|
|
18
|
-
def
|
19
|
-
data = [[:li, [:text, "
|
12
|
+
def test_should_wrap_rendered_list_with_ul_tag
|
13
|
+
data = [[:li, [[:text, "bar"]]]]
|
20
14
|
renderer = Lilac::Renderer.new(data)
|
21
|
-
expected = "
|
22
|
-
|
15
|
+
expected = <<-HTML.gsub(/^\s*|\n/, "")
|
16
|
+
<ul>
|
17
|
+
<li>bar</li>
|
18
|
+
</ul>
|
19
|
+
HTML
|
20
|
+
assert_equal(expected, renderer.render)
|
23
21
|
end
|
24
22
|
|
25
|
-
|
23
|
+
# build
|
24
|
+
|
25
|
+
def test_should_build_text_tag
|
26
26
|
renderer = Lilac::Renderer.new
|
27
|
-
expected = "
|
28
|
-
|
27
|
+
expected = <<-HTML.gsub(/^\s*|\n/, "")
|
28
|
+
<li>foo</li>
|
29
|
+
HTML
|
30
|
+
block = [
|
31
|
+
[:text, "foo"]
|
32
|
+
]
|
33
|
+
assert_equal(expected, renderer.send(:build, :li, block))
|
29
34
|
end
|
30
35
|
|
31
36
|
def test_should_build_li_tag
|
32
37
|
renderer = Lilac::Renderer.new
|
33
|
-
expected = "
|
34
|
-
|
38
|
+
expected = <<-HTML.gsub(/^\s*|\n/, "")
|
39
|
+
<ul>
|
40
|
+
<li>foo</li>
|
41
|
+
</ul>
|
42
|
+
HTML
|
43
|
+
block = [
|
44
|
+
[:li, [
|
45
|
+
[:text, "foo"]
|
46
|
+
]]
|
47
|
+
]
|
48
|
+
assert_equal expected, renderer.send(:build, :ul, block)
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_should_build_multiple_li_tags
|
52
|
+
renderer = Lilac::Renderer.new
|
53
|
+
expected = <<-HTML.gsub(/^\s*|\n/, "")
|
54
|
+
<ul>
|
55
|
+
<li>foo</li>
|
56
|
+
<li>bar</li>
|
57
|
+
</ul>
|
58
|
+
HTML
|
59
|
+
block = [
|
60
|
+
[:li, [
|
61
|
+
[:text, "foo"]
|
62
|
+
]],
|
63
|
+
[:li, [
|
64
|
+
[:text, "bar"]
|
65
|
+
]]
|
66
|
+
]
|
67
|
+
assert_equal expected, renderer.send(:build, :ul, block)
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_should_build_ul_tag
|
71
|
+
renderer = Lilac::Renderer.new
|
72
|
+
expected = <<-HTML.gsub(/^\s*|\n/, "")
|
73
|
+
<ul>
|
74
|
+
<li>
|
75
|
+
<ul>foo</ul>
|
76
|
+
</li>
|
77
|
+
</ul>
|
78
|
+
HTML
|
79
|
+
block = [
|
80
|
+
[:li, [
|
81
|
+
[:ul, [
|
82
|
+
[:text, "foo"]
|
83
|
+
]]
|
84
|
+
]]
|
85
|
+
]
|
86
|
+
assert_equal(expected, renderer.send(:build, :ul, block))
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_should_build_nested_ul_tag
|
90
|
+
renderer = Lilac::Renderer.new
|
91
|
+
expected = <<-HTML.gsub(/^\s*|\n/, "")
|
92
|
+
<ul>
|
93
|
+
<li>foo
|
94
|
+
<ul>
|
95
|
+
<li>bar</li>
|
96
|
+
</ul>
|
97
|
+
</li>
|
98
|
+
</ul>
|
99
|
+
HTML
|
100
|
+
block = [
|
101
|
+
[:li, [
|
102
|
+
[:text, "foo"],
|
103
|
+
[:ul, [
|
104
|
+
[:li, [
|
105
|
+
[:text, "bar"]]]
|
106
|
+
]]
|
107
|
+
]]
|
108
|
+
]
|
109
|
+
assert_equal(expected, renderer.send(:build, :ul, block))
|
35
110
|
end
|
36
111
|
|
37
|
-
def
|
112
|
+
def test_should_build_deep_nested_ul_tag
|
38
113
|
renderer = Lilac::Renderer.new
|
39
|
-
expected = "
|
40
|
-
|
114
|
+
expected = <<-HTML.gsub(/^\s*|\n/, "")
|
115
|
+
<ul>
|
116
|
+
<li>foo</li>
|
117
|
+
<li>bar
|
118
|
+
<ul>
|
119
|
+
<li>baz</li>
|
120
|
+
<li>qux
|
121
|
+
<ul>
|
122
|
+
<li>quux</li>
|
123
|
+
</ul>
|
124
|
+
</li>
|
125
|
+
</ul>
|
126
|
+
</li>
|
127
|
+
</ul>
|
128
|
+
HTML
|
129
|
+
block = [
|
130
|
+
[:li, [[:text, "foo"]]],
|
131
|
+
[:li, [
|
132
|
+
[:text, "bar"],
|
133
|
+
[:ul, [
|
134
|
+
[:li, [[:text, "baz"]]],
|
135
|
+
[:li, [
|
136
|
+
[:text, "qux"],
|
137
|
+
[:ul, [
|
138
|
+
[:li, [[:text, "quux"]]]
|
139
|
+
]]
|
140
|
+
]]
|
141
|
+
]]
|
142
|
+
]]
|
143
|
+
]
|
144
|
+
assert_equal(expected, renderer.send(:build, :ul, block))
|
41
145
|
end
|
42
146
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lilac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yasuhiro Asaka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -61,6 +61,7 @@ extensions: []
|
|
61
61
|
extra_rdoc_files: []
|
62
62
|
files:
|
63
63
|
- ".gitignore"
|
64
|
+
- ".travis.yml"
|
64
65
|
- ChangeLog
|
65
66
|
- Gemfile
|
66
67
|
- LICENSE.txt
|
@@ -101,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
102
|
version: '0'
|
102
103
|
requirements: []
|
103
104
|
rubyforge_project:
|
104
|
-
rubygems_version: 2.
|
105
|
+
rubygems_version: 2.4.5
|
105
106
|
signing_key:
|
106
107
|
specification_version: 4
|
107
108
|
summary: Luxury Indented List Another Converter
|