nanoc 3.6.9 → 3.6.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +15 -8
  3. data/Gemfile.lock +27 -14
  4. data/NEWS.md +14 -0
  5. data/lib/nanoc/base.rb +2 -0
  6. data/lib/nanoc/base/checksummer.rb +82 -0
  7. data/lib/nanoc/base/compilation/compiler.rb +4 -3
  8. data/lib/nanoc/base/compilation/filter.rb +3 -10
  9. data/lib/nanoc/base/compilation/rules_collection.rb +6 -1
  10. data/lib/nanoc/base/core_ext/array.rb +1 -1
  11. data/lib/nanoc/base/core_ext/hash.rb +1 -2
  12. data/lib/nanoc/base/core_ext/pathname.rb +1 -2
  13. data/lib/nanoc/base/core_ext/string.rb +1 -3
  14. data/lib/nanoc/base/errors.rb +9 -0
  15. data/lib/nanoc/base/result_data/item_rep.rb +2 -7
  16. data/lib/nanoc/base/source_data/code_snippet.rb +1 -1
  17. data/lib/nanoc/base/source_data/item.rb +1 -16
  18. data/lib/nanoc/base/source_data/layout.rb +1 -3
  19. data/lib/nanoc/base/source_data/site.rb +14 -0
  20. data/lib/nanoc/base/temp_filename_factory.rb +53 -0
  21. data/lib/nanoc/cli/commands/compile.rb +6 -2
  22. data/lib/nanoc/cli/commands/create-site.rb +3 -0
  23. data/lib/nanoc/cli/error_handler.rb +9 -5
  24. data/lib/nanoc/extra.rb +9 -8
  25. data/lib/nanoc/extra/jruby_nokogiri_warner.rb +48 -0
  26. data/lib/nanoc/extra/link_collector.rb +2 -0
  27. data/lib/nanoc/extra/piper.rb +1 -1
  28. data/lib/nanoc/filters/colorize_syntax.rb +2 -0
  29. data/lib/nanoc/filters/pandoc.rb +2 -2
  30. data/lib/nanoc/filters/relativize_paths.rb +2 -0
  31. data/lib/nanoc/filters/xsl.rb +2 -0
  32. data/lib/nanoc/version.rb +1 -1
  33. data/tasks/rubocop.rake +7 -3
  34. data/test/base/checksummer_spec.rb +274 -0
  35. data/test/base/core_ext/array_spec.rb +2 -2
  36. data/test/base/core_ext/hash_spec.rb +7 -4
  37. data/test/base/core_ext/pathname_spec.rb +6 -6
  38. data/test/base/core_ext/string_spec.rb +2 -2
  39. data/test/base/temp_filename_factory_spec.rb +72 -0
  40. data/test/base/test_site.rb +26 -0
  41. data/test/cli/commands/test_prune.rb +4 -0
  42. data/test/extra/checking/checks/test_css.rb +28 -24
  43. data/test/extra/checking/checks/test_html.rb +28 -24
  44. data/test/extra/test_piper.rb +12 -0
  45. data/test/filters/test_colorize_syntax.rb +6 -6
  46. data/test/filters/test_erb.rb +4 -0
  47. data/test/filters/test_pandoc.rb +15 -0
  48. data/test/filters/test_relativize_paths.rb +27 -65
  49. data/test/filters/test_xsl.rb +7 -35
  50. data/test/fixtures/vcr_cassettes/css_run_error.yml +65 -0
  51. data/test/fixtures/vcr_cassettes/css_run_ok.yml +55 -0
  52. data/test/fixtures/vcr_cassettes/html_run_error.yml +94 -0
  53. data/test/fixtures/vcr_cassettes/html_run_ok.yml +56 -0
  54. data/test/helper.rb +19 -9
  55. metadata +11 -2
@@ -28,22 +28,13 @@ EOS
28
28
  </report>
29
29
  EOS
30
30
 
31
- SAMPLE_XML_OUT = <<-EOS
32
- <?xml version="1.0" encoding="utf-8"?>
33
- <html>
34
- <head>
35
- <title>My Report</title>
36
- </head>
37
- <body>
38
- <h1>My Report</h1>
39
- </body>
40
- </html>
41
- EOS
31
+ SAMPLE_XML_OUT = %r{\A<\?xml version="1.0" encoding="utf-8"\?>\s*<html>\s*<head>\s*<title>My Report</title>\s*</head>\s*<body>\s*<h1>My Report</h1>\s*</body>\s*</html>\s*\Z}m
42
32
 
43
33
  SAMPLE_XSL_WITH_PARAMS = <<-EOS
44
34
  <?xml version="1.0" encoding="utf-8"?>
45
35
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
46
36
  <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
37
+ <xsl:param name="foo"/>
47
38
  <xsl:template match="/">
48
39
  <html>
49
40
  <head>
@@ -64,17 +55,7 @@ EOS
64
55
  </report>
65
56
  EOS
66
57
 
67
- SAMPLE_XML_OUT_WITH_PARAMS = <<-EOS
68
- <?xml version="1.0" encoding="utf-8"?>
69
- <html>
70
- <head>
71
- <title>My Report</title>
72
- </head>
73
- <body>
74
- <h1>bar</h1>
75
- </body>
76
- </html>
77
- EOS
58
+ SAMPLE_XML_OUT_WITH_PARAMS = %r{\A<\?xml version="1.0" encoding="utf-8"\?>\s*<html>\s*<head>\s*<title>My Report</title>\s*</head>\s*<body>\s*<h1>bar</h1>\s*</body>\s*</html>\s*\Z}m
78
59
 
79
60
  SAMPLE_XSL_WITH_OMIT_XML_DECL = <<-EOS
80
61
  <?xml version="1.0" encoding="utf-8"?>
@@ -101,16 +82,7 @@ EOS
101
82
  </report>
102
83
  EOS
103
84
 
104
- SAMPLE_XML_OUT_WITH_OMIT_XML_DECL = <<-EOS
105
- <html>
106
- <head>
107
- <title>My Report</title>
108
- </head>
109
- <body>
110
- <h1>My Report</h1>
111
- </body>
112
- </html>
113
- EOS
85
+ SAMPLE_XML_OUT_WITH_OMIT_XML_DECL = %r{\A<html>\s*<head>\s*<title>My Report</title>\s*</head>\s*<body>\s*<h1>My Report</h1>\s*</body>\s*</html>\s*\Z}m
114
86
 
115
87
  def test_filter_as_layout
116
88
  if_have 'nokogiri' do
@@ -132,7 +104,7 @@ EOS
132
104
 
133
105
  # Run the filter and validate the results
134
106
  result = filter.setup_and_run(layout.raw_content)
135
- assert_equal SAMPLE_XML_OUT, result
107
+ assert_match SAMPLE_XML_OUT, result
136
108
  end
137
109
  end
138
110
 
@@ -157,7 +129,7 @@ EOS
157
129
  # Run the filter and validate the results
158
130
  result = filter.setup_and_run(layout.raw_content,
159
131
  :foo => 'bar')
160
- assert_equal SAMPLE_XML_OUT_WITH_PARAMS, result
132
+ assert_match SAMPLE_XML_OUT_WITH_PARAMS, result
161
133
  end
162
134
  end
163
135
 
@@ -181,7 +153,7 @@ EOS
181
153
 
182
154
  # Run the filter and validate the results
183
155
  result = filter.setup_and_run(layout.raw_content)
184
- assert_equal SAMPLE_XML_OUT_WITH_OMIT_XML_DECL, result
156
+ assert_match SAMPLE_XML_OUT_WITH_OMIT_XML_DECL, result
185
157
  end
186
158
  end
187
159
 
@@ -0,0 +1,65 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://jigsaw.w3.org/css-validator/validator?output=soap12&profile=css3&text=h1%20%7B%20coxlor:%20rxed%3B%20%7D
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Cache-Control:
22
+ - no-cache
23
+ Date:
24
+ - Thu, 24 Apr 2014 07:25:20 GMT
25
+ Pragma:
26
+ - no-cache
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Content-Language:
30
+ - en
31
+ Content-Type:
32
+ - application/soap+xml;charset=utf-8
33
+ Server:
34
+ - Jigsaw/2.3.0-beta3
35
+ Vary:
36
+ - Accept-Language
37
+ X-W3c-Validator-Errors:
38
+ - '1'
39
+ X-W3c-Validator-Status:
40
+ - Invalid
41
+ body:
42
+ encoding: UTF-8
43
+ string: "<?xml version='1.0' encoding=\"utf-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n
44
+ \ <env:Body>\n <m:cssvalidationresponse\n env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\"\n
45
+ \ xmlns:m=\"http://www.w3.org/2005/07/css-validator\">\n <m:uri>file://localhost/TextArea</m:uri>\n
46
+ \ <m:checkedby>http://jigsaw.w3.org/css-validator/</m:checkedby>\n
47
+ \ <m:csslevel>css3</m:csslevel>\n <m:date>2014-04-24T07:25:20Z</m:date>\n
48
+ \ <m:validity>false</m:validity>\n <m:result>\n <m:errors
49
+ xml:lang=\"en\">\n <m:errorcount>1</m:errorcount>\n \n
50
+ \ <m:errorlist>\n <m:uri>file://localhost/TextArea</m:uri>\n
51
+ \ \n <m:error>\n <m:line>1</m:line>\n
52
+ \ <m:errortype>parse-error</m:errortype>\n <m:context>h1</m:context>
53
+ \ \n <m:errorsubtype>\n exp\n
54
+ \ </m:errorsubtype>\n <m:skippedstring>\n
55
+ \ rxed\n </m:skippedstring>\n
56
+ \ <m:type>noexistence-at-all</m:type>\n \n
57
+ \ <m:message>\n \n Property
58
+ coxlor doesn&apos;t exist : \n </m:message>\n </m:error>\n
59
+ \ \n </m:errorlist>\n \n </m:errors>\n
60
+ \ <m:warnings xml:lang=\"en\">\n <m:warningcount>0</m:warningcount>\n
61
+ \ </m:warnings>\n </m:result>\n </m:cssvalidationresponse>\n
62
+ \ </env:Body>\n</env:Envelope>\n\n"
63
+ http_version:
64
+ recorded_at: Thu, 24 Apr 2014 07:25:20 GMT
65
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://jigsaw.w3.org/css-validator/validator?output=soap12&profile=css3&text=h1%20%7B%20color:%20red%3B%20%7D
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Cache-Control:
22
+ - no-cache
23
+ Date:
24
+ - Thu, 24 Apr 2014 07:25:20 GMT
25
+ Pragma:
26
+ - no-cache
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Content-Language:
30
+ - en
31
+ Content-Type:
32
+ - application/soap+xml;charset=utf-8
33
+ Server:
34
+ - Jigsaw/2.3.0-beta3
35
+ Vary:
36
+ - Accept-Language
37
+ X-W3c-Validator-Errors:
38
+ - '0'
39
+ X-W3c-Validator-Status:
40
+ - Valid
41
+ body:
42
+ encoding: UTF-8
43
+ string: "<?xml version='1.0' encoding=\"utf-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n
44
+ \ <env:Body>\n <m:cssvalidationresponse\n env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\"\n
45
+ \ xmlns:m=\"http://www.w3.org/2005/07/css-validator\">\n <m:uri>file://localhost/TextArea</m:uri>\n
46
+ \ <m:checkedby>http://jigsaw.w3.org/css-validator/</m:checkedby>\n
47
+ \ <m:csslevel>css3</m:csslevel>\n <m:date>2014-04-24T07:25:20Z</m:date>\n
48
+ \ <m:validity>true</m:validity>\n <m:result>\n <m:errors
49
+ xml:lang=\"en\">\n <m:errorcount>0</m:errorcount>\n \n
50
+ \ </m:errors>\n <m:warnings xml:lang=\"en\">\n
51
+ \ <m:warningcount>0</m:warningcount>\n </m:warnings>\n
52
+ \ </m:result>\n </m:cssvalidationresponse>\n </env:Body>\n</env:Envelope>\n\n"
53
+ http_version:
54
+ recorded_at: Thu, 24 Apr 2014 07:25:20 GMT
55
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://validator.w3.org/check
6
+ body:
7
+ encoding: UTF-8
8
+ string: "--349832898984244898448024464570528145\r\nContent-Disposition: form-data;
9
+ name=\"output\"\r\n\r\nsoap12\r\n--349832898984244898448024464570528145\r\nContent-Disposition:
10
+ form-data; name=\"uploaded_file\"; filename=\"output/blah.html\"\r\nContent-Type:
11
+ text/html\r\n\r\n<h2>Hi!</h1>\r\n--349832898984244898448024464570528145--\r\n"
12
+ headers:
13
+ Content-Type:
14
+ - multipart/form-data; boundary=349832898984244898448024464570528145
15
+ Accept-Encoding:
16
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
+ Accept:
18
+ - "*/*"
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ Date:
27
+ - Thu, 24 Apr 2014 07:25:20 GMT
28
+ Server:
29
+ - Apache/2.2.16 (Debian)
30
+ X-W3c-Validator-Recursion:
31
+ - '1'
32
+ X-W3c-Validator-Status:
33
+ - Invalid
34
+ X-W3c-Validator-Errors:
35
+ - '2'
36
+ X-W3c-Validator-Warnings:
37
+ - '4'
38
+ Content-Type:
39
+ - application/soap+xml; charset=UTF-8
40
+ Connection:
41
+ - close
42
+ Transfer-Encoding:
43
+ - chunked
44
+ body:
45
+ encoding: UTF-8
46
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n<env:Body>\n<m:markupvalidationresponse
47
+ env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:m=\"http://www.w3.org/2005/10/markup-validator\">\n
48
+ \ \n <m:uri>output/blah.html</m:uri>\n <m:checkedby>http://validator.w3.org/</m:checkedby>\n
49
+ \ <m:doctype></m:doctype>\n <m:charset>utf-8</m:charset>\n <m:validity>false</m:validity>\n
50
+ \ <m:errors>\n <m:errorcount>2</m:errorcount>\n <m:errorlist>\n
51
+ \ \n <m:error>\n <m:line>1</m:line>\n <m:col>1</m:col>\n
52
+ \ <m:message>no document type declaration; will parse without
53
+ validation</m:message>\n <m:messageid>187</m:messageid>\n <m:explanation>
54
+ \ <![CDATA[\n <p class=\"helpwanted\">\n <a\n href=\"feedback.html?uri=;errmsg_id=187#errormsg\"\n\ttitle=\"Suggest
55
+ improvements on this error message through our feedback channels\" \n >&#x2709;</a>\n
56
+ \ </p>\n\n <div class=\"ve mid-187\">\n <p>The document type could
57
+ not be determined, because the document had no correct DOCTYPE declaration.
58
+ The document does not look like HTML, therefore automatic fallback could not
59
+ be performed, and the document was only checked against basic markup syntax.</p>\n
60
+ \ <p>Learn <a href=\"docs/help.html#faq-doctype\">how to add a doctype to
61
+ your document</a> \n from our <acronym title=\"Frequently Asked Questions\">FAQ</acronym>,
62
+ or use the validator's\n <code>Document Type</code> option to validate
63
+ your document against a specific Document Type.</p>\n </div>\n\n ]]>\n
64
+ \ </m:explanation>\n <m:source><![CDATA[<strong
65
+ title=\"Position where error was detected.\">&#60;</strong>h2&#62;Hi!&#60;/h1&#62;]]></m:source>\n
66
+ \ </m:error>\n \n <m:error>\n <m:line>1</m:line>\n
67
+ \ <m:col>12</m:col>\n <m:message>end tag for
68
+ element &quot;H1&quot; which is not open</m:message>\n <m:messageid>79</m:messageid>\n
69
+ \ <m:explanation> <![CDATA[\n <p class=\"helpwanted\">\n
70
+ \ <a\n href=\"feedback.html?uri=;errmsg_id=79#errormsg\"\n\ttitle=\"Suggest
71
+ improvements on this error message through our feedback channels\" \n >&#x2709;</a>\n
72
+ \ </p>\n\n <div class=\"ve mid-79\">\n <p>\n The Validator found
73
+ an end tag for the above element, but that element is\n not currently
74
+ open. This is often caused by a leftover end tag from an\n element that
75
+ was removed during editing, or by an implicitly closed\n element (if
76
+ you have an error related to an element being used where it\n is not
77
+ allowed, this is almost certainly the case). In the latter case\n this
78
+ error will disappear as soon as you fix the original problem.\n </p>\n
79
+ \ <p>\n If this error occurred in a script section of your document,
80
+ you should probably\n read this <a href=\"docs/help.html#faq-javascript\">FAQ
81
+ entry</a>.\n </p>\n </div>\n\n ]]>\n </m:explanation>\n
82
+ \ <m:source><![CDATA[&#60;h2&#62;Hi!&#60;/h1<strong title=\"Position
83
+ where error was detected.\">&#62;</strong>]]></m:source>\n </m:error>\n
84
+ \ \n </m:errorlist>\n </m:errors>\n <m:warnings>\n <m:warningcount>4</m:warningcount>\n
85
+ \ <m:warninglist>\n \n\n\n\n <m:warning><m:messageid>W04</m:messageid><m:message>No
86
+ Character Encoding Found!\n \n Falling back to \n \n UTF-8.\n
87
+ \ </m:message></m:warning>\n\n\n\n <m:warning><m:messageid>W06</m:messageid><m:message>Unable
88
+ to Determine Parse Mode!</m:message></m:warning>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
89
+ \ <m:warning><m:messageid>W27</m:messageid><m:message>No Character encoding
90
+ declared at document level</m:message></m:warning>\n\n\n\n\n\n\n\n \n
91
+ \ </m:warninglist>\n </m:warnings>\n</m:markupvalidationresponse>\n</env:Body>\n</env:Envelope>\n"
92
+ http_version:
93
+ recorded_at: Thu, 24 Apr 2014 07:25:21 GMT
94
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://validator.w3.org/check
6
+ body:
7
+ encoding: UTF-8
8
+ string: "--349832898984244898448024464570528145\r\nContent-Disposition: form-data;
9
+ name=\"output\"\r\n\r\nsoap12\r\n--349832898984244898448024464570528145\r\nContent-Disposition:
10
+ form-data; name=\"uploaded_file\"; filename=\"output/blah.html\"\r\nContent-Type:
11
+ text/html\r\n\r\n<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>Hello</title></head><body><h1>Hi!</h1></body>\r\n--349832898984244898448024464570528145--\r\n"
12
+ headers:
13
+ Content-Type:
14
+ - multipart/form-data; boundary=349832898984244898448024464570528145
15
+ Accept-Encoding:
16
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
+ Accept:
18
+ - "*/*"
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ Date:
27
+ - Thu, 24 Apr 2014 07:25:21 GMT
28
+ Server:
29
+ - Apache/2.2.16 (Debian)
30
+ X-W3c-Validator-Recursion:
31
+ - '1'
32
+ X-W3c-Validator-Status:
33
+ - Valid
34
+ X-W3c-Validator-Errors:
35
+ - '0'
36
+ X-W3c-Validator-Warnings:
37
+ - '1'
38
+ Content-Type:
39
+ - application/soap+xml; charset=UTF-8
40
+ Connection:
41
+ - close
42
+ Transfer-Encoding:
43
+ - chunked
44
+ body:
45
+ encoding: UTF-8
46
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n<env:Body>\n<m:markupvalidationresponse
47
+ env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:m=\"http://www.w3.org/2005/10/markup-validator\">\n
48
+ \ \n <m:uri>output/blah.html</m:uri>\n <m:checkedby>http://validator.w3.org/</m:checkedby>\n
49
+ \ <m:doctype>HTML5</m:doctype>\n <m:charset>utf-8</m:charset>\n <m:validity>true</m:validity>\n
50
+ \ <m:errors>\n <m:errorcount>0</m:errorcount>\n <m:errorlist>\n
51
+ \ \n </m:errorlist>\n </m:errors>\n <m:warnings>\n <m:warningcount>1</m:warningcount>\n
52
+ \ <m:warninglist>\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
53
+ \ \n </m:warninglist>\n </m:warnings>\n</m:markupvalidationresponse>\n</env:Body>\n</env:Envelope>\n"
54
+ http_version:
55
+ recorded_at: Thu, 24 Apr 2014 07:25:21 GMT
56
+ recorded_with: VCR 2.9.0
data/test/helper.rb CHANGED
@@ -4,15 +4,11 @@
4
4
  require File.dirname(__FILE__) + '/gem_loader.rb'
5
5
 
6
6
  # Load unit testing stuff
7
- begin
8
- require 'minitest/unit'
9
- require 'minitest/spec'
10
- require 'minitest/mock'
11
- require 'mocha/setup'
12
- rescue => e
13
- $stderr.puts "To run the nanoc unit tests, you need minitest and mocha."
14
- raise e
15
- end
7
+ require 'minitest/unit'
8
+ require 'minitest/spec'
9
+ require 'minitest/mock'
10
+ require 'mocha/setup'
11
+ require 'vcr'
16
12
 
17
13
  # Load nanoc
18
14
  $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + '/../lib'))
@@ -24,12 +20,26 @@ require 'nanoc/tasks'
24
20
  require 'tmpdir'
25
21
  require 'stringio'
26
22
 
23
+ VCR.configure do |c|
24
+ c.cassette_library_dir = 'test/fixtures/vcr_cassettes'
25
+ c.hook_into :webmock
26
+ end
27
+
27
28
  module Nanoc::TestHelpers
28
29
 
29
30
  LIB_DIR = File.expand_path(File.dirname(__FILE__) + '/../lib')
30
31
 
32
+ def disable_nokogiri?
33
+ ENV.key?('DISABLE_NOKOGIRI')
34
+ end
35
+
31
36
  def if_have(*libs)
32
37
  libs.each do |lib|
38
+ if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby' && lib == 'nokogiri' && disable_nokogiri?
39
+ skip "Pure Java Nokogiri has issues that cause problems with nanoc (see https://github.com/nanoc/nanoc/pull/422) -- run without DISABLE_NOKOGIRI to enable Nokogiri tests"
40
+ return
41
+ end
42
+
33
43
  begin
34
44
  require lib
35
45
  rescue LoadError
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nanoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.9
4
+ version: 3.6.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Defreyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-15 00:00:00.000000000 Z
11
+ date: 2014-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cri
@@ -65,6 +65,7 @@ files:
65
65
  - doc/yardoc_templates/default/layout/html/footer.erb
66
66
  - lib/nanoc.rb
67
67
  - lib/nanoc/base.rb
68
+ - lib/nanoc/base/checksummer.rb
68
69
  - lib/nanoc/base/compilation/checksum_store.rb
69
70
  - lib/nanoc/base/compilation/compiled_content_cache.rb
70
71
  - lib/nanoc/base/compilation/compiler.rb
@@ -102,6 +103,7 @@ files:
102
103
  - lib/nanoc/base/source_data/layout.rb
103
104
  - lib/nanoc/base/source_data/site.rb
104
105
  - lib/nanoc/base/store.rb
106
+ - lib/nanoc/base/temp_filename_factory.rb
105
107
  - lib/nanoc/cli.rb
106
108
  - lib/nanoc/cli/ansi_string_colorizer.rb
107
109
  - lib/nanoc/cli/cleaning_stream.rb
@@ -164,6 +166,7 @@ files:
164
166
  - lib/nanoc/extra/deployers/rsync.rb
165
167
  - lib/nanoc/extra/file_proxy.rb
166
168
  - lib/nanoc/extra/filesystem_tools.rb
169
+ - lib/nanoc/extra/jruby_nokogiri_warner.rb
167
170
  - lib/nanoc/extra/link_collector.rb
168
171
  - lib/nanoc/extra/piper.rb
169
172
  - lib/nanoc/extra/pruner.rb
@@ -231,11 +234,13 @@ files:
231
234
  - tasks/doc.rake
232
235
  - tasks/rubocop.rake
233
236
  - tasks/test.rake
237
+ - test/base/checksummer_spec.rb
234
238
  - test/base/core_ext/array_spec.rb
235
239
  - test/base/core_ext/date_spec.rb
236
240
  - test/base/core_ext/hash_spec.rb
237
241
  - test/base/core_ext/pathname_spec.rb
238
242
  - test/base/core_ext/string_spec.rb
243
+ - test/base/temp_filename_factory_spec.rb
239
244
  - test/base/test_checksum_store.rb
240
245
  - test/base/test_code_snippet.rb
241
246
  - test/base/test_compiler.rb
@@ -326,6 +331,10 @@ files:
326
331
  - test/filters/test_uglify_js.rb
327
332
  - test/filters/test_xsl.rb
328
333
  - test/filters/test_yui_compressor.rb
334
+ - test/fixtures/vcr_cassettes/css_run_error.yml
335
+ - test/fixtures/vcr_cassettes/css_run_ok.yml
336
+ - test/fixtures/vcr_cassettes/html_run_error.yml
337
+ - test/fixtures/vcr_cassettes/html_run_ok.yml
329
338
  - test/gem_loader.rb
330
339
  - test/helper.rb
331
340
  - test/helpers/test_blogging.rb