Made pdf action callable, and wrote a naive test for it
This commit is contained in:
parent
10214ebb26
commit
778e9420b5
|
@ -182,13 +182,13 @@ class WikiController < ApplicationController
|
|||
|
||||
def pdf
|
||||
page = wiki.read_page(@web_name, @page_name)
|
||||
safe_page_name = page.name.gsub(/\W/, '')
|
||||
file_name = "#{safe_page_name}-#{web.address}-#{page.created_at.strftime("%Y-%m-%d-%H-%M")}"
|
||||
safe_page_name = @page.name.gsub(/\W/, '')
|
||||
file_name = "#{safe_page_name}-#{@web.address}-#{@page.created_at.strftime("%Y-%m-%d-%H-%M")}"
|
||||
file_path = EXPORT_DIRECTORY + file_name
|
||||
|
||||
export_page_to_tex(file_path + '.tex') unless FileTest.exists?(file_path + '.tex')
|
||||
convert_tex_to_pdf(file_path + '.tex')
|
||||
send_export(file_name + '.pdf', file_path + '.pdf')
|
||||
send_file(file_name + '.pdf')
|
||||
end
|
||||
|
||||
def print
|
||||
|
|
|
@ -4,6 +4,10 @@ require File.dirname(__FILE__) + '/../test_helper'
|
|||
require 'wiki_controller'
|
||||
require 'rexml/document'
|
||||
|
||||
unless RedClothForTex.available?
|
||||
$stderr.puts 'Warning: latex is not available, skipping all related tests'
|
||||
end
|
||||
|
||||
# Raise errors beyond the default web-based presentation
|
||||
class WikiController; def rescue_action(e) logger.error(e); raise e end; end
|
||||
|
||||
|
@ -257,6 +261,13 @@ class WikiControllerTest < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
|
||||
def test_pdf
|
||||
if RedClothForTex.available?
|
||||
process('pdf', 'web' => 'wiki1', 'id' => 'HomePage')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_print
|
||||
process('print', 'web' => 'wiki1', 'id' => 'HomePage')
|
||||
assert_success
|
||||
|
|
Loading…
Reference in a new issue