govspeak 9.0.0 → 10.0.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95a5244e69195ca6b70429063a23918bf1c11cf0c2269b9f90c46fa0f874b0d2
4
- data.tar.gz: 12e5c4cfbd40a4a9d144bfdca2f0ca6c4fc10abe9d8de3f6e5868d98af8d7959
3
+ metadata.gz: 4b920cf6948fc17a6bc0046c71bc4a92cde77dd1f1fab57b58be2d8a4d077ea9
4
+ data.tar.gz: d60959650aae08193cfedc1ad48cf1a6e3eb65c584b825d60701c2bbdf0dae31
5
5
  SHA512:
6
- metadata.gz: e1222f5628b71f08eeb0453dae99891c8a42c8a446d6ad44b0087fa51991e48e93c22ed1bce50e2421c888f7d447af1e411171b607affb2e7dd17b855851c0dd
7
- data.tar.gz: 2add7fce1c12861cdf6f0d78626f81bdafcedde870821f2adefd5a468125ce423e629c397b9747d944d3b853ca659d6f769a3b71a57da09fce99b5c1b63e7dbd
6
+ metadata.gz: bc7e37cc770324bad3ad12fadba04eeb24fcf894411b052312029753a5532e647006f417e77f3080ea88c8ff43b67ad7c1f9834a9bc14ffa9e983cc1e59f2360
7
+ data.tar.gz: 9c93d9f23dfc2387b64f3280a431b28f110737b784811c31aa58a5045cb18797a0eac13fb18c3579393aa5c07054e6739ed9f9035e57b95353ee75d00acb16f8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 10.0.0
4
+
5
+ * Drop support for Ruby <3.2
6
+ * Drop support for govuk_publishing_components <43.0.0
7
+
3
8
  ## 9.0.0
4
9
 
5
10
  * Remove Advisory component ([#357](https://github.com/alphagov/govspeak/pull/357))
@@ -1,3 +1,3 @@
1
1
  module Govspeak
2
- VERSION = "9.0.0".freeze
2
+ VERSION = "10.0.0".freeze
3
3
  end
@@ -17,7 +17,7 @@ class GovspeakAttachmentTest < Minitest::Test
17
17
  }
18
18
 
19
19
  rendered = render_govspeak("[Attachment:attachment.pdf]", [attachment])
20
- assert_match(/<section class="gem-c-attachment/, rendered)
20
+ assert html_has_selector?(rendered, "section.gem-c-attachment")
21
21
  assert_match(/Attachment Title/, rendered)
22
22
  end
23
23
 
@@ -29,7 +29,7 @@ class GovspeakAttachmentTest < Minitest::Test
29
29
  }
30
30
 
31
31
  rendered = render_govspeak("[Attachment: This is the name of my &%$@€? attachment]", [attachment])
32
- assert_match(/<section class="gem-c-attachment/, rendered)
32
+ assert html_has_selector?(rendered, "section.gem-c-attachment")
33
33
  assert_match(/Attachment Title/, rendered)
34
34
  end
35
35
 
@@ -44,12 +44,12 @@ class GovspeakAttachmentTest < Minitest::Test
44
44
  assert_equal("<p>some text [Attachment:attachment.pdf]</p>\n", rendered)
45
45
 
46
46
  rendered = render_govspeak("[Attachment:attachment.pdf] some text", [attachment])
47
- assert_match(/<section class="gem-c-attachment/, rendered)
47
+ assert html_has_selector?(rendered, "section.gem-c-attachment")
48
48
  assert_match(/<p>some text<\/p>/, rendered)
49
49
 
50
50
  rendered = render_govspeak("some text\n[Attachment:attachment.pdf]\nsome more text", [attachment])
51
51
  assert_match(/<p>some text<\/p>/, rendered)
52
- assert_match(/<section class="gem-c-attachment/, rendered)
52
+ assert html_has_selector?(rendered, "section.gem-c-attachment")
53
53
  assert_match(/<p>some more text<\/p>/, rendered)
54
54
  end
55
55
  end
@@ -0,0 +1,10 @@
1
+ module HtmlHelpers
2
+ def html_has_selector?(html_string, selector)
3
+ return false if html_string.nil? || html_string.empty?
4
+
5
+ raise "No selector specified" if selector.nil? || selector.empty?
6
+
7
+ fragment = Nokogiri::HTML.fragment(html_string)
8
+ fragment.css(selector).any?
9
+ end
10
+ end
data/test/test_helper.rb CHANGED
@@ -9,7 +9,11 @@ Bundler.setup :default, :development, :test
9
9
 
10
10
  require "minitest/autorun"
11
11
 
12
+ require "support/html_helpers"
13
+
12
14
  class Minitest::Test
15
+ include HtmlHelpers
16
+
13
17
  class << self
14
18
  def test(name, &block)
15
19
  clean_name = name.gsub(/\s+/, "_")
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govspeak
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.0
4
+ version: 10.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-08 00:00:00.000000000 Z
10
+ date: 2025-01-27 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: actionview
@@ -55,14 +55,14 @@ dependencies:
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
- version: '35.1'
58
+ version: '43'
59
59
  type: :runtime
60
60
  prerelease: false
61
61
  version_requirements: !ruby/object:Gem::Requirement
62
62
  requirements:
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: '35.1'
65
+ version: '43'
66
66
  - !ruby/object:Gem::Dependency
67
67
  name: htmlentities
68
68
  requirement: !ruby/object:Gem::Requirement
@@ -330,6 +330,7 @@ files:
330
330
  - test/html_sanitizer_test.rb
331
331
  - test/html_validator_test.rb
332
332
  - test/presenters/h_card_presenter_test.rb
333
+ - test/support/html_helpers.rb
333
334
  - test/test_helper.rb
334
335
  homepage: http://github.com/alphagov/govspeak
335
336
  licenses: []
@@ -341,14 +342,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
341
342
  requirements:
342
343
  - - ">="
343
344
  - !ruby/object:Gem::Version
344
- version: 3.1.4
345
+ version: '3.2'
345
346
  required_rubygems_version: !ruby/object:Gem::Requirement
346
347
  requirements:
347
348
  - - ">="
348
349
  - !ruby/object:Gem::Version
349
350
  version: '0'
350
351
  requirements: []
351
- rubygems_version: 3.6.2
352
+ rubygems_version: 3.6.3
352
353
  specification_version: 4
353
354
  summary: Markup language for single domain
354
355
  test_files:
@@ -372,4 +373,5 @@ test_files:
372
373
  - test/html_sanitizer_test.rb
373
374
  - test/html_validator_test.rb
374
375
  - test/presenters/h_card_presenter_test.rb
376
+ - test/support/html_helpers.rb
375
377
  - test/test_helper.rb