Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
require 'test/unit'
require 'fox16'
include Fox
class TC_FXDCPrint < Test::Unit::TestCase
private
def printJob
job = FXPrinter.new
job.name = "output.ps"
job.firstpage = 1
job.lastpage = 1
job.currentpage = 1
job.frompage = 1
job.topage = 1
job.mediasize = MEDIA_USLETTER
job.mediawidth = 612.0
job.mediaheight = 792.0
job.leftmargin = 72.0
job.rightmargin = 72.0
job.topmargin = 72.0
job.bottommargin = 72.0
job.numcopies = 1
job.flags = PRINT_DEST_FILE
job
end
def hexdump(ios)
count = 0
ios.each_byte do |byte|
print sprintf("%02x ", byte)
count = count + 1
if count%8 == 0
print "\n"
end
end
end
# Convert DOS line endings (CR+LF) to Unix (LF)
def crlf_to_lf(text)
text.gsub(/\x0d\x0a/, "\x0a")
end
def assert_same_file_contents(expected, actual)
expected_contents, actual_contents = nil, nil
File.open(expected, 'rb') { |f| expected_contents = f.read }
File.open(actual, 'rb') { |f| actual_contents = crlf_to_lf(f.read) }
assert_equal(expected_contents, actual_contents)
end
public
def setup
if FXApp.instance.nil?
@app = FXApp.new('TC_FXDCPrint', 'FXRuby')
@app.init([])
else
@app = FXApp.instance
end
@dc = FXDCPrint.new(@app)
end
def test_beginPrint
@dc.beginPrint(printJob)
@dc.endPrint
assert_same_file_contents(File.join(File.dirname(__FILE__), "blankpage.ps"), printJob.name)
end
def test_beginPrint_with_block
@dc.beginPrint(printJob) do |theDC|
assert_same(@dc, theDC)
end
assert_same_file_contents(File.join(File.dirname(__FILE__), "blankpage.ps"), printJob.name)
end
def test_beginPage
@dc.beginPrint(printJob)
@dc.beginPage(1)
@dc.drawText(100, 100, "Howdy!")
@dc.endPage
@dc.endPrint
# assert_same_file_contents("howdypage.ps", printJob.name)
end
def test_beginPage_with_block
@dc.beginPrint(printJob) do |theDC|
assert_same(@dc, theDC)
theDC.beginPage(1) do |xDC|
assert_same(theDC, xDC)
xDC.drawText(100, 100, "Howdy!")
end
end
# assert_same_file_contents("howdypage.ps", printJob.name)
end
def teardown
if File.exists?("output.ps")
FileUtils.rm_f("output.ps")