govspeak 5.2.1 → 5.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/govspeak.rb +2 -2
- data/lib/govspeak/version.rb +1 -1
- data/test/govspeak_button_test.rb +49 -0
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b89deebe8f9edfbab700411aad9fe2a35920ea1
|
4
|
+
data.tar.gz: 0c2bdf232a565f530966c9cf5799e6d856690e35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e70fdccd35a61cc375508ae191b2264ed294ad5d9c578d1776fdae7be705be5c21ed2dd8dc05fb28e97e2599faf655aaf164d24baab3cd986e8557fe1954e19a
|
7
|
+
data.tar.gz: 4d3bbd83d9a8b487bac5fc59bc1bb9ad55c6f93ea1fd489f9b44d41a68efd803a326da21ecfb3a2b16915b62031e381359440c2fab751144ade636c137dc53bb
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 5.2.2
|
2
|
+
* Fix rendering buttons with inconsistent linebreaks seen in publishing [#118](https://github.com/alphagov/govspeak/pull/118)
|
3
|
+
|
1
4
|
## 5.2.1
|
2
5
|
* Fix validation to make sure buttons are considered valid
|
3
6
|
* Only allow buttons to be used on new lines, not when indented or inline within text (useful for guides) [#116](https://github.com/alphagov/govspeak/pull/116)
|
data/lib/govspeak.rb
CHANGED
@@ -136,7 +136,7 @@ module Govspeak
|
|
136
136
|
end
|
137
137
|
|
138
138
|
extension('button', %r{
|
139
|
-
|
139
|
+
(?:\r|\n|^) # non-capturing match to make sure start of line and linebreak
|
140
140
|
{button(.*?)} # match opening bracket and capture attributes
|
141
141
|
\s* # any whitespace between opening bracket and link
|
142
142
|
\[ # match start of link markdown
|
@@ -147,7 +147,7 @@ module Govspeak
|
|
147
147
|
\) # match end of link text markdown
|
148
148
|
\s* # any whitespace between opening bracket and link
|
149
149
|
{\/button} # match ending bracket
|
150
|
-
|
150
|
+
(?:\r|\n|$) # non-capturing match to make sure end of line and linebreak
|
151
151
|
}x) { |attributes, text, href|
|
152
152
|
button_classes = "button"
|
153
153
|
button_classes << " button-start" if attributes =~ /start/
|
data/lib/govspeak/version.rb
CHANGED
@@ -79,4 +79,53 @@ class GovspeakTest < Minitest::Test
|
|
79
79
|
</code></pre>
|
80
80
|
}
|
81
81
|
end
|
82
|
+
|
83
|
+
# Make sure button renders when typical linebreaks are before it, seen in publishing applications
|
84
|
+
test_given_govspeak "{button}[Line breaks](https://gov.uk/random){/button}\r\n\r\n{button}[Continue](https://gov.uk/random){/button}\r\n\r\n{button}[Continue](https://gov.uk/random){/button}" do
|
85
|
+
assert_html_output %{
|
86
|
+
<p><a role="button" class="button" href="https://gov.uk/random">Line breaks</a></p>
|
87
|
+
|
88
|
+
<p><a role="button" class="button" href="https://gov.uk/random">Continue</a></p>
|
89
|
+
|
90
|
+
<p><a role="button" class="button" href="https://gov.uk/random">Continue</a></p>
|
91
|
+
}
|
92
|
+
end
|
93
|
+
|
94
|
+
test_given_govspeak "{button}[More line breaks](https://gov.uk/random){/button}\n\n{button}[Continue](https://gov.uk/random){/button}\n\n{button}[Continue](https://gov.uk/random){/button}" do
|
95
|
+
assert_html_output %{
|
96
|
+
<p><a role="button" class="button" href="https://gov.uk/random">More line breaks</a></p>
|
97
|
+
|
98
|
+
<p><a role="button" class="button" href="https://gov.uk/random">Continue</a></p>
|
99
|
+
|
100
|
+
<p><a role="button" class="button" href="https://gov.uk/random">Continue</a></p>
|
101
|
+
}
|
102
|
+
end
|
103
|
+
|
104
|
+
test_given_govspeak %{
|
105
|
+
## Register to vote
|
106
|
+
|
107
|
+
Introduction text about the service.
|
108
|
+
|
109
|
+
lorem lorem lorem
|
110
|
+
lorem lorem lorem
|
111
|
+
|
112
|
+
{button start}[Start Now](https://gov.uk/random){/button}
|
113
|
+
|
114
|
+
lorem lorem lorem
|
115
|
+
lorem lorem lorem
|
116
|
+
} do
|
117
|
+
assert_html_output %{
|
118
|
+
<h2 id="register-to-vote">Register to vote</h2>
|
119
|
+
|
120
|
+
<p>Introduction text about the service.</p>
|
121
|
+
|
122
|
+
<p>lorem lorem lorem
|
123
|
+
lorem lorem lorem</p>
|
124
|
+
|
125
|
+
<p><a role="button" class="button button-start" href="https://gov.uk/random">Start Now</a></p>
|
126
|
+
|
127
|
+
<p>lorem lorem lorem
|
128
|
+
lorem lorem lorem</p>
|
129
|
+
}
|
130
|
+
end
|
82
131
|
end
|
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: 5.2.
|
4
|
+
version: 5.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Griffiths
|
@@ -320,18 +320,18 @@ signing_key:
|
|
320
320
|
specification_version: 4
|
321
321
|
summary: Markup language for single domain
|
322
322
|
test_files:
|
323
|
+
- test/blockquote_extra_quote_remover_test.rb
|
323
324
|
- test/govspeak_test_helper.rb
|
324
|
-
- test/
|
325
|
+
- test/govspeak_structured_headers_test.rb
|
325
326
|
- test/govspeak_attachments_image_test.rb
|
326
|
-
- test/
|
327
|
-
- test/govspeak_link_test.rb
|
327
|
+
- test/govspeak_attachments_test.rb
|
328
328
|
- test/test_helper.rb
|
329
|
-
- test/
|
330
|
-
- test/blockquote_extra_quote_remover_test.rb
|
329
|
+
- test/govspeak_attachments_inline_test.rb
|
331
330
|
- test/html_sanitizer_test.rb
|
332
|
-
- test/govspeak_attachments_test.rb
|
333
331
|
- test/govspeak_button_test.rb
|
334
|
-
- test/
|
335
|
-
- test/
|
332
|
+
- test/with_deep_merge_test.rb
|
333
|
+
- test/html_validator_test.rb
|
334
|
+
- test/govspeak_test.rb
|
335
|
+
- test/govspeak_link_test.rb
|
336
336
|
- test/govspeak_contacts_test.rb
|
337
|
-
- test/
|
337
|
+
- test/presenters/h_card_presenter_test.rb
|