govspeak 6.5.1 → 6.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,7 +49,7 @@ module GovspeakTestHelper
49
49
  lines = text.split "\n"
50
50
  digits = Math.log10(lines.size + 2).ceil
51
51
  lines.map
52
- .with_index { |line, i| "%<number>#{digits}d: %<line>s" % { number: i + 1, line: line } }
52
+ .with_index { |line, i| sprintf("%<number>#{digits}d: %<line>s", number: i + 1, line: line) }
53
53
  .join("\n")
54
54
  end
55
55
  end
@@ -44,6 +44,15 @@ class HtmlSanitizerTest < Minitest::Test
44
44
  )
45
45
  end
46
46
 
47
+ test "allow data attributes on divs" do
48
+ html = "<div data-module='toggle' data-ecommerce-path='/' data-track-category='someDiv'>Test Div</div>"
49
+
50
+ assert_equal(
51
+ "<div data-module=\"toggle\" data-ecommerce-path=\"/\" data-track-category=\"someDiv\">Test Div</div>",
52
+ Govspeak::HtmlSanitizer.new(html).sanitize,
53
+ )
54
+ end
55
+
47
56
  test "allows images on whitelisted domains" do
48
57
  html = "<img src='http://allowed.com/image.jgp'>"
49
58
  sanitized_html = Govspeak::HtmlSanitizer.new(html, allowed_image_hosts: ["allowed.com"]).sanitize
@@ -70,7 +79,6 @@ class HtmlSanitizerTest < Minitest::Test
70
79
  assert_equal "<table><tbody><tr><th>thing</th><td>thing</td></tr></tbody></table>", Govspeak::HtmlSanitizer.new(html).sanitize
71
80
  end
72
81
 
73
-
74
82
  test "allows valid text-align properties on the style attribute for table cells and table headings" do
75
83
  %w[left right center].each do |alignment|
76
84
  html = "<table><thead><tr><th style=\"text-align: #{alignment}\">thing</th></tr></thead><tbody><tr><td style=\"text-align: #{alignment}\">thing</td></tr></tbody></table>"
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  require "test_helper"
4
2
  require "ostruct"
5
3
 
@@ -4,7 +4,7 @@ require "simplecov-rcov"
4
4
  SimpleCov.start
5
5
  SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
6
6
 
7
- $:.unshift(File.expand_path("../lib")) unless $:.include?(File.expand_path("../lib"))
7
+ $LOAD_PATH.unshift(File.expand_path("../lib")) unless $LOAD_PATH.include?(File.expand_path("../lib"))
8
8
 
9
9
  require "bundler"
10
10
  Bundler.setup :default, :development, :test
@@ -16,7 +16,11 @@ class Minitest::Test
16
16
  def test(name, &block)
17
17
  clean_name = name.gsub(/\s+/, "_")
18
18
  method = "test_#{clean_name.gsub(/\s+/, '_')}".to_sym
19
- already_defined = instance_method(method) rescue false
19
+ already_defined = begin
20
+ instance_method(method)
21
+ rescue StandardError
22
+ false
23
+ end
20
24
  raise "#{method} exists" if already_defined
21
25
 
22
26
  define_method(method, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govspeak
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.5.1
4
+ version: 6.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-19 00:00:00.000000000 Z
11
+ date: 2020-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -54,16 +54,16 @@ dependencies:
54
54
  name: govuk_publishing_components
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ">="
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '16.16'
59
+ version: '21.4'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ">="
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '16.16'
66
+ version: '21.4'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: htmlentities
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -96,16 +96,16 @@ dependencies:
96
96
  name: kramdown
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - "~>"
99
+ - - ">="
100
100
  - !ruby/object:Gem::Version
101
- version: 1.15.0
101
+ version: 2.3.0
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - "~>"
106
+ - - ">="
107
107
  - !ruby/object:Gem::Version
108
- version: 1.15.0
108
+ version: 2.3.0
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: nokogiri
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -152,30 +152,36 @@ dependencies:
152
152
  name: sanitize
153
153
  requirement: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - "~>"
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: 5.2.1
158
+ - - "<"
156
159
  - !ruby/object:Gem::Version
157
- version: '5'
160
+ version: '6'
158
161
  type: :runtime
159
162
  prerelease: false
160
163
  version_requirements: !ruby/object:Gem::Requirement
161
164
  requirements:
162
- - - "~>"
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: 5.2.1
168
+ - - "<"
163
169
  - !ruby/object:Gem::Version
164
- version: '5'
170
+ version: '6'
165
171
  - !ruby/object:Gem::Dependency
166
172
  name: minitest
167
173
  requirement: !ruby/object:Gem::Requirement
168
174
  requirements:
169
175
  - - "~>"
170
176
  - !ruby/object:Gem::Version
171
- version: 5.8.3
177
+ version: 5.14.1
172
178
  type: :development
173
179
  prerelease: false
174
180
  version_requirements: !ruby/object:Gem::Requirement
175
181
  requirements:
176
182
  - - "~>"
177
183
  - !ruby/object:Gem::Version
178
- version: 5.8.3
184
+ version: 5.14.1
179
185
  - !ruby/object:Gem::Dependency
180
186
  name: pry-byebug
181
187
  requirement: !ruby/object:Gem::Requirement
@@ -194,30 +200,30 @@ dependencies:
194
200
  name: rake
195
201
  requirement: !ruby/object:Gem::Requirement
196
202
  requirements:
197
- - - "~>"
203
+ - - ">="
198
204
  - !ruby/object:Gem::Version
199
- version: 0.9.0
205
+ version: '0'
200
206
  type: :development
201
207
  prerelease: false
202
208
  version_requirements: !ruby/object:Gem::Requirement
203
209
  requirements:
204
- - - "~>"
210
+ - - ">="
205
211
  - !ruby/object:Gem::Version
206
- version: 0.9.0
212
+ version: '0'
207
213
  - !ruby/object:Gem::Dependency
208
214
  name: rubocop-govuk
209
215
  requirement: !ruby/object:Gem::Requirement
210
216
  requirements:
211
217
  - - "~>"
212
218
  - !ruby/object:Gem::Version
213
- version: '1'
219
+ version: 3.3.2
214
220
  type: :development
215
221
  prerelease: false
216
222
  version_requirements: !ruby/object:Gem::Requirement
217
223
  requirements:
218
224
  - - "~>"
219
225
  - !ruby/object:Gem::Version
220
- version: '1'
226
+ version: 3.3.2
221
227
  - !ruby/object:Gem::Dependency
222
228
  name: simplecov
223
229
  requirement: !ruby/object:Gem::Requirement
@@ -365,23 +371,23 @@ signing_key:
365
371
  specification_version: 4
366
372
  summary: Markup language for single domain
367
373
  test_files:
368
- - test/govspeak_attachments_inline_test.rb
369
- - test/govspeak_attachment_test.rb
370
- - test/govspeak_attachment_link_test.rb
371
- - test/govspeak_images_test.rb
374
+ - test/govspeak_link_extractor_test.rb
375
+ - test/govspeak_structured_headers_test.rb
376
+ - test/govspeak_images_bang_test.rb
377
+ - test/govspeak_button_test.rb
372
378
  - test/govspeak_table_with_headers_test.rb
379
+ - test/govspeak_extract_contact_content_ids_test.rb
380
+ - test/blockquote_extra_quote_remover_test.rb
381
+ - test/govspeak_test_helper.rb
373
382
  - test/govspeak_link_test.rb
374
- - test/govspeak_images_bang_test.rb
375
- - test/govspeak_link_extractor_test.rb
383
+ - test/govspeak_images_test.rb
384
+ - test/govspeak_attachment_link_test.rb
376
385
  - test/govspeak_contacts_test.rb
377
386
  - test/test_helper.rb
387
+ - test/html_validator_test.rb
388
+ - test/html_sanitizer_test.rb
389
+ - test/govspeak_attachments_inline_test.rb
378
390
  - test/govspeak_test.rb
391
+ - test/govspeak_attachment_test.rb
379
392
  - test/govspeak_attachments_image_test.rb
380
- - test/html_validator_test.rb
381
- - test/govspeak_structured_headers_test.rb
382
- - test/govspeak_extract_contact_content_ids_test.rb
383
- - test/blockquote_extra_quote_remover_test.rb
384
393
  - test/presenters/h_card_presenter_test.rb
385
- - test/govspeak_button_test.rb
386
- - test/govspeak_test_helper.rb
387
- - test/html_sanitizer_test.rb