htmlcompressor 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +13 -0
  4. data/README.md +83 -0
  5. data/Rakefile +2 -0
  6. data/htmlcompressor.gemspec +21 -0
  7. data/lib/htmlcompressor.rb +6 -0
  8. data/lib/htmlcompressor/compressor.rb +785 -0
  9. data/lib/htmlcompressor/rack.rb +54 -0
  10. data/lib/htmlcompressor/version.rb +3 -0
  11. data/test/compressor_test.rb +254 -0
  12. data/test/resources/html/.svn/all-wcprops +275 -0
  13. data/test/resources/html/.svn/entries +1558 -0
  14. data/test/resources/html/.svn/prop-base/testRemoveHttpProtocol.html.svn-base +5 -0
  15. data/test/resources/html/.svn/prop-base/testRemoveHttpProtocolResult.html.svn-base +5 -0
  16. data/test/resources/html/.svn/prop-base/testRemoveHttpsProtocol.html.svn-base +5 -0
  17. data/test/resources/html/.svn/prop-base/testRemoveHttpsProtocolResult.html.svn-base +5 -0
  18. data/test/resources/html/.svn/prop-base/testRemoveSpacesInsideTags.html.svn-base +5 -0
  19. data/test/resources/html/.svn/prop-base/testRemoveSpacesInsideTagsResult.html.svn-base +5 -0
  20. data/test/resources/html/.svn/prop-base/testSurroundingSpaces.html.svn-base +5 -0
  21. data/test/resources/html/.svn/prop-base/testSurroundingSpacesResult.html.svn-base +5 -0
  22. data/test/resources/html/.svn/text-base/testCompress.html.svn-base +10 -0
  23. data/test/resources/html/.svn/text-base/testCompressCss.html.svn-base +11 -0
  24. data/test/resources/html/.svn/text-base/testCompressCssResult.html.svn-base +6 -0
  25. data/test/resources/html/.svn/text-base/testCompressJavaScript.html.svn-base +24 -0
  26. data/test/resources/html/.svn/text-base/testCompressJavaScriptClosureResult.html.svn-base +7 -0
  27. data/test/resources/html/.svn/text-base/testCompressJavaScriptYuiResult.html.svn-base +7 -0
  28. data/test/resources/html/.svn/text-base/testCompressResult.html.svn-base +1 -0
  29. data/test/resources/html/.svn/text-base/testEnabled.html.svn-base +1 -0
  30. data/test/resources/html/.svn/text-base/testEnabledResult.html.svn-base +1 -0
  31. data/test/resources/html/.svn/text-base/testPreserveLineBreaks.html.svn-base +11 -0
  32. data/test/resources/html/.svn/text-base/testPreserveLineBreaksResult.html.svn-base +5 -0
  33. data/test/resources/html/.svn/text-base/testPreservePatterns.html.svn-base +7 -0
  34. data/test/resources/html/.svn/text-base/testPreservePatternsResult.html.svn-base +1 -0
  35. data/test/resources/html/.svn/text-base/testRemoveComments.html.svn-base +17 -0
  36. data/test/resources/html/.svn/text-base/testRemoveCommentsResult.html.svn-base +4 -0
  37. data/test/resources/html/.svn/text-base/testRemoveFormAttributes.html.svn-base +1 -0
  38. data/test/resources/html/.svn/text-base/testRemoveFormAttributesResult.html.svn-base +1 -0
  39. data/test/resources/html/.svn/text-base/testRemoveHttpProtocol.html.svn-base +1 -0
  40. data/test/resources/html/.svn/text-base/testRemoveHttpProtocolResult.html.svn-base +1 -0
  41. data/test/resources/html/.svn/text-base/testRemoveHttpsProtocol.html.svn-base +1 -0
  42. data/test/resources/html/.svn/text-base/testRemoveHttpsProtocolResult.html.svn-base +1 -0
  43. data/test/resources/html/.svn/text-base/testRemoveInputAttributes.html.svn-base +1 -0
  44. data/test/resources/html/.svn/text-base/testRemoveInputAttributesResult.html.svn-base +1 -0
  45. data/test/resources/html/.svn/text-base/testRemoveIntertagSpaces.html.svn-base +5 -0
  46. data/test/resources/html/.svn/text-base/testRemoveIntertagSpacesResult.html.svn-base +1 -0
  47. data/test/resources/html/.svn/text-base/testRemoveJavaScriptProtocol.html.svn-base +1 -0
  48. data/test/resources/html/.svn/text-base/testRemoveJavaScriptProtocolResult.html.svn-base +1 -0
  49. data/test/resources/html/.svn/text-base/testRemoveLinkAttributes.html.svn-base +5 -0
  50. data/test/resources/html/.svn/text-base/testRemoveLinkAttributesResult.html.svn-base +1 -0
  51. data/test/resources/html/.svn/text-base/testRemoveMultiSpaces.html.svn-base +1 -0
  52. data/test/resources/html/.svn/text-base/testRemoveMultiSpacesResult.html.svn-base +1 -0
  53. data/test/resources/html/.svn/text-base/testRemoveQuotes.html.svn-base +7 -0
  54. data/test/resources/html/.svn/text-base/testRemoveQuotesResult.html.svn-base +1 -0
  55. data/test/resources/html/.svn/text-base/testRemoveScriptAttributes.html.svn-base +6 -0
  56. data/test/resources/html/.svn/text-base/testRemoveScriptAttributesResult.html.svn-base +1 -0
  57. data/test/resources/html/.svn/text-base/testRemoveSpacesInsideTags.html.svn-base +1 -0
  58. data/test/resources/html/.svn/text-base/testRemoveSpacesInsideTagsResult.html.svn-base +1 -0
  59. data/test/resources/html/.svn/text-base/testRemoveStyleAttributes.html.svn-base +3 -0
  60. data/test/resources/html/.svn/text-base/testRemoveStyleAttributesResult.html.svn-base +1 -0
  61. data/test/resources/html/.svn/text-base/testSimpleBooleanAttributes.html.svn-base +1 -0
  62. data/test/resources/html/.svn/text-base/testSimpleBooleanAttributesResult.html.svn-base +1 -0
  63. data/test/resources/html/.svn/text-base/testSimpleDoctype.html.svn-base +2 -0
  64. data/test/resources/html/.svn/text-base/testSimpleDoctypeResult.html.svn-base +1 -0
  65. data/test/resources/html/.svn/text-base/testSurroundingSpaces.html.svn-base +1 -0
  66. data/test/resources/html/.svn/text-base/testSurroundingSpacesResult.html.svn-base +1 -0
  67. data/test/resources/html/testCompress.html +10 -0
  68. data/test/resources/html/testCompressCss.html +11 -0
  69. data/test/resources/html/testCompressCssResult.html +6 -0
  70. data/test/resources/html/testCompressJavaScript.html +24 -0
  71. data/test/resources/html/testCompressJavaScriptClosureResult.html +7 -0
  72. data/test/resources/html/testCompressJavaScriptYuiResult.html +7 -0
  73. data/test/resources/html/testCompressResult.html +1 -0
  74. data/test/resources/html/testEnabled.html +1 -0
  75. data/test/resources/html/testEnabledResult.html +1 -0
  76. data/test/resources/html/testPreserveLineBreaks.html +11 -0
  77. data/test/resources/html/testPreserveLineBreaksResult.html +5 -0
  78. data/test/resources/html/testPreservePatterns.html +7 -0
  79. data/test/resources/html/testPreservePatternsResult.html +1 -0
  80. data/test/resources/html/testRemoveComments.html +17 -0
  81. data/test/resources/html/testRemoveCommentsResult.html +4 -0
  82. data/test/resources/html/testRemoveFormAttributes.html +1 -0
  83. data/test/resources/html/testRemoveFormAttributesResult.html +1 -0
  84. data/test/resources/html/testRemoveHttpProtocol.html +1 -0
  85. data/test/resources/html/testRemoveHttpProtocolResult.html +1 -0
  86. data/test/resources/html/testRemoveHttpsProtocol.html +1 -0
  87. data/test/resources/html/testRemoveHttpsProtocolResult.html +1 -0
  88. data/test/resources/html/testRemoveInputAttributes.html +1 -0
  89. data/test/resources/html/testRemoveInputAttributesResult.html +1 -0
  90. data/test/resources/html/testRemoveIntertagSpaces.html +5 -0
  91. data/test/resources/html/testRemoveIntertagSpacesResult.html +1 -0
  92. data/test/resources/html/testRemoveJavaScriptProtocol.html +1 -0
  93. data/test/resources/html/testRemoveJavaScriptProtocolResult.html +1 -0
  94. data/test/resources/html/testRemoveLinkAttributes.html +5 -0
  95. data/test/resources/html/testRemoveLinkAttributesResult.html +1 -0
  96. data/test/resources/html/testRemoveMultiSpaces.html +1 -0
  97. data/test/resources/html/testRemoveMultiSpacesResult.html +1 -0
  98. data/test/resources/html/testRemoveQuotes.html +7 -0
  99. data/test/resources/html/testRemoveQuotesResult.html +1 -0
  100. data/test/resources/html/testRemoveScriptAttributes.html +6 -0
  101. data/test/resources/html/testRemoveScriptAttributesResult.html +1 -0
  102. data/test/resources/html/testRemoveSpacesInsideTags.html +1 -0
  103. data/test/resources/html/testRemoveSpacesInsideTagsResult.html +1 -0
  104. data/test/resources/html/testRemoveStyleAttributes.html +3 -0
  105. data/test/resources/html/testRemoveStyleAttributesResult.html +1 -0
  106. data/test/resources/html/testSimpleBooleanAttributes.html +1 -0
  107. data/test/resources/html/testSimpleBooleanAttributesResult.html +1 -0
  108. data/test/resources/html/testSimpleDoctype.html +2 -0
  109. data/test/resources/html/testSimpleDoctypeResult.html +1 -0
  110. data/test/resources/html/testSurroundingSpaces.html +1 -0
  111. data/test/resources/html/testSurroundingSpacesResult.html +1 -0
  112. data/test/resources/xml/.svn/all-wcprops +53 -0
  113. data/test/resources/xml/.svn/entries +300 -0
  114. data/test/resources/xml/.svn/text-base/testCompress.xml.svn-base +11 -0
  115. data/test/resources/xml/.svn/text-base/testCompressResult.xml.svn-base +5 -0
  116. data/test/resources/xml/.svn/text-base/testEnabled.xml.svn-base +1 -0
  117. data/test/resources/xml/.svn/text-base/testEnabledResult.xml.svn-base +1 -0
  118. data/test/resources/xml/.svn/text-base/testRemoveComments.xml.svn-base +5 -0
  119. data/test/resources/xml/.svn/text-base/testRemoveCommentsResult.xml.svn-base +4 -0
  120. data/test/resources/xml/.svn/text-base/testRemoveIntertagSpaces.xml.svn-base +11 -0
  121. data/test/resources/xml/.svn/text-base/testRemoveIntertagSpacesResult.xml.svn-base +5 -0
  122. data/test/resources/xml/testCompress.xml +11 -0
  123. data/test/resources/xml/testCompressResult.xml +5 -0
  124. data/test/resources/xml/testEnabled.xml +1 -0
  125. data/test/resources/xml/testEnabledResult.xml +1 -0
  126. data/test/resources/xml/testRemoveComments.xml +5 -0
  127. data/test/resources/xml/testRemoveCommentsResult.xml +4 -0
  128. data/test/resources/xml/testRemoveIntertagSpaces.xml +11 -0
  129. data/test/resources/xml/testRemoveIntertagSpacesResult.xml +5 -0
  130. metadata +332 -0
@@ -0,0 +1,54 @@
1
+ module HtmlCompressor
2
+
3
+ class Rack
4
+
5
+ def initialize app
6
+ @app = app
7
+
8
+ @compressor = HtmlCompressor::Compressor.new(
9
+ :enabled => true,
10
+ :remove_multi_spaces => true,
11
+ :remove_comments => true,
12
+ :remove_intertag_spaces => true,
13
+ :remove_quotes => true,
14
+ :compress_css => false,
15
+ :compress_javascript => false,
16
+ :simple_doctype => false,
17
+ :remove_script_attributes => true,
18
+ :remove_style_attributes => true,
19
+ :remove_link_attributes => true,
20
+ :remove_form_attributes => false,
21
+ :remove_input_attributes => true,
22
+ :remove_javascript_protocol => true,
23
+ :remove_http_protocol => true,
24
+ :remove_https_protocol => false,
25
+ :preserve_line_breaks => false,
26
+ :simple_boolean_attributes => true
27
+ )
28
+
29
+ end
30
+
31
+ def call env
32
+ status, headers, body = @app.call(env)
33
+
34
+ if headers.key? 'Content-Type' and headers['Content-Type'] =~ /html/
35
+ content = ''
36
+
37
+ body.each do |part|
38
+ content << part
39
+ end
40
+
41
+ content = @compressor.compress(content)
42
+ headers['Content-Length'] = content.length.to_s if headers['Content-Length']
43
+
44
+ [status, headers, [content]]
45
+ else
46
+ [status, headers, body]
47
+ end
48
+ ensure
49
+ body.close if body.respond_to?(:close)
50
+ end
51
+
52
+ end
53
+
54
+ end
@@ -0,0 +1,3 @@
1
+ module HtmlCompressor
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,254 @@
1
+ require 'htmlcompressor/compressor'
2
+ require 'minitest/autorun'
3
+ require 'closure-compiler'
4
+
5
+ module HtmlCompressor
6
+
7
+ class TestCompressor < MiniTest::Unit::TestCase
8
+
9
+ def test_enabled
10
+ source = read_resource("testEnabled.html")
11
+ result = read_resource("testEnabledResult.html")
12
+
13
+ compressor = Compressor.new(:enabled => false)
14
+
15
+ assert_equal result, compressor.compress(source)
16
+ end
17
+
18
+ def test_remove_spaces_inside_tags
19
+ source = read_resource("testRemoveSpacesInsideTags.html")
20
+ result = read_resource("testRemoveSpacesInsideTagsResult.html")
21
+
22
+ compressor = Compressor.new(:remove_multi_spaces => false)
23
+
24
+ assert_equal result, compressor.compress(source)
25
+ end
26
+
27
+ def test_remove_comments
28
+ source = read_resource("testRemoveComments.html")
29
+ result = read_resource("testRemoveCommentsResult.html")
30
+
31
+ compressor = Compressor.new(:remove_comments => true, :remove_intertag_spaces => true)
32
+
33
+ assert_equal result, compressor.compress(source)
34
+ end
35
+
36
+ def test_remove_quotes
37
+ source = read_resource("testRemoveQuotes.html")
38
+ result = read_resource("testRemoveQuotesResult.html")
39
+
40
+ compressor = Compressor.new(:remove_quotes => true)
41
+
42
+ assert_equal result, compressor.compress(source)
43
+ end
44
+
45
+ def test_remove_multi_spaces
46
+ source = read_resource("testRemoveMultiSpaces.html")
47
+ result = read_resource("testRemoveMultiSpacesResult.html")
48
+
49
+ compressor = Compressor.new(:remove_multi_spaces => true)
50
+
51
+ assert_equal result, compressor.compress(source)
52
+ end
53
+
54
+ def test_remove_intertag_spaces
55
+ source = read_resource("testRemoveIntertagSpaces.html")
56
+ result = read_resource("testRemoveIntertagSpacesResult.html")
57
+
58
+ compressor = Compressor.new(:remove_intertag_spaces => true)
59
+
60
+ assert_equal result, compressor.compress(source)
61
+ end
62
+
63
+ def test_preserve_patterns
64
+ source = read_resource("testPreservePatterns.html")
65
+ result = read_resource("testPreservePatternsResult.html")
66
+
67
+ preservePatterns = [
68
+ Compressor::PHP_TAG_PATTERN, # <?php ... ?> blocks
69
+ Compressor::SERVER_SCRIPT_TAG_PATTERN, # <% ... %> blocks
70
+ Compressor::SERVER_SIDE_INCLUDE_PATTERN, # <!--# ... --> blocks
71
+ Regexp.new("<jsp:.*?>", Regexp::MULTILINE | Regexp::IGNORECASE) # <jsp: ... > tags
72
+ ]
73
+
74
+ compressor = Compressor.new(
75
+ :preserve_patterns => preservePatterns,
76
+ :remove_comments => true,
77
+ :remove_intertag_spaces => true
78
+ )
79
+
80
+ assert_equal result, compressor.compress(source)
81
+ end
82
+
83
+ def test_compress_javascript_yui
84
+ source = read_resource("testCompressJavaScript.html");
85
+ result = read_resource("testCompressJavaScriptYuiResult.html");
86
+
87
+ compressor = Compressor.new(
88
+ :compress_javascript => true,
89
+ :remove_intertag_spaces => true
90
+ )
91
+
92
+ assert_equal result, compressor.compress(source)
93
+ end
94
+
95
+ def test_compress_java_script_closure
96
+ source = read_resource("testCompressJavaScript.html")
97
+ result = read_resource("testCompressJavaScriptClosureResult.html")
98
+
99
+ compressor = Compressor.new(
100
+ :compress_javascript => true,
101
+ :javascript_compressor => Closure::Compiler.new(:compilation_level => 'ADVANCED_OPTIMIZATIONS'),
102
+ :remove_intertag_spaces => true
103
+ )
104
+
105
+ assert_equal result, compressor.compress(source)
106
+ end
107
+
108
+ def test_compress_css
109
+ source = read_resource("testCompressCss.html")
110
+ result = read_resource("testCompressCssResult.html")
111
+
112
+ compressor = Compressor.new(
113
+ :compress_css => true,
114
+ :remove_intertag_spaces => true
115
+ )
116
+
117
+ assert_equal result, compressor.compress(source)
118
+ end
119
+
120
+ def test_compress
121
+ source = read_resource("testCompress.html")
122
+ result = read_resource("testCompressResult.html")
123
+
124
+ compressor = Compressor.new
125
+
126
+ assert_equal result, compressor.compress(source)
127
+ end
128
+
129
+ def test_simple_doctype
130
+ source = read_resource("testSimpleDoctype.html")
131
+ result = read_resource("testSimpleDoctypeResult.html")
132
+
133
+ compressor = Compressor.new(:simple_doctype => true)
134
+
135
+ assert_equal result, compressor.compress(source)
136
+ end
137
+
138
+ def test_remove_script_attributes
139
+ source = read_resource("testRemoveScriptAttributes.html")
140
+ result = read_resource("testRemoveScriptAttributesResult.html")
141
+
142
+ compressor = Compressor.new(:remove_script_attributes => true)
143
+
144
+ assert_equal result, compressor.compress(source)
145
+ end
146
+
147
+ def test_remove_style_attributes
148
+ source = read_resource("testRemoveStyleAttributes.html")
149
+ result = read_resource("testRemoveStyleAttributesResult.html")
150
+
151
+ compressor = Compressor.new(:remove_style_attributes => true)
152
+
153
+ assert_equal result, compressor.compress(source)
154
+ end
155
+
156
+ def test_remove_link_attributes
157
+ source = read_resource("testRemoveLinkAttributes.html")
158
+ result = read_resource("testRemoveLinkAttributesResult.html")
159
+
160
+ compressor = Compressor.new(:remove_link_attributes => true)
161
+
162
+ assert_equal result, compressor.compress(source)
163
+ end
164
+
165
+ def test_remove_form_attributes
166
+ source = read_resource("testRemoveFormAttributes.html")
167
+ result = read_resource("testRemoveFormAttributesResult.html")
168
+
169
+ compressor = Compressor.new(:remove_form_attributes => true)
170
+
171
+ assert_equal result, compressor.compress(source)
172
+ end
173
+
174
+ def test_remove_input_attributes
175
+ source = read_resource("testRemoveInputAttributes.html")
176
+ result = read_resource("testRemoveInputAttributesResult.html")
177
+
178
+ compressor = Compressor.new(:remove_input_attributes => true)
179
+
180
+ assert_equal result, compressor.compress(source)
181
+ end
182
+
183
+ def test_remove_javascript_protocol
184
+ source = read_resource("testRemoveJavaScriptProtocol.html")
185
+ result = read_resource("testRemoveJavaScriptProtocolResult.html")
186
+
187
+ compressor = Compressor.new(:remove_javascript_protocol => true)
188
+
189
+ assert_equal result, compressor.compress(source)
190
+ end
191
+
192
+ def test_remove_http_protocol
193
+ source = read_resource("testRemoveHttpProtocol.html")
194
+ result = read_resource("testRemoveHttpProtocolResult.html")
195
+
196
+ compressor = Compressor.new(:remove_http_protocol => true)
197
+
198
+ assert_equal result, compressor.compress(source)
199
+ end
200
+
201
+ def test_remove_https_protocol
202
+ source = read_resource("testRemoveHttpsProtocol.html")
203
+ result = read_resource("testRemoveHttpsProtocolResult.html")
204
+
205
+ compressor = Compressor.new(:remove_https_protocol => true)
206
+
207
+ assert_equal result, compressor.compress(source)
208
+ end
209
+
210
+ def test_preserve_line_breaks
211
+ source = read_resource("testPreserveLineBreaks.html")
212
+ result = read_resource("testPreserveLineBreaksResult.html")
213
+
214
+ compressor = Compressor.new(:preserve_line_breaks => true)
215
+
216
+ assert_equal result, compressor.compress(source)
217
+ end
218
+
219
+ def test_remove_surrounding_spaces
220
+ source = read_resource("testSurroundingSpaces.html")
221
+ result = read_resource("testSurroundingSpacesResult.html")
222
+
223
+ compressor = Compressor.new(
224
+ :remove_intertag_spaces => true,
225
+ :remove_surrounding_spaces => "p,br"
226
+ )
227
+
228
+ assert_equal result, compressor.compress(source)
229
+ end
230
+
231
+ def test_simple_boolean_attributes
232
+ source = read_resource("testSimpleBooleanAttributes.html")
233
+ result = read_resource("testSimpleBooleanAttributesResult.html")
234
+
235
+ compressor = Compressor.new(:simple_boolean_attributes => true)
236
+
237
+ assert_equal result, compressor.compress(source)
238
+ end
239
+
240
+ private
241
+
242
+ def resource_path
243
+ File.join File.expand_path(File.dirname(__FILE__)), 'resources', 'html'
244
+ end
245
+
246
+ def read_resource file
247
+ File.open File.join(resource_path, file), 'r' do |f|
248
+ return f.readlines.join('')
249
+ end
250
+ end
251
+
252
+ end
253
+
254
+ end
@@ -0,0 +1,275 @@
1
+ K 25
2
+ svn:wc:ra_dav:version-url
3
+ V 47
4
+ /svn/!svn/ver/182/trunk/src/test/resources/html
5
+ END
6
+ testPreservePatterns.html
7
+ K 25
8
+ svn:wc:ra_dav:version-url
9
+ V 73
10
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testPreservePatterns.html
11
+ END
12
+ testRemoveHttpProtocolResult.html
13
+ K 25
14
+ svn:wc:ra_dav:version-url
15
+ V 81
16
+ /svn/!svn/ver/167/trunk/src/test/resources/html/testRemoveHttpProtocolResult.html
17
+ END
18
+ testCompressJavaScriptClosureResult.html
19
+ K 25
20
+ svn:wc:ra_dav:version-url
21
+ V 88
22
+ /svn/!svn/ver/182/trunk/src/test/resources/html/testCompressJavaScriptClosureResult.html
23
+ END
24
+ testRemoveHttpProtocol.html
25
+ K 25
26
+ svn:wc:ra_dav:version-url
27
+ V 75
28
+ /svn/!svn/ver/167/trunk/src/test/resources/html/testRemoveHttpProtocol.html
29
+ END
30
+ testSimpleDoctypeResult.html
31
+ K 25
32
+ svn:wc:ra_dav:version-url
33
+ V 76
34
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testSimpleDoctypeResult.html
35
+ END
36
+ testSimpleDoctype.html
37
+ K 25
38
+ svn:wc:ra_dav:version-url
39
+ V 70
40
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testSimpleDoctype.html
41
+ END
42
+ testRemoveLinkAttributesResult.html
43
+ K 25
44
+ svn:wc:ra_dav:version-url
45
+ V 83
46
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveLinkAttributesResult.html
47
+ END
48
+ testCompressJavaScript.html
49
+ K 25
50
+ svn:wc:ra_dav:version-url
51
+ V 75
52
+ /svn/!svn/ver/182/trunk/src/test/resources/html/testCompressJavaScript.html
53
+ END
54
+ testRemoveLinkAttributes.html
55
+ K 25
56
+ svn:wc:ra_dav:version-url
57
+ V 77
58
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveLinkAttributes.html
59
+ END
60
+ testRemoveFormAttributesResult.html
61
+ K 25
62
+ svn:wc:ra_dav:version-url
63
+ V 83
64
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveFormAttributesResult.html
65
+ END
66
+ testRemoveFormAttributes.html
67
+ K 25
68
+ svn:wc:ra_dav:version-url
69
+ V 77
70
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveFormAttributes.html
71
+ END
72
+ testRemoveIntertagSpacesResult.html
73
+ K 25
74
+ svn:wc:ra_dav:version-url
75
+ V 83
76
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveIntertagSpacesResult.html
77
+ END
78
+ testEnabledResult.html
79
+ K 25
80
+ svn:wc:ra_dav:version-url
81
+ V 70
82
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testEnabledResult.html
83
+ END
84
+ testEnabled.html
85
+ K 25
86
+ svn:wc:ra_dav:version-url
87
+ V 64
88
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testEnabled.html
89
+ END
90
+ testRemoveIntertagSpaces.html
91
+ K 25
92
+ svn:wc:ra_dav:version-url
93
+ V 77
94
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveIntertagSpaces.html
95
+ END
96
+ testCompressResult.html
97
+ K 25
98
+ svn:wc:ra_dav:version-url
99
+ V 71
100
+ /svn/!svn/ver/160/trunk/src/test/resources/html/testCompressResult.html
101
+ END
102
+ testPreserveLineBreaksResult.html
103
+ K 25
104
+ svn:wc:ra_dav:version-url
105
+ V 81
106
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testPreserveLineBreaksResult.html
107
+ END
108
+ testCompress.html
109
+ K 25
110
+ svn:wc:ra_dav:version-url
111
+ V 65
112
+ /svn/!svn/ver/160/trunk/src/test/resources/html/testCompress.html
113
+ END
114
+ testPreserveLineBreaks.html
115
+ K 25
116
+ svn:wc:ra_dav:version-url
117
+ V 75
118
+ /svn/!svn/ver/162/trunk/src/test/resources/html/testPreserveLineBreaks.html
119
+ END
120
+ testSimpleBooleanAttributesResult.html
121
+ K 25
122
+ svn:wc:ra_dav:version-url
123
+ V 86
124
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testSimpleBooleanAttributesResult.html
125
+ END
126
+ testSimpleBooleanAttributes.html
127
+ K 25
128
+ svn:wc:ra_dav:version-url
129
+ V 80
130
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testSimpleBooleanAttributes.html
131
+ END
132
+ testRemoveHttpsProtocolResult.html
133
+ K 25
134
+ svn:wc:ra_dav:version-url
135
+ V 82
136
+ /svn/!svn/ver/167/trunk/src/test/resources/html/testRemoveHttpsProtocolResult.html
137
+ END
138
+ testRemoveCommentsResult.html
139
+ K 25
140
+ svn:wc:ra_dav:version-url
141
+ V 77
142
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveCommentsResult.html
143
+ END
144
+ testRemoveHttpsProtocol.html
145
+ K 25
146
+ svn:wc:ra_dav:version-url
147
+ V 76
148
+ /svn/!svn/ver/167/trunk/src/test/resources/html/testRemoveHttpsProtocol.html
149
+ END
150
+ testRemoveComments.html
151
+ K 25
152
+ svn:wc:ra_dav:version-url
153
+ V 71
154
+ /svn/!svn/ver/171/trunk/src/test/resources/html/testRemoveComments.html
155
+ END
156
+ testRemoveJavaScriptProtocolResult.html
157
+ K 25
158
+ svn:wc:ra_dav:version-url
159
+ V 87
160
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveJavaScriptProtocolResult.html
161
+ END
162
+ testRemoveJavaScriptProtocol.html
163
+ K 25
164
+ svn:wc:ra_dav:version-url
165
+ V 81
166
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveJavaScriptProtocol.html
167
+ END
168
+ testRemoveMultiSpacesResult.html
169
+ K 25
170
+ svn:wc:ra_dav:version-url
171
+ V 80
172
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveMultiSpacesResult.html
173
+ END
174
+ testRemoveMultiSpaces.html
175
+ K 25
176
+ svn:wc:ra_dav:version-url
177
+ V 74
178
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveMultiSpaces.html
179
+ END
180
+ testCompressJavaScriptYuiResult.html
181
+ K 25
182
+ svn:wc:ra_dav:version-url
183
+ V 84
184
+ /svn/!svn/ver/182/trunk/src/test/resources/html/testCompressJavaScriptYuiResult.html
185
+ END
186
+ testSurroundingSpacesResult.html
187
+ K 25
188
+ svn:wc:ra_dav:version-url
189
+ V 80
190
+ /svn/!svn/ver/175/trunk/src/test/resources/html/testSurroundingSpacesResult.html
191
+ END
192
+ testSurroundingSpaces.html
193
+ K 25
194
+ svn:wc:ra_dav:version-url
195
+ V 74
196
+ /svn/!svn/ver/175/trunk/src/test/resources/html/testSurroundingSpaces.html
197
+ END
198
+ testRemoveInputAttributesResult.html
199
+ K 25
200
+ svn:wc:ra_dav:version-url
201
+ V 84
202
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveInputAttributesResult.html
203
+ END
204
+ testRemoveInputAttributes.html
205
+ K 25
206
+ svn:wc:ra_dav:version-url
207
+ V 78
208
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveInputAttributes.html
209
+ END
210
+ testRemoveStyleAttributesResult.html
211
+ K 25
212
+ svn:wc:ra_dav:version-url
213
+ V 84
214
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveStyleAttributesResult.html
215
+ END
216
+ testRemoveStyleAttributes.html
217
+ K 25
218
+ svn:wc:ra_dav:version-url
219
+ V 78
220
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveStyleAttributes.html
221
+ END
222
+ testRemoveScriptAttributesResult.html
223
+ K 25
224
+ svn:wc:ra_dav:version-url
225
+ V 85
226
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveScriptAttributesResult.html
227
+ END
228
+ testRemoveScriptAttributes.html
229
+ K 25
230
+ svn:wc:ra_dav:version-url
231
+ V 79
232
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveScriptAttributes.html
233
+ END
234
+ testRemoveQuotesResult.html
235
+ K 25
236
+ svn:wc:ra_dav:version-url
237
+ V 75
238
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveQuotesResult.html
239
+ END
240
+ testRemoveQuotes.html
241
+ K 25
242
+ svn:wc:ra_dav:version-url
243
+ V 69
244
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testRemoveQuotes.html
245
+ END
246
+ testCompressCssResult.html
247
+ K 25
248
+ svn:wc:ra_dav:version-url
249
+ V 74
250
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testCompressCssResult.html
251
+ END
252
+ testCompressCss.html
253
+ K 25
254
+ svn:wc:ra_dav:version-url
255
+ V 68
256
+ /svn/!svn/ver/127/trunk/src/test/resources/html/testCompressCss.html
257
+ END
258
+ testRemoveSpacesInsideTagsResult.html
259
+ K 25
260
+ svn:wc:ra_dav:version-url
261
+ V 85
262
+ /svn/!svn/ver/182/trunk/src/test/resources/html/testRemoveSpacesInsideTagsResult.html
263
+ END
264
+ testRemoveSpacesInsideTags.html
265
+ K 25
266
+ svn:wc:ra_dav:version-url
267
+ V 79
268
+ /svn/!svn/ver/182/trunk/src/test/resources/html/testRemoveSpacesInsideTags.html
269
+ END
270
+ testPreservePatternsResult.html
271
+ K 25
272
+ svn:wc:ra_dav:version-url
273
+ V 79
274
+ /svn/!svn/ver/167/trunk/src/test/resources/html/testPreservePatternsResult.html
275
+ END