premailer 1.7.1 → 1.7.3

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.
@@ -0,0 +1,97 @@
1
+ # encoding: UTF-8
2
+ require File.expand_path(File.dirname(__FILE__)) + '/helper'
3
+
4
+ class TestWarnings < Test::Unit::TestCase
5
+ include WEBrick
6
+
7
+ def test_element_warnings
8
+ html = <<END_HTML
9
+ <!DOCTYPE html>
10
+ <html>
11
+ <head><link rel="alternate" href="http://example.com/"></head>
12
+ <body>
13
+ <form method="post"> Test </form>
14
+ </body>
15
+ </html>
16
+ END_HTML
17
+
18
+ [:nokogiri, :hpricot].each do |adapter|
19
+ warnings = get_warnings(html, adapter)
20
+ assert_equal 2, warnings.length
21
+ assert warnings.any? { |w| w[:message] == 'form HTML element'}
22
+ assert warnings.any? { |w| w[:message] == 'link HTML element'}
23
+ end
24
+ end
25
+
26
+ def test_css_warnings
27
+ html = <<END_HTML
28
+ <!DOCTYPE html>
29
+ <html><body>
30
+ <div style="margin: 5px; height: 100px;">Test</div>
31
+ </body></html>
32
+ END_HTML
33
+
34
+ [:nokogiri, :hpricot].each do |adapter|
35
+ warnings = get_warnings(html, adapter)
36
+ assert_equal 2, warnings.length
37
+ assert warnings.any? { |w| w[:message] == 'height CSS property'}
38
+ assert warnings.any? { |w| w[:message] == 'margin CSS property'}
39
+ end
40
+ end
41
+
42
+ def test_css_aliased_warnings
43
+ html = <<END_HTML
44
+ <!DOCTYPE html>
45
+ <html><body>
46
+ <div style="margin-top: 5px;">Test</div>
47
+ </body></html>
48
+ END_HTML
49
+
50
+ [:nokogiri, :hpricot].each do |adapter|
51
+ warnings = get_warnings(html, adapter)
52
+ assert_equal 1, warnings.length
53
+ assert warnings.any? { |w| w[:message] == 'margin-top CSS property'}
54
+ end
55
+ end
56
+
57
+ def test_attribute_warnings
58
+ html = <<END_HTML
59
+ <!DOCTYPE html>
60
+ <html><body>
61
+ <img src="#" ismap>
62
+ </body></html>
63
+ END_HTML
64
+
65
+ [:nokogiri, :hpricot].each do |adapter|
66
+ warnings = get_warnings(html, adapter)
67
+ assert_equal 1, warnings.length
68
+ assert warnings.any? { |w| w[:message] == 'ismap HTML attribute'}
69
+ end
70
+ end
71
+
72
+ def test_warn_level
73
+ html = <<END_HTML
74
+ <!DOCTYPE html>
75
+ <html><body>
76
+ <div style="color: red; font-family: sans-serif;">Test</div>
77
+ </body></html>
78
+ END_HTML
79
+
80
+ [:nokogiri, :hpricot].each do |adapter|
81
+ warnings = get_warnings(html, adapter, Premailer::Warnings::SAFE)
82
+ assert_equal 2, warnings.length
83
+ end
84
+
85
+ [:nokogiri, :hpricot].each do |adapter|
86
+ warnings = get_warnings(html, adapter, Premailer::Warnings::POOR)
87
+ assert_equal 1, warnings.length
88
+ end
89
+ end
90
+
91
+ protected
92
+ def get_warnings(html, adapter = :nokogiri, warn_level = Premailer::Warnings::SAFE)
93
+ pm = Premailer.new(html, {:adpater => adapter, :with_html_string => true, :warn_level => warn_level})
94
+ pm.to_inline_css
95
+ pm.check_client_support
96
+ end
97
+ end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: premailer
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 13
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
8
  - 7
8
- - 1
9
- version: 1.7.1
9
+ - 3
10
+ version: 1.7.3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Alex Dunae
@@ -14,8 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-04-01 00:00:00 -07:00
18
- default_executable:
18
+ date: 2011-09-08 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: css_parser
@@ -25,6 +25,7 @@ dependencies:
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
+ hash: 1
28
29
  segments:
29
30
  - 1
30
31
  - 1
@@ -40,6 +41,7 @@ dependencies:
40
41
  requirements:
41
42
  - - ">="
42
43
  - !ruby/object:Gem::Version
44
+ hash: 63
43
45
  segments:
44
46
  - 4
45
47
  - 0
@@ -55,6 +57,7 @@ dependencies:
55
57
  requirements:
56
58
  - - ">="
57
59
  - !ruby/object:Gem::Version
60
+ hash: 57
58
61
  segments:
59
62
  - 0
60
63
  - 8
@@ -70,6 +73,7 @@ dependencies:
70
73
  requirements:
71
74
  - - ">="
72
75
  - !ruby/object:Gem::Version
76
+ hash: 15
73
77
  segments:
74
78
  - 1
75
79
  - 4
@@ -77,6 +81,45 @@ dependencies:
77
81
  version: 1.4.4
78
82
  type: :development
79
83
  version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ name: rake
86
+ prerelease: false
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ hash: 27
93
+ segments:
94
+ - 0
95
+ - 8
96
+ version: "0.8"
97
+ - - "!="
98
+ - !ruby/object:Gem::Version
99
+ hash: 59
100
+ segments:
101
+ - 0
102
+ - 9
103
+ - 0
104
+ version: 0.9.0
105
+ type: :development
106
+ version_requirements: *id005
107
+ - !ruby/object:Gem::Dependency
108
+ name: rdoc
109
+ prerelease: false
110
+ requirement: &id006 !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 27
116
+ segments:
117
+ - 2
118
+ - 4
119
+ - 2
120
+ version: 2.4.2
121
+ type: :development
122
+ version_requirements: *id006
80
123
  description: Improve the rendering of HTML emails by making CSS inline, converting links and warning about unsupported code.
81
124
  email: code@dunae.ca
82
125
  executables:
@@ -86,17 +129,46 @@ extensions: []
86
129
  extra_rdoc_files:
87
130
  - README.rdoc
88
131
  files:
89
- - init.rb
132
+ - .gitignore
133
+ - Gemfile
134
+ - LICENSE.rdoc
135
+ - README.rdoc
90
136
  - bin/premailer
137
+ - init.rb
91
138
  - lib/premailer.rb
92
- - lib/premailer/html_to_plain_text.rb
93
- - lib/premailer/premailer.rb
94
139
  - lib/premailer/adapter.rb
95
140
  - lib/premailer/adapter/hpricot.rb
96
141
  - lib/premailer/adapter/nokogiri.rb
142
+ - lib/premailer/executor.rb
143
+ - lib/premailer/html_to_plain_text.rb
144
+ - lib/premailer/premailer.rb
145
+ - local-premailer
97
146
  - misc/client_support.yaml
98
- - README.rdoc
99
- has_rdoc: true
147
+ - premailer.gemspec
148
+ - rakefile.rb
149
+ - test/files/base.html
150
+ - test/files/chars.html
151
+ - test/files/contact_bg.png
152
+ - test/files/dialect.png
153
+ - test/files/dots_end.png
154
+ - test/files/dots_h.gif
155
+ - test/files/html4.html
156
+ - test/files/import.css
157
+ - test/files/inc/2009-placeholder.png
158
+ - test/files/iso-8859-2.html
159
+ - test/files/iso-8859-5.html
160
+ - test/files/no_css.html
161
+ - test/files/noimport.css
162
+ - test/files/styles.css
163
+ - test/files/xhtml.html
164
+ - test/future_tests.rb
165
+ - test/helper.rb
166
+ - test/test_adapter.rb
167
+ - test/test_html_to_plain_text.rb
168
+ - test/test_links.rb
169
+ - test/test_misc.rb
170
+ - test/test_premailer.rb
171
+ - test/test_warnings.rb
100
172
  homepage: http://premailer.dialect.ca/
101
173
  licenses: []
102
174
 
@@ -114,6 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
186
  requirements:
115
187
  - - ">="
116
188
  - !ruby/object:Gem::Version
189
+ hash: 3
117
190
  segments:
118
191
  - 0
119
192
  version: "0"
@@ -122,15 +195,38 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
195
  requirements:
123
196
  - - ">="
124
197
  - !ruby/object:Gem::Version
198
+ hash: 3
125
199
  segments:
126
200
  - 0
127
201
  version: "0"
128
202
  requirements: []
129
203
 
130
204
  rubyforge_project:
131
- rubygems_version: 1.3.7
205
+ rubygems_version: 1.8.10
132
206
  signing_key:
133
207
  specification_version: 3
134
208
  summary: Preflight for HTML e-mail.
135
- test_files: []
136
-
209
+ test_files:
210
+ - test/files/base.html
211
+ - test/files/chars.html
212
+ - test/files/contact_bg.png
213
+ - test/files/dialect.png
214
+ - test/files/dots_end.png
215
+ - test/files/dots_h.gif
216
+ - test/files/html4.html
217
+ - test/files/import.css
218
+ - test/files/inc/2009-placeholder.png
219
+ - test/files/iso-8859-2.html
220
+ - test/files/iso-8859-5.html
221
+ - test/files/no_css.html
222
+ - test/files/noimport.css
223
+ - test/files/styles.css
224
+ - test/files/xhtml.html
225
+ - test/future_tests.rb
226
+ - test/helper.rb
227
+ - test/test_adapter.rb
228
+ - test/test_html_to_plain_text.rb
229
+ - test/test_links.rb
230
+ - test/test_misc.rb
231
+ - test/test_premailer.rb
232
+ - test/test_warnings.rb