Building and Testing Tk::Square
Once all the files are in place, we simply run:
% perl Makefile.PL
which generates the topmost Makefile as well as pTk/Makefile. Then a simple make munges pTk/mTk/generic/tkSquare.c, compiles the munged pTk/tkSquare.c, runs xsubpp on Square.xs, and then compiles the generated Square.c file and links the .o files into a single .so loadable (for Unix). The autosplit subroutines, the Square.pm file, and the loadable are all copied into blib, the build library, for testing.
t/square_demo.t
Here’s the test program. It’s a rather normal Perl/Tk
program with a few special-purpose print
statements. When we type make
test
, files in the t
directory are executed, each of which prints out the number of tests
and strings of the form "ok 1"
or "not ok
2"
, specifying the status of each test. For
related information, check out the Test::Harness module.
#!/usr/local/bin/perl -w # This program creates Square widget. The Square class # has these default bindings: # # <1> press/drag : moves the Square to the pointer # "a" : toggles size( ) animation on/off BEGIN { $| = 1; print "1..3\n"; } use Tk; use Tk::Square; use strict; my $mw = MainWindow->new; print "ok 1\n"; my $sq = $mw->Square; print "ok 2\n"; $sq->pack(qw/-expand yes -fill both/); $sq->focus; MainLoop; print "ok 3\n";
Get Mastering Perl/Tk now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.