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
|
def pdf
|
||||||
page = wiki.read_page(@web_name, @page_name)
|
page = wiki.read_page(@web_name, @page_name)
|
||||||
safe_page_name = page.name.gsub(/\W/, '')
|
safe_page_name = @page.name.gsub(/\W/, '')
|
||||||
file_name = "#{safe_page_name}-#{web.address}-#{page.created_at.strftime("%Y-%m-%d-%H-%M")}"
|
file_name = "#{safe_page_name}-#{@web.address}-#{@page.created_at.strftime("%Y-%m-%d-%H-%M")}"
|
||||||
file_path = EXPORT_DIRECTORY + file_name
|
file_path = EXPORT_DIRECTORY + file_name
|
||||||
|
|
||||||
export_page_to_tex(file_path + '.tex') unless FileTest.exists?(file_path + '.tex')
|
export_page_to_tex(file_path + '.tex') unless FileTest.exists?(file_path + '.tex')
|
||||||
convert_tex_to_pdf(file_path + '.tex')
|
convert_tex_to_pdf(file_path + '.tex')
|
||||||
send_export(file_name + '.pdf', file_path + '.pdf')
|
send_file(file_name + '.pdf')
|
||||||
end
|
end
|
||||||
|
|
||||||
def print
|
def print
|
||||||
|
|
|
@ -4,6 +4,10 @@ require File.dirname(__FILE__) + '/../test_helper'
|
||||||
require 'wiki_controller'
|
require 'wiki_controller'
|
||||||
require 'rexml/document'
|
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
|
# Raise errors beyond the default web-based presentation
|
||||||
class WikiController; def rescue_action(e) logger.error(e); raise e end; end
|
class WikiController; def rescue_action(e) logger.error(e); raise e end; end
|
||||||
|
|
||||||
|
@ -257,6 +261,13 @@ class WikiControllerTest < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def test_pdf
|
||||||
|
if RedClothForTex.available?
|
||||||
|
process('pdf', 'web' => 'wiki1', 'id' => 'HomePage')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
def test_print
|
def test_print
|
||||||
process('print', 'web' => 'wiki1', 'id' => 'HomePage')
|
process('print', 'web' => 'wiki1', 'id' => 'HomePage')
|
||||||
assert_success
|
assert_success
|
||||||
|
|
Loading…
Reference in a new issue