You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
4.1 KiB
Plaintext
102 lines
4.1 KiB
Plaintext
27 years ago
|
|
||
|
The "item.ss" test (use load/cd) creates a frame to select
|
||
|
among several types of control-testing frames:
|
||
|
|
||
|
* Big - Tests basic controls; try everything
|
||
|
|
||
|
* Medium - Tests sliders & gauges; keep a new Big or
|
||
|
Medium frame open while getting a new Medium
|
||
|
frame to use the "Enable Previous Frame" test
|
||
|
|
||
|
* Menu - contains its own test instructions
|
||
|
|
||
|
* Button, Checkbox, etc. - Test everything, watching for
|
||
|
messages in the console
|
||
|
|
||
|
For Big & Medium, verify that hide & disbale work (via the checkboxes
|
||
|
on the right). Hiding or disabling a panel should hde or disable all
|
||
|
its contained controls. Disbaling a frame (a "Previous" frame) should
|
||
|
also disbale all of the contained controls. When "Null label" is
|
||
|
used, there should *not* be extra space left where a label might have
|
||
|
gone.
|
||
|
|
||
|
---------------------------------------------------------------------------
|
||
|
|
||
|
The "draw.ss" test (use load/cd) tests drawing commands. There
|
||
|
is a checkbox for testing drawing into an intermediate offscreen
|
||
|
bitmap as well. The drawing area should have the following
|
||
|
features:
|
||
|
|
||
|
At the top, "Pen 0 x 0" in a consistent font (i.e., re-painting
|
||
|
should not change the font)
|
||
|
"Pen 1 x 1" in a possibly different font
|
||
|
"Pen 2 x 2" in a bold font (bold version of 1x1 font)
|
||
|
|
||
|
the drawings under 0x0 and 1x1 should look the same:
|
||
|
TopLeft: h-line should be left-aligned with box below it,
|
||
|
but extend 1 extra pixel. v-line similarly should be
|
||
|
top-aligned and 1 pixel longer. The lines should not
|
||
|
touch the box - there should be 2 pixels of space.
|
||
|
Top: Lines for the rotated L's should join in a sharp corner
|
||
|
Second from Top: like top-left, but lines should touch the box
|
||
|
Four shape lines: First and second should be exactly the same
|
||
|
shape, with the first hollow and the second filled.
|
||
|
Third shape and 2x2 shapes are ill-defined.
|
||
|
Octagons: two hollow octagons exactly the same shape.
|
||
|
Line: actually two lines, but they should form a single
|
||
|
unbroken line
|
||
|
Images: MrEd logo (b & w)
|
||
|
BB logo (color)
|
||
|
Down-left arrow (b & w)
|
||
|
Down-left arrow - B & W, *not* red
|
||
|
Down-left arrow - red with white background
|
||
|
BB logo, possibly reddened
|
||
|
Down-left arrow - red with *white* background
|
||
|
|
||
|
---------------------------------------------------------------------------
|
||
|
|
||
|
The "imred.ss" test is used to check for memory leaks in a loop
|
||
|
invoking the mred system. Call the `go' procedure with a list
|
||
|
of symbol flags:
|
||
|
'force not included:
|
||
|
Use the current eventspaces; expects mred:run-exit-callbacks
|
||
|
to terminate everything properly
|
||
|
'force included:
|
||
|
Use a new eventspace; don't run mred:run-exit-callbacks and
|
||
|
call wx:kill-eventspace instead.
|
||
|
'console included:
|
||
|
Open a MrEd console
|
||
|
'thread included:
|
||
|
Spawn a sleeping-and-looping thread during each invocation.
|
||
|
Also tests semaphore-callback (because it has to)
|
||
|
'eventspace included:
|
||
|
Create a new sub-eventspace during each invocation with
|
||
|
a wx:frame% shown
|
||
|
|
||
|
---------------------------------------------------------------------------
|
||
|
|
||
|
The "mem.ss" test should be loaded at startup:
|
||
|
mred -nu -f tests/mem.ss
|
||
|
It will create a lot of frames and instance of other objects,
|
||
|
reporting memory information along the way. At the end,
|
||
|
before the last memory dump, objects that are still allocated
|
||
|
are displayed like this:
|
||
|
(frame (1 . 5))
|
||
|
This means that the frame allocated by thread #1 at cycle 5
|
||
|
(counting down from some number) hasn't been garbage-collected.
|
||
|
If there's a few of these lines (less than 10), that's ok.
|
||
|
A large number of lines indicates a GC problem.
|
||
|
|
||
|
---------------------------------------------------------------------------
|
||
|
|
||
|
The "setup.ss" test is a randomized test of the MrEd classes that tests
|
||
|
MrEd's stability. Load/cd setup.ss, and then run
|
||
|
(init)
|
||
|
This attempts to create instances of classes using random
|
||
|
intialization arguments. (init) can be run any number of times. Then
|
||
|
run
|
||
|
(call-all-random)
|
||
|
This calls every method of every class (skipping some "dangerous" ones
|
||
|
that modify the file system) with a random instance and with random
|
||
|
arguments.
|