validate-website 1.5.7 → 1.5.8

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
  SHA1:
3
- metadata.gz: 19b5caf5684592eb5e6b49412c7f8a0e4db8c2b2
4
- data.tar.gz: 76593f1fe75dcc5c8bbb774c3ea5d808e6ef87d5
3
+ metadata.gz: b113a6d49dafd4312e90c91b90ef823a7783b2a6
4
+ data.tar.gz: 81f4d59065bd48c9a2e1deb8fc13454c351269fd
5
5
  SHA512:
6
- metadata.gz: 903af9e5534dab24012acd929314cd451f2ef07aee8037acac3c0add88fc33b8671888abb8d2739fb88f770a847847f264a22011e68103b90b9b00073e916ec1
7
- data.tar.gz: 8a0725fa75523673943e960bd304febbefd2d5ff106b9820fc8975bd44e0e059d81ae38313d7df3590f937e4a986c45d63386e323138c151575c8c7d6d90454a
6
+ metadata.gz: 0653c9131b9f42af196335d230f80edd08429f5e7405034404e7632d8df71523491c9445e28da1a5aecd5462af23390db3346bbb39b3748042a18ebd060d1e99
7
+ data.tar.gz: 557e7164a448d99ebda6256f7fb73157a785f509844fc9b02878fafcc103334fbb80737676765d00da27ed3ea47cca3eeccbfc88a99aed5b45cd845465e1fe81
data/History.md CHANGED
@@ -1,6 +1,13 @@
1
1
 
2
+ v1.5.8 / 2016-06-27
3
+ ===================
4
+
5
+ * Update manpages
6
+ * Exclude urls on static crawl
7
+ * Fix warning: instance variable not initialized
8
+
2
9
  v1.5.7 / 2016-06-13
3
- ==================
10
+ ===================
4
11
 
5
12
  * Fix JRuby CI build
6
13
  * Update JRuby and other rubies on Travis
@@ -8,7 +15,7 @@ v1.5.7 / 2016-06-13
8
15
  * Add env variable VALIDATOR_NU_URL support
9
16
 
10
17
  v1.5.6 / 2016-03-02
11
- ==================
18
+ ===================
12
19
 
13
20
  * Fix error with redirect and extract images (see #16)
14
21
  * Display version number
@@ -16,12 +23,12 @@ v1.5.6 / 2016-03-02
16
23
  * Updates deps
17
24
 
18
25
  v1.5.4 / 2015-12-08
19
- ==================
26
+ ===================
20
27
 
21
28
  * Fix URI must be ascii only error
22
29
 
23
30
  v1.5.3 / 2015-11-08
24
- ==================
31
+ ===================
25
32
 
26
33
  * Fix test_files on gemspec
27
34
  * Use File.expand_path for jruby
@@ -17,7 +17,7 @@ module ValidateWebsite
17
17
  # Core class for static or website validation
18
18
  class Core
19
19
  attr_accessor :site
20
- attr_reader :options, :crawler, :errors_count, :not_founds_count, :host
20
+ attr_reader :options, :host, :errors_count, :not_founds_count
21
21
 
22
22
  include ColorfulMessages
23
23
 
@@ -4,10 +4,16 @@ require 'validate_website/utils'
4
4
  module ValidateWebsite
5
5
  # Class for http website validation
6
6
  class Crawl < Core
7
+ attr_reader :crawler
8
+
7
9
  def initialize(options = {}, validation_type = :crawl)
8
10
  super
9
11
  end
10
12
 
13
+ def history_count
14
+ crawler.history.size
15
+ end
16
+
11
17
  # @param [Hash] options
12
18
  # :color [Boolean] color output (true, false)
13
19
  # :exclude [String] a String used by Regexp.new
@@ -117,6 +117,7 @@ module ValidateWebsite
117
117
  o.string('-p', '--pattern',
118
118
  "Filename pattern (default: #{DEFAULT_OPTIONS[:pattern]})",
119
119
  default: DEFAULT_OPTIONS[:pattern])
120
+ o.regexp('-e', '--exclude', 'Url to exclude (ex: "redirect|news")')
120
121
  end
121
122
  end
122
123
  end
@@ -6,7 +6,10 @@ module ValidateWebsite
6
6
  class Static < Core
7
7
  CONTENT_TYPES = ['text/html', 'text/xhtml+xml'].freeze
8
8
 
9
+ attr_reader :history_count
10
+
9
11
  def initialize(options = {}, validation_type = :static)
12
+ @history_count = 0
10
13
  super
11
14
  end
12
15
 
@@ -19,6 +22,8 @@ module ValidateWebsite
19
22
  files = Dir.glob(@options[:pattern])
20
23
  files.each do |f|
21
24
  next unless File.file?(f)
25
+ next if @options[:exclude].is_a?(Regexp) && @options[:exclude].match(f)
26
+ @history_count += 1
22
27
  check_static_file(f)
23
28
  end
24
29
  print_status_line(files.size, 0, @not_founds_count, @errors_count)
@@ -14,7 +14,7 @@ module ValidateWebsite
14
14
  attr_accessor :html5_validator_service_url
15
15
  end
16
16
 
17
- attr_reader :original_doc, :body, :dtd, :doc, :namespace, :xsd
17
+ attr_reader :original_doc, :body, :dtd, :doc, :namespace
18
18
 
19
19
  ##
20
20
  # @param [Nokogiri::HTML::Document] original_doc
@@ -22,12 +22,13 @@ module ValidateWebsite
22
22
  # @param [Regexp] Errors to ignore
23
23
  #
24
24
  def initialize(original_doc, body, ignore = nil)
25
+ @errors = []
26
+ @document, @dtd_uri = nil
25
27
  @original_doc = original_doc
26
28
  @body = body
27
29
  @ignore = ignore
28
30
  @dtd = @original_doc.internal_subset
29
31
  @namespace = init_namespace(@dtd)
30
- @errors = []
31
32
  end
32
33
 
33
34
  ##
@@ -74,7 +75,7 @@ module ValidateWebsite
74
75
 
75
76
  # @return [Array] contain result errors
76
77
  def validate(xml_doc, document_body)
77
- if xsd
78
+ if !xsd.nil?
78
79
  xsd.validate(xml_doc)
79
80
  elsif document_body =~ /^\<!DOCTYPE html\>/i
80
81
  html5_validate(document_body)
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Version file for ValidateWebsite
4
4
  module ValidateWebsite
5
- VERSION = '1.5.7'.freeze
5
+ VERSION = '1.5.8'.freeze
6
6
  end
@@ -1,13 +1,13 @@
1
1
  '\" t
2
2
  .\" Title: validate-website-static
3
3
  .\" Author: [see the "AUTHOR" section]
4
- .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
5
- .\" Date: 07/21/2015
4
+ .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
5
+ .\" Date: 06/19/2016
6
6
  .\" Manual: \ \&
7
7
  .\" Source: \ \&
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "VALIDATE\-WEBSITE\-S" "1" "07/21/2015" "\ \&" "\ \&"
10
+ .TH "VALIDATE\-WEBSITE\-S" "1" "06/19/2016" "\ \&" "\ \&"
11
11
  .\" -----------------------------------------------------------------
12
12
  .\" * Define some portability stuff
13
13
  .\" -----------------------------------------------------------------
@@ -48,6 +48,12 @@ http://www\&.example\&.com/)
48
48
  Change filenames pattern (Default: **/*\&.html)
49
49
  .RE
50
50
  .PP
51
+ \fB\-e\fR, \fB\-\-exclude\fR \fIEXCLUDE\fR
52
+ .RS 4
53
+ Url to exclude (ex:
54
+ \fIredirect|news\fR)
55
+ .RE
56
+ .PP
51
57
  \fB\-i\fR, \fB\-\-ignore\fR \fIIGNORE\fR
52
58
  .RS 4
53
59
  Ignore certain validation errors (ex:
@@ -1,13 +1,13 @@
1
1
  '\" t
2
2
  .\" Title: validate-website
3
3
  .\" Author: [see the "AUTHOR" section]
4
- .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
5
- .\" Date: 07/21/2015
4
+ .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
5
+ .\" Date: 06/19/2016
6
6
  .\" Manual: \ \&
7
7
  .\" Source: \ \&
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "VALIDATE\-WEBSITE" "1" "07/21/2015" "\ \&" "\ \&"
10
+ .TH "VALIDATE\-WEBSITE" "1" "06/19/2016" "\ \&" "\ \&"
11
11
  .\" -----------------------------------------------------------------
12
12
  .\" * Define some portability stuff
13
13
  .\" -----------------------------------------------------------------
@@ -54,7 +54,7 @@ describe ValidateWebsite::Crawl do
54
54
  _out, _err = capture_io do
55
55
  @validate_website.crawl
56
56
  end
57
- @validate_website.crawler.history.size.must_equal 5
57
+ @validate_website.history_count.must_equal 5
58
58
  end
59
59
 
60
60
  it 'extract link' do
@@ -67,7 +67,7 @@ describe ValidateWebsite::Crawl do
67
67
  _out, _err = capture_io do
68
68
  @validate_website.crawl
69
69
  end
70
- @validate_website.crawler.history.size.must_equal 98
70
+ @validate_website.history_count.must_equal 98
71
71
  end
72
72
 
73
73
  it 'crawl when URLs are not ascii only' do
@@ -114,7 +114,7 @@ describe ValidateWebsite::Crawl do
114
114
  _out, _err = capture_io do
115
115
  @validate_website.crawl
116
116
  end
117
- @validate_website.crawler.history.size.must_equal 5
117
+ @validate_website.history_count.must_equal 5
118
118
  end
119
119
 
120
120
  it 'should extract url with single quote' do
@@ -125,7 +125,7 @@ describe ValidateWebsite::Crawl do
125
125
  _out, _err = capture_io do
126
126
  @validate_website.crawl
127
127
  end
128
- @validate_website.crawler.history.size.must_equal 2
128
+ @validate_website.history_count.must_equal 2
129
129
  end
130
130
 
131
131
  it 'should extract url with double quote' do
@@ -136,7 +136,7 @@ describe ValidateWebsite::Crawl do
136
136
  _out, _err = capture_io do
137
137
  @validate_website.crawl
138
138
  end
139
- @validate_website.crawler.history.size.must_equal 2
139
+ @validate_website.history_count.must_equal 2
140
140
  end
141
141
 
142
142
  it 'should extract url with params' do
@@ -147,7 +147,7 @@ describe ValidateWebsite::Crawl do
147
147
  _out, _err = capture_io do
148
148
  @validate_website.crawl
149
149
  end
150
- @validate_website.crawler.history.size.must_equal 2
150
+ @validate_website.history_count.must_equal 2
151
151
  end
152
152
 
153
153
  it 'should not extract invalid urls' do
@@ -158,7 +158,7 @@ describe ValidateWebsite::Crawl do
158
158
  _out, _err = capture_io do
159
159
  @validate_website.crawl
160
160
  end
161
- @validate_website.crawler.history.size.must_equal 1
161
+ @validate_website.history_count.must_equal 1
162
162
  end
163
163
  end
164
164
 
@@ -7,6 +7,18 @@ describe ValidateWebsite::Static do
7
7
  end
8
8
  end
9
9
 
10
+ it 'exclude directories' do
11
+ pattern = File.join(File.dirname(__FILE__), '**/*.html')
12
+ _out, _err = capture_io do
13
+ @validate_website.crawl(pattern: pattern,
14
+ site: 'http://spkdev.net/',
15
+ markup: false,
16
+ not_found: false,
17
+ exclude: /data|example/)
18
+ end
19
+ @validate_website.history_count.must_equal 0
20
+ end
21
+
10
22
  it 'no space in directory name' do
11
23
  pattern = File.join(File.dirname(__FILE__), 'example/**/*.html')
12
24
  _out, _err = capture_io do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validate-website
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.7
4
+ version: 1.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laurent Arnoud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-13 00:00:00.000000000 Z
11
+ date: 2016-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spidr