slimmer 8.0.0 → 8.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f23b920aad27dfc980397b64f2f9e401b96d863
4
- data.tar.gz: 79a169c43fcc6d616172ff4dcc637857cf2d1419
3
+ metadata.gz: 6e7fc3e0c52a6b22145df9dc9bf5cdfa35ac3eca
4
+ data.tar.gz: 5f7e8eb37930d42544fc8306053f928b44ff4c19
5
5
  SHA512:
6
- metadata.gz: 34a7a53a6e06102e2f2db641c9971bc25891a76ed726739ed5a66fcc0db731b7535238884adb97d449616a04e57c259baea0498dd4cf9df67e152bb8755dac9f
7
- data.tar.gz: 328d89ec79ca51cfd76a4fb7ebb80d59f53461eb8832115750d6f4998b4adf9f7ac6beced889fba4f71705f980ae6c3a306d51b2ae5872450525e12eb00f9535
6
+ metadata.gz: 8a3c20a69cbb2b544ecc9410a04cc1ea9c80c1b4a971fd96348964ab718968bcf769f2d5593e20112c0ffe70814811d1250007b675e506c38939f431ed0b5f6a
7
+ data.tar.gz: 91c493c11ec336ad039df59580b2633014bcd2f0ddec2b578359ecc708a07afce6eb367871e9077b4a88c6f2a6de0bb7f28efeb7bf2559d86c4f93c996f6c6a9
@@ -1,3 +1,7 @@
1
+ # 8.1.0
2
+
3
+ * Add remove_search header which strips out the search box in the header.
4
+
1
5
  # 8.0.0
2
6
 
3
7
  * Switch from JS custom variables to HTML meta tags
@@ -35,6 +35,7 @@ module Slimmer
35
35
  autoload :SearchIndexSetter, 'slimmer/processors/search_index_setter'
36
36
  autoload :SearchPathSetter, 'slimmer/processors/search_path_setter'
37
37
  autoload :SearchParameterInserter, 'slimmer/processors/search_parameter_inserter'
38
+ autoload :SearchRemover, 'slimmer/processors/search_remover'
38
39
  autoload :SectionInserter, 'slimmer/processors/section_inserter'
39
40
  autoload :TagMover, 'slimmer/processors/tag_mover'
40
41
  autoload :TitleInserter, 'slimmer/processors/title_inserter'
@@ -17,6 +17,7 @@ module Slimmer
17
17
  section: "Section",
18
18
  skip: "Skip",
19
19
  template: "Template",
20
+ remove_search: "Remove-Search",
20
21
  }
21
22
 
22
23
  APPLICATION_NAME_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:application_name]}"
@@ -32,6 +33,7 @@ module Slimmer
32
33
  SEARCH_PARAMETERS_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:search_parameters]}"
33
34
  SKIP_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:skip]}"
34
35
  TEMPLATE_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:template]}"
36
+ REMOVE_SEARCH_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:remove_search]}"
35
37
 
36
38
  def set_slimmer_headers(hash)
37
39
  raise InvalidHeader if (hash.keys - SLIMMER_HEADER_MAPPING.keys).any?
@@ -0,0 +1,17 @@
1
+ module Slimmer::Processors
2
+ class SearchRemover
3
+ def initialize(headers)
4
+ @headers = headers
5
+ end
6
+
7
+ def filter(src,dest)
8
+ if @headers.include?(Slimmer::Headers::REMOVE_SEARCH_HEADER)
9
+ search = dest.at_css("#global-header #search")
10
+ search.remove if search
11
+
12
+ search_link = dest.at_css("#global-header a[href='#search']")
13
+ search_link.remove if search_link
14
+ end
15
+ end
16
+ end
17
+ end
@@ -126,6 +126,7 @@ module Slimmer
126
126
  response.headers,
127
127
  wrapper_id),
128
128
  Processors::MetaViewportRemover.new(self, response.headers),
129
+ Processors::SearchRemover.new(response.headers),
129
130
  ]
130
131
 
131
132
  template_name = response.headers[Headers::TEMPLATE_HEADER] || 'wrapper'
@@ -1,3 +1,3 @@
1
1
  module Slimmer
2
- VERSION = '8.0.0'
2
+ VERSION = '8.1.0'
3
3
  end
@@ -0,0 +1,62 @@
1
+ require_relative "../test_helper"
2
+
3
+ class SearchRemoverTest < MiniTest::Test
4
+ def setup
5
+ super
6
+ @template = as_nokogiri %{
7
+ <html>
8
+ <head>
9
+ </head>
10
+ <body>
11
+ <div id='global-header'>
12
+ <a href='#search'></a>
13
+ <div id='search'></div>
14
+ </div>
15
+ <div id='search'></div>
16
+ </body>
17
+ </html>
18
+ }
19
+ end
20
+
21
+ def test_should_remove_search_from_template_if_header_is_set
22
+
23
+ headers = { Slimmer::Headers::REMOVE_SEARCH_HEADER => true }
24
+ Slimmer::Processors::SearchRemover.new(
25
+ headers,
26
+ ).filter(nil, @template)
27
+
28
+ assert_not_in @template, "#global-header #search"
29
+ assert_in @template, "#search"
30
+
31
+ end
32
+
33
+ def test_should_not_remove_search_from_template_if_header_is_not_set
34
+
35
+ headers = {}
36
+ Slimmer::Processors::SearchRemover.new(
37
+ headers,
38
+ ).filter(nil, @template)
39
+
40
+ assert_in @template, "#global-header #search"
41
+ end
42
+
43
+ def test_should_remove_search_link_from_template_if_header_is_set
44
+
45
+ headers = { Slimmer::Headers::REMOVE_SEARCH_HEADER => true }
46
+ Slimmer::Processors::SearchRemover.new(
47
+ headers,
48
+ ).filter(nil, @template)
49
+
50
+ assert_not_in @template, "#global-header a[href='#search']"
51
+ end
52
+
53
+ def test_should_not_remove_search_link_from_template_if_header_is_not_set
54
+
55
+ headers = {}
56
+ Slimmer::Processors::SearchRemover.new(
57
+ headers,
58
+ ).filter(nil, @template)
59
+
60
+ assert_in @template, "#global-header a[href='#search']"
61
+ end
62
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 8.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Griffiths
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-13 00:00:00.000000000 Z
12
+ date: 2015-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -274,6 +274,7 @@ files:
274
274
  - lib/slimmer/processors/report_a_problem_inserter.rb
275
275
  - lib/slimmer/processors/search_parameter_inserter.rb
276
276
  - lib/slimmer/processors/search_path_setter.rb
277
+ - lib/slimmer/processors/search_remover.rb
277
278
  - lib/slimmer/processors/section_inserter.rb
278
279
  - lib/slimmer/processors/tag_mover.rb
279
280
  - lib/slimmer/processors/title_inserter.rb
@@ -308,6 +309,7 @@ files:
308
309
  - test/processors/report_a_problem_inserter_test.rb
309
310
  - test/processors/search_parameter_inserter_test.rb
310
311
  - test/processors/search_path_setter_test.rb
312
+ - test/processors/search_remover_test.rb
311
313
  - test/processors/section_inserter_test.rb
312
314
  - test/processors/tag_mover_test.rb
313
315
  - test/skin_test.rb
@@ -363,6 +365,7 @@ test_files:
363
365
  - test/processors/search_path_setter_test.rb
364
366
  - test/processors/meta_viewport_remover_test.rb
365
367
  - test/processors/search_parameter_inserter_test.rb
368
+ - test/processors/search_remover_test.rb
366
369
  - test/processors/section_inserter_test.rb
367
370
  - test/processors/report_a_problem_inserter_test.rb
368
371
  - test/processors/tag_mover_test.rb