govspeak 1.5.1 → 1.5.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +13 -5
- data/lib/govspeak.rb +1 -1
- data/lib/govspeak/structured_header_extractor.rb +6 -0
- data/lib/govspeak/version.rb +1 -1
- data/test/govspeak_structured_headers_test.rb +38 -0
- data/test/govspeak_test.rb +8 -0
- metadata +20 -4
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,18 @@
|
|
1
|
+
## 1.5.2
|
2
|
+
|
3
|
+
* Fixed over-eager step list matching.
|
4
|
+
|
5
|
+
## 1.5.1
|
6
|
+
|
7
|
+
* Fixed newline matching and operating over multiple list blocks.
|
8
|
+
|
1
9
|
## 1.5.0
|
2
10
|
|
3
|
-
Added `$PriorityList:x` construct to class the first `x` list items with
|
4
|
-
`primary-item`.
|
5
|
-
Fixed `rcov` dependency.
|
11
|
+
* Added `$PriorityList:x` construct to class the first `x` list items with
|
12
|
+
`primary-item`.
|
13
|
+
* Fixed `rcov` dependency.
|
6
14
|
|
7
15
|
## 1.4.0
|
8
16
|
|
9
|
-
Added `#structured_headers` method to provide heirarchically structured
|
10
|
-
headers extracted from markdown text heading tags.
|
17
|
+
* Added `#structured_headers` method to provide heirarchically structured
|
18
|
+
headers extracted from markdown text heading tags.
|
data/lib/govspeak.rb
CHANGED
@@ -159,7 +159,7 @@ module Govspeak
|
|
159
159
|
%{<div class="address"><div class="adr org fn"><p>\n#{body.sub("\n", "").gsub("\n", "<br />")}\n</p></div></div>\n}
|
160
160
|
}
|
161
161
|
|
162
|
-
extension("numbered list",
|
162
|
+
extension("numbered list", /^\s*((s\d+\.\s.*(?:\n|$))+)/) do |body|
|
163
163
|
steps ||= 0
|
164
164
|
body.gsub!(/s(\d+)\.\s(.*)(?:\n|$)/) do |b|
|
165
165
|
"<li>#{Kramdown::Document.new($2.strip).to_html}</li>\n"
|
data/lib/govspeak/version.rb
CHANGED
@@ -68,6 +68,44 @@ class GovspeakStructuredHeadersTest < Test::Unit::TestCase
|
|
68
68
|
assert_equal "Sub heading 4.2", structured_headers[3].headers[1].text
|
69
69
|
end
|
70
70
|
|
71
|
+
test "structured headers serialize to hashes recursively serializing sub headers" do
|
72
|
+
serialized_headers = structured_headers[1].to_h
|
73
|
+
|
74
|
+
expected_serialized_headers = {
|
75
|
+
:text => "Heading 2",
|
76
|
+
:level => 2,
|
77
|
+
:id => "heading-2",
|
78
|
+
:headers => [
|
79
|
+
{
|
80
|
+
:text => "Sub heading 2.1",
|
81
|
+
:level => 3,
|
82
|
+
:id => "sub-heading-21",
|
83
|
+
:headers => [],
|
84
|
+
},
|
85
|
+
{
|
86
|
+
:text => "Sub heading 2.2",
|
87
|
+
:level => 3,
|
88
|
+
:id => "sub-heading-22",
|
89
|
+
:headers => [
|
90
|
+
{
|
91
|
+
:text => "Sub sub heading 2.2.1",
|
92
|
+
:level => 4,
|
93
|
+
:id => "sub-sub-heading-221",
|
94
|
+
:headers => []
|
95
|
+
},
|
96
|
+
],
|
97
|
+
},
|
98
|
+
{
|
99
|
+
:text => "Sub heading 2.3",
|
100
|
+
:level => 3, :id=>"sub-heading-23",
|
101
|
+
:headers => []
|
102
|
+
},
|
103
|
+
],
|
104
|
+
}
|
105
|
+
|
106
|
+
assert_equal expected_serialized_headers, serialized_headers
|
107
|
+
end
|
108
|
+
|
71
109
|
def invalid_document_body
|
72
110
|
%{
|
73
111
|
### Invalid heading (h3)
|
data/test/govspeak_test.rb
CHANGED
@@ -374,6 +374,14 @@ $CTA
|
|
374
374
|
assert_text_output "zippy bungle george"
|
375
375
|
end
|
376
376
|
|
377
|
+
test_given_govspeak "
|
378
|
+
Zippy, Bungle and George did not qualify for the tax exemption in s428. They filled in their tax return accordingly.
|
379
|
+
" do
|
380
|
+
assert_html_output %{
|
381
|
+
<p>Zippy, Bungle and George did not qualify for the tax exemption in s428. They filled in their tax return accordingly.</p>
|
382
|
+
}
|
383
|
+
end
|
384
|
+
|
377
385
|
test_given_govspeak ":scotland: I am very devolved\n and very scottish \n:scotland:" do
|
378
386
|
assert_html_output '
|
379
387
|
<div class="devolved-content scotland">
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govspeak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-05-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: kramdown
|
@@ -60,6 +60,22 @@ dependencies:
|
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 2.0.3
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: nokogiri
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.5.10
|
71
|
+
type: :runtime
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.5.10
|
63
79
|
- !ruby/object:Gem::Dependency
|
64
80
|
name: rake
|
65
81
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,7 +181,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
165
181
|
version: '0'
|
166
182
|
segments:
|
167
183
|
- 0
|
168
|
-
hash:
|
184
|
+
hash: 1265897029881878331
|
169
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
186
|
none: false
|
171
187
|
requirements:
|
@@ -174,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
190
|
version: '0'
|
175
191
|
segments:
|
176
192
|
- 0
|
177
|
-
hash:
|
193
|
+
hash: 1265897029881878331
|
178
194
|
requirements: []
|
179
195
|
rubyforge_project:
|
180
196
|
rubygems_version: 1.8.23
|