# ~*~ encoding: utf-8 ~*~ require File.expand_path(File.join(File.dirname(__FILE__), 'helper')) require File.expand_path '../../lib/gollum/views/latest_changes', __FILE__ context "Precious::Views::LatestChanges" do include Rack::Test::Methods def app Precious::App end setup do @path = cloned_testpath("examples/lotr.git") @wiki = Gollum::Wiki.new(@path) Precious::App.set(:gollum_path, @path) Precious::App.set(:wiki_options, {:latest_changes_count => 10}) end test "displays_latest_changes" do get('/latest_changes') body = last_response.body assert body.include?('Charles Pence'), "/latest_changes should include the Author Charles Pence" assert body.include?('a8ad3c0'), "/latest_changes should include the :latest_changes_count commit" assert !body.include?('60f12f4'), "/latest_changes should not include more than latest_changes_count commits" assert body.include?('Data-Two.csv'), "/latest_changes include links to modified files in #{body}" assert body.include?('Hobbit.md'), "/latest_changes should include links to modified pages in #{body}" end test "extract destination file name in case of path renaming" do view = Precious::Views::LatestChanges.new assert_equal "newname.md", view.extract_renamed_path_destination("oldname.md => newname.md") assert_equal "newDirectoryName/fileName.md", view.extract_renamed_path_destination("{oldDirectoryName => newDirectoryName}/fileName.md") end test "remove page extentions" do view = Precious::Views::LatestChanges.new assert_equal "page", view.remove_page_extentions("page.wiki") assert_equal "page-wiki", view.remove_page_extentions("page-wiki.md") assert_equal "file.any_extention", view.remove_page_extentions("file.any_extention") end teardown do FileUtils.rm_rf(@path) end end