html_acceptance 0.1.17 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.17
1
+ 0.1.18
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{html_acceptance}
8
- s.version = "0.1.17"
8
+ s.version = "0.1.18"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Eric Beland"]
@@ -10,6 +10,7 @@ class HTMLAcceptanceResult
10
10
  @exceptions = ''
11
11
  @datapath=datapath
12
12
  @tidyopts = options[:tidy_opts] || "-qi"
13
+ @ignore_proprietary = options[:ignore_proprietary]
13
14
  valid?
14
15
  end
15
16
 
@@ -73,6 +74,7 @@ class HTMLAcceptanceResult
73
74
  # accepted exception strings will remain valid.
74
75
  def filter(str)
75
76
  str.gsub!(/^line.*trimming empty.*\n/, '') # the messages about empty are overzealous, and not invalid
77
+ str.gsub!(/^line.*proprietary.*\n/, '') if @ignore_proprietary # if you use IE only attributes like wrap, or spellcheck or things not in standard
76
78
  str.gsub(/line [0-9]+ column [0-9]+ -/, '')
77
79
  # /line [0-9]+ column [0-9]+ - / + =~ "line 1 column 1 - Warning: missing <!DOCTYPE> declaration"
78
80
  end
@@ -27,11 +27,15 @@ class HTMLAcceptance
27
27
  # what else you might use for this string instead of "-qi", however "-qi" is probably what
28
28
  # you want 95% of the time.
29
29
 
30
+ # You may also pass :ignore_proprietary=>true as an option to suppress messages like:
31
+ # line 1 column 176 - Warning: <textarea> proprietary attribute "wrap"
32
+ # line 1 column 176 - Warning: <textarea> proprietary attribute "spellcheck"
33
+
30
34
  # It may be useful to pass a subfolder in your project as the data_folder, so your
31
35
  # html acceptance status and validation results are stored along with your source.
32
36
  def initialize(data_folder, options={})
33
37
  @data_folder = data_folder
34
- @options=options
38
+ @options = options
35
39
  end
36
40
 
37
41
  # For each stored exception, yield an HTMLAcceptanceResult object to allow the user to
@@ -63,6 +63,14 @@ describe "HtmlAcceptance" do
63
63
  result=@h.validator("<html></body></html>", "http://mycoolsite.com").valid?.should be_false
64
64
  end
65
65
 
66
+ it "should ignore proprietary tags when ignore_proprietary is passed" do
67
+ html_with_proprietary=good_html.gsub('<body>','<body><textarea wrap="true" spellcheck="true">hi</textarea>')
68
+ result=@h.validator(html_with_proprietary, "http://mycrosoft.com")
69
+ result.valid?.should be_false
70
+ @h=HTMLAcceptance.new('/tmp/validation', :ignore_proprietary=>true)
71
+ result=@h.validator(html_with_proprietary, "http://mycrosoft.com")
72
+ result.valid?.should be_true
73
+ end
66
74
 
67
75
  describe "when launching HTML Tidy" do
68
76
 
@@ -94,6 +102,8 @@ describe "HtmlAcceptance" do
94
102
 
95
103
  end
96
104
 
105
+
106
+
97
107
  private
98
108
 
99
109
  def bad_html
@@ -101,9 +111,9 @@ describe "HtmlAcceptance" do
101
111
  end
102
112
 
103
113
  def good_html
104
- '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><title>the title</title></head><body><p>a paragraph</body></html>'
114
+ '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><title>the title</title></head><body><p>a paragraph</p></body></html>'
105
115
  end
106
-
116
+
107
117
  def tmp_path
108
118
  is_windows=(RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
109
119
  is_windows ? 'c:\temp\validation' : '/tmp/validation'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: html_acceptance
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.17
5
+ version: 0.1.18
6
6
  platform: ruby
7
7
  authors:
8
8
  - Eric Beland
@@ -97,7 +97,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - ">="
99
99
  - !ruby/object:Gem::Version
100
- hash: -1459436124537514502
100
+ hash: -2658959921504484896
101
101
  segments:
102
102
  - 0
103
103
  version: "0"