Made pdf action callable, and wrote a naive test for it

This commit is contained in:
Alexey Verkhovsky 2005-01-16 00:21:08 +00:00
parent 10214ebb26
commit 778e9420b5
2 changed files with 14 additions and 3 deletions

View file

@ -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

View file

@ -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