Rubocop: test/test_page.rb
This commit is contained in:
		
							parent
							
								
									7537b01e74
								
							
						
					
					
						commit
						474fc0a9a8
					
				|  | @ -1,15 +1,18 @@ | |||
| require 'helper' | ||||
| require "helper" | ||||
| 
 | ||||
| class TestPage < JekyllUnitTest | ||||
|   def setup_page(*args) | ||||
|     dir, file = args | ||||
|     dir, file = ['', dir] if file.nil? | ||||
|     if file.nil? | ||||
|       file = dir | ||||
|       dir = "" | ||||
|     end | ||||
|     @page = Page.new(@site, source_dir, dir, file) | ||||
|   end | ||||
| 
 | ||||
|   def do_render(page) | ||||
|     layouts = { | ||||
|       "default" => Layout.new(@site, source_dir('_layouts'), "simple.html") | ||||
|       "default" => Layout.new(@site, source_dir("_layouts"), "simple.html") | ||||
|     } | ||||
|     page.render(layouts, @site.site_payload) | ||||
|   end | ||||
|  | @ -18,15 +21,15 @@ class TestPage < JekyllUnitTest | |||
|     setup do | ||||
|       clear_dest | ||||
|       @site = Site.new(Jekyll.configuration({ | ||||
|         "source" => source_dir, | ||||
|         "destination" => dest_dir, | ||||
|         "source"            => source_dir, | ||||
|         "destination"       => dest_dir, | ||||
|         "skip_config_files" => true | ||||
|       })) | ||||
|     end | ||||
| 
 | ||||
|     context "processing pages" do | ||||
|       should "create url based on filename" do | ||||
|         @page = setup_page('contacts.html') | ||||
|         @page = setup_page("contacts.html") | ||||
|         assert_equal "/contacts.html", @page.url | ||||
|       end | ||||
| 
 | ||||
|  | @ -36,29 +39,29 @@ class TestPage < JekyllUnitTest | |||
|       end | ||||
| 
 | ||||
|       should "create url with non-alphabetic characters" do | ||||
|         @page = setup_page('+', '%# +.md') | ||||
|         @page = setup_page("+", '%# +.md') | ||||
|         assert_equal "/+/%25%23%20+.html", @page.url | ||||
|       end | ||||
| 
 | ||||
|       context "in a directory hierarchy" do | ||||
|         should "create url based on filename" do | ||||
|           @page = setup_page('/contacts', 'bar.html') | ||||
|           @page = setup_page("/contacts", "bar.html") | ||||
|           assert_equal "/contacts/bar.html", @page.url | ||||
|         end | ||||
| 
 | ||||
|         should "create index url based on filename" do | ||||
|           @page = setup_page('/contacts', 'index.html') | ||||
|           @page = setup_page("/contacts", "index.html") | ||||
|           assert_equal "/contacts/", @page.url | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       should "deal properly with extensions" do | ||||
|         @page = setup_page('deal.with.dots.html') | ||||
|         @page = setup_page("deal.with.dots.html") | ||||
|         assert_equal ".html", @page.ext | ||||
|       end | ||||
| 
 | ||||
|       should "deal properly with non-html extensions" do | ||||
|         @page = setup_page('dynamic_page.php') | ||||
|         @page = setup_page("dynamic_page.php") | ||||
|         @dest_file = dest_dir("dynamic_page.php") | ||||
|         assert_equal ".php", @page.ext | ||||
|         assert_equal "dynamic_page", @page.basename | ||||
|  | @ -67,7 +70,7 @@ class TestPage < JekyllUnitTest | |||
|       end | ||||
| 
 | ||||
|       should "deal properly with dots" do | ||||
|         @page = setup_page('deal.with.dots.html') | ||||
|         @page = setup_page("deal.with.dots.html") | ||||
|         @dest_file = dest_dir("deal.with.dots.html") | ||||
| 
 | ||||
|         assert_equal "deal.with.dots", @page.basename | ||||
|  | @ -75,19 +78,19 @@ class TestPage < JekyllUnitTest | |||
|       end | ||||
| 
 | ||||
|       should "make properties accessible through #[]" do | ||||
|         page = setup_page('properties.html') | ||||
|         page = setup_page("properties.html") | ||||
|         attrs = { | ||||
|           content: "All the properties.\n", | ||||
|           dir: "/properties/", | ||||
|           excerpt: nil, | ||||
|           foo: 'bar', | ||||
|           layout: 'default', | ||||
|           name: "properties.html", | ||||
|           path: "properties.html", | ||||
|           permalink: '/properties/', | ||||
|           published: nil, | ||||
|           title: 'Properties Page', | ||||
|           url: "/properties/" | ||||
|           :content   => "All the properties.\n", | ||||
|           :dir       => "/properties/", | ||||
|           :excerpt   => nil, | ||||
|           :foo       => "bar", | ||||
|           :layout    => "default", | ||||
|           :name      => "properties.html", | ||||
|           :path      => "properties.html", | ||||
|           :permalink => "/properties/", | ||||
|           :published => nil, | ||||
|           :title     => "Properties Page", | ||||
|           :url       => "/properties/" | ||||
|         } | ||||
| 
 | ||||
|         attrs.each do |attr, val| | ||||
|  | @ -103,38 +106,38 @@ class TestPage < JekyllUnitTest | |||
|         end | ||||
| 
 | ||||
|         should "return dir, url, and destination correctly" do | ||||
|           @page = setup_page('contacts.html') | ||||
|           @page = setup_page("contacts.html") | ||||
|           @dest_file = dest_dir("contacts/index.html") | ||||
| 
 | ||||
|           assert_equal '/contacts/', @page.dir | ||||
|           assert_equal '/contacts/', @page.url | ||||
|           assert_equal "/contacts/", @page.dir | ||||
|           assert_equal "/contacts/", @page.url | ||||
|           assert_equal @dest_file, @page.destination(dest_dir) | ||||
|         end | ||||
| 
 | ||||
|         should "return dir correctly for index page" do | ||||
|           @page = setup_page('index.html') | ||||
|           assert_equal '/', @page.dir | ||||
|           @page = setup_page("index.html") | ||||
|           assert_equal "/", @page.dir | ||||
|         end | ||||
| 
 | ||||
|         context "in a directory hierarchy" do | ||||
|           should "create url based on filename" do | ||||
|             @page = setup_page('/contacts', 'bar.html') | ||||
|             @page = setup_page("/contacts", "bar.html") | ||||
|             assert_equal "/contacts/bar/", @page.url | ||||
|           end | ||||
| 
 | ||||
|           should "create index url based on filename" do | ||||
|             @page = setup_page('/contacts', 'index.html') | ||||
|             @page = setup_page("/contacts", "index.html") | ||||
|             assert_equal "/contacts/", @page.url | ||||
|           end | ||||
| 
 | ||||
|           should "return dir correctly" do | ||||
|             @page = setup_page('/contacts', 'bar.html') | ||||
|             assert_equal '/contacts/bar/', @page.dir | ||||
|             @page = setup_page("/contacts", "bar.html") | ||||
|             assert_equal "/contacts/bar/", @page.dir | ||||
|           end | ||||
| 
 | ||||
|           should "return dir correctly for index page" do | ||||
|             @page = setup_page('/contacts', 'index.html') | ||||
|             assert_equal '/contacts/', @page.dir | ||||
|             @page = setup_page("/contacts", "index.html") | ||||
|             assert_equal "/contacts/", @page.dir | ||||
|           end | ||||
|         end | ||||
|       end | ||||
|  | @ -145,16 +148,16 @@ class TestPage < JekyllUnitTest | |||
|         end | ||||
| 
 | ||||
|         should "return url and destination correctly" do | ||||
|           @page = setup_page('contacts.html') | ||||
|           @page = setup_page("contacts.html") | ||||
|           @dest_file = dest_dir("contacts.html") | ||||
|           assert_equal '/contacts.html', @page.url | ||||
|           assert_equal "/contacts.html", @page.url | ||||
|           assert_equal @dest_file, @page.destination(dest_dir) | ||||
|         end | ||||
| 
 | ||||
|         should "return dir correctly" do | ||||
|           assert_equal '/', setup_page('contacts.html').dir | ||||
|           assert_equal '/contacts/', setup_page('contacts/bar.html').dir | ||||
|           assert_equal '/contacts/', setup_page('contacts/index.html').dir | ||||
|           assert_equal "/", setup_page("contacts.html").dir | ||||
|           assert_equal "/contacts/", setup_page("contacts/bar.html").dir | ||||
|           assert_equal "/contacts/", setup_page("contacts/index.html").dir | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|  | @ -164,9 +167,9 @@ class TestPage < JekyllUnitTest | |||
|         end | ||||
| 
 | ||||
|         should "return url and destination correctly" do | ||||
|           @page = setup_page('contacts.html') | ||||
|           @page = setup_page("contacts.html") | ||||
|           @dest_file = dest_dir("contacts/index.html") | ||||
|           assert_equal '/contacts/', @page.url | ||||
|           assert_equal "/contacts/", @page.url | ||||
|           assert_equal @dest_file, @page.destination(dest_dir) | ||||
|         end | ||||
|       end | ||||
|  | @ -177,9 +180,9 @@ class TestPage < JekyllUnitTest | |||
|         end | ||||
| 
 | ||||
|         should "return url and destination correctly" do | ||||
|           @page = setup_page('contacts.html') | ||||
|           @page = setup_page("contacts.html") | ||||
|           @dest_file = dest_dir("contacts.html") | ||||
|           assert_equal '/contacts.html', @page.url | ||||
|           assert_equal "/contacts.html", @page.url | ||||
|           assert_equal @dest_file, @page.destination(dest_dir) | ||||
|         end | ||||
|       end | ||||
|  | @ -190,9 +193,9 @@ class TestPage < JekyllUnitTest | |||
|         end | ||||
| 
 | ||||
|         should "return url and destination correctly" do | ||||
|           @page = setup_page('contacts.html') | ||||
|           @page = setup_page("contacts.html") | ||||
|           @dest_file = dest_dir("contacts.html") | ||||
|           assert_equal '/contacts', @page.url | ||||
|           assert_equal "/contacts", @page.url | ||||
|           assert_equal @dest_file, @page.destination(dest_dir) | ||||
|         end | ||||
|       end | ||||
|  | @ -200,9 +203,9 @@ class TestPage < JekyllUnitTest | |||
|       context "with any other permalink style" do | ||||
|         should "return dir correctly" do | ||||
|           @site.permalink_style = nil | ||||
|           assert_equal '/', setup_page('contacts.html').dir | ||||
|           assert_equal '/contacts/', setup_page('contacts/index.html').dir | ||||
|           assert_equal '/contacts/', setup_page('contacts/bar.html').dir | ||||
|           assert_equal "/", setup_page("contacts.html").dir | ||||
|           assert_equal "/contacts/", setup_page("contacts/index.html").dir | ||||
|           assert_equal "/contacts/", setup_page("contacts/bar.html").dir | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|  | @ -216,7 +219,7 @@ class TestPage < JekyllUnitTest | |||
|       end | ||||
| 
 | ||||
|       should "return nil permalink if no permalink exists" do | ||||
|         @page = setup_page('') | ||||
|         @page = setup_page("") | ||||
|         assert_equal nil, @page.permalink | ||||
|       end | ||||
| 
 | ||||
|  | @ -233,7 +236,7 @@ class TestPage < JekyllUnitTest | |||
| 
 | ||||
|     context "with specified layout of nil" do | ||||
|       setup do | ||||
|         @page = setup_page('sitemap.xml') | ||||
|         @page = setup_page("sitemap.xml") | ||||
|       end | ||||
| 
 | ||||
|       should "layout of nil is respected" do | ||||
|  | @ -247,60 +250,60 @@ class TestPage < JekyllUnitTest | |||
|       end | ||||
| 
 | ||||
|       should "write properly" do | ||||
|         page = setup_page('contacts.html') | ||||
|         page = setup_page("contacts.html") | ||||
|         do_render(page) | ||||
|         page.write(dest_dir) | ||||
| 
 | ||||
|         assert File.directory?(dest_dir) | ||||
|         assert_exist dest_dir('contacts.html') | ||||
|         assert_exist dest_dir("contacts.html") | ||||
|       end | ||||
| 
 | ||||
|       should "write even when the folder name is plus and permalink has +" do | ||||
|         page = setup_page('+', 'foo.md') | ||||
|         page = setup_page("+", "foo.md") | ||||
|         do_render(page) | ||||
|         page.write(dest_dir) | ||||
| 
 | ||||
|         assert File.directory?(dest_dir), "#{dest_dir} should be a directory" | ||||
|         assert_exist dest_dir('+', 'plus+in+url.html') | ||||
|         assert_exist dest_dir("+", "plus+in+url.html") | ||||
|       end | ||||
| 
 | ||||
|       should "write even when permalink has '%# +'" do | ||||
|         page = setup_page('+', '%# +.md') | ||||
|         page = setup_page("+", '%# +.md') | ||||
|         do_render(page) | ||||
|         page.write(dest_dir) | ||||
| 
 | ||||
|         assert File.directory?(dest_dir) | ||||
|         assert_exist dest_dir('+', '%# +.html') | ||||
|         assert_exist dest_dir("+", '%# +.html') | ||||
|       end | ||||
| 
 | ||||
|       should "write properly without html extension" do | ||||
|         page = setup_page('contacts.html') | ||||
|         page = setup_page("contacts.html") | ||||
|         page.site.permalink_style = :pretty | ||||
|         do_render(page) | ||||
|         page.write(dest_dir) | ||||
| 
 | ||||
|         assert File.directory?(dest_dir) | ||||
|         assert_exist dest_dir('contacts', 'index.html') | ||||
|         assert_exist dest_dir("contacts", "index.html") | ||||
|       end | ||||
| 
 | ||||
|       should "support .htm extension and respects that" do | ||||
|         page = setup_page('contacts.htm') | ||||
|         page = setup_page("contacts.htm") | ||||
|         page.site.permalink_style = :pretty | ||||
|         do_render(page) | ||||
|         page.write(dest_dir) | ||||
| 
 | ||||
|         assert File.directory?(dest_dir) | ||||
|         assert_exist dest_dir('contacts', 'index.htm') | ||||
|         assert_exist dest_dir("contacts", "index.htm") | ||||
|       end | ||||
| 
 | ||||
|       should "support .xhtml extension and respects that" do | ||||
|         page = setup_page('contacts.xhtml') | ||||
|         page = setup_page("contacts.xhtml") | ||||
|         page.site.permalink_style = :pretty | ||||
|         do_render(page) | ||||
|         page.write(dest_dir) | ||||
| 
 | ||||
|         assert File.directory?(dest_dir) | ||||
|         assert_exist dest_dir('contacts', 'index.xhtml') | ||||
|         assert_exist dest_dir("contacts", "index.xhtml") | ||||
|       end | ||||
| 
 | ||||
|       should "write properly with extension different from html" do | ||||
|  | @ -312,48 +315,47 @@ class TestPage < JekyllUnitTest | |||
|         assert_equal "/sitemap.xml", page.url | ||||
|         assert_nil page.url[/\.html$/] | ||||
|         assert File.directory?(dest_dir) | ||||
|         assert_exist dest_dir('sitemap.xml') | ||||
|         assert_exist dest_dir("sitemap.xml") | ||||
|       end | ||||
| 
 | ||||
|       should "write dotfiles properly" do | ||||
|         page = setup_page('.htaccess') | ||||
|         page = setup_page(".htaccess") | ||||
|         do_render(page) | ||||
|         page.write(dest_dir) | ||||
| 
 | ||||
|         assert File.directory?(dest_dir) | ||||
|         assert_exist dest_dir('.htaccess') | ||||
|         assert_exist dest_dir(".htaccess") | ||||
|       end | ||||
| 
 | ||||
|       context "in a directory hierarchy" do | ||||
|         should "write properly the index" do | ||||
|           page = setup_page('/contacts', 'index.html') | ||||
|           page = setup_page("/contacts", "index.html") | ||||
|           do_render(page) | ||||
|           page.write(dest_dir) | ||||
| 
 | ||||
|           assert File.directory?(dest_dir) | ||||
|           assert_exist dest_dir('contacts', 'index.html') | ||||
|           assert_exist dest_dir("contacts", "index.html") | ||||
|         end | ||||
| 
 | ||||
|         should "write properly" do | ||||
|           page = setup_page('/contacts', 'bar.html') | ||||
|           page = setup_page("/contacts", "bar.html") | ||||
|           do_render(page) | ||||
|           page.write(dest_dir) | ||||
| 
 | ||||
|           assert File.directory?(dest_dir) | ||||
|           assert_exist dest_dir('contacts', 'bar.html') | ||||
|           assert_exist dest_dir("contacts", "bar.html") | ||||
|         end | ||||
| 
 | ||||
|         should "write properly without html extension" do | ||||
|           page = setup_page('/contacts', 'bar.html') | ||||
|           page = setup_page("/contacts", "bar.html") | ||||
|           page.site.permalink_style = :pretty | ||||
|           do_render(page) | ||||
|           page.write(dest_dir) | ||||
| 
 | ||||
|           assert File.directory?(dest_dir) | ||||
|           assert_exist dest_dir('contacts', 'bar', 'index.html') | ||||
|           assert_exist dest_dir("contacts", "bar", "index.html") | ||||
|         end | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|   end | ||||
| end | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue