From 70f2057854b2dfcd9d6ac0860811f7051956e573 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Fri, 16 Jan 2015 17:10:37 -0800 Subject: [PATCH] fix for titles coming from subdir indexes --- models/site.rb | 2 +- tests/site_file_tests.rb | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/models/site.rb b/models/site.rb index 8ed6dfeb..8731e4a1 100644 --- a/models/site.rb +++ b/models/site.rb @@ -567,7 +567,7 @@ class Site < Sequel::Model } end - if pathname.basename.to_s == 'index.html' && opts[:new_install] != true + if relative_path == 'index.html' && opts[:new_install] != true begin new_title = Nokogiri::HTML(File.read(uploaded.path)).css('title').first.text rescue NoMethodError => e diff --git a/tests/site_file_tests.rb b/tests/site_file_tests.rb index 154d963a..a1fba1c3 100644 --- a/tests/site_file_tests.rb +++ b/tests/site_file_tests.rb @@ -58,9 +58,22 @@ describe 'site_files' do args = ScreenshotWorker.jobs.first['args'] args.first.must_equal @site.username args.last.must_equal 'index.html' - @site.reload.site_changed.must_equal true + @site.title.must_equal "#{@site.username}.neocities.org" + @site.reload + @site.site_changed.must_equal true + @site.title.must_equal 'Hello?' end + it 'does not change title for subdir index.html' do + title = @site.title + upload( + 'dir' => 'derpie', + 'files[]' => Rack::Test::UploadedFile.new('./tests/files/index.html', 'text/html') + ) + @site.reload.title.must_equal title + end + + it 'succeeds with valid file' do upload 'files[]' => Rack::Test::UploadedFile.new('./tests/files/test.jpg', 'image/jpeg') last_response.body.must_match /successfully uploaded/i