Tests-Bugs

BitBltClipBugs
A BitBltClipBugs is xxxxxxxxx.
Instance Variables
testDrawingWayOutside
testDrawingWayOutside2
testDrawingWayOutside3
testDrawingWayOutside4
testDrawingWayOutside5
testDrawingWayOutside6
testFillingWayOutside
testFillingWayOutside2
testFillingWayOutside3
BitmapBugz
A BitmapBugz is xxxxxxxxx.
Instance Variables
testBitmapByteAt
BitmapStreamTests
This is an incomplete test suite for storing and reading various word- and short-word subclasses of ArrayedCollection.
It demonstrates some problems with filing in of certain kinds of arrayed objects, including:
ShortPointArray
ShortIntegerArray
ShortRunArray
WordArray
MatrixTransform2x3
In 3.6b-5331, I get 8 passed/6 failed/6 errors (not counting the MatrixTransform2x3 tests, which were added later).
I ran into problems when trying to read back the SqueakLogo flash character morph, after I'd done a 'save morph to disk' from its debug menu.
The words within the ShortPointArrays and ShortRunArrays were reversed.
createSampleShortRunArray
randomFloat
Answer a random 32-bit float
randomShortInt
randomShortPoint
randomWord
Answer a random 32-bit integer
setUp
tearDown
testMatrixTransform2x3WithImageSegment
testMatrixTransform2x3WithRefStream
testMatrixTransform2x3WithRefStreamOnDisk
testMatrixTransform2x3WithSmartRefStream
testMatrixTransform2x3WithSmartRefStreamOnDisk
testOtherClasses
testShortIntegerArrayReadRefStream2
testShortIntegerArrayWithImageSegment
testShortIntegerArrayWithRefStream
testShortIntegerArrayWithRefStream2
testShortIntegerArrayWithRefStreamOnDisk
testShortIntegerArrayWithSmartRefStream
testShortIntegerArrayWithSmartRefStream2
testShortIntegerArrayWithSmartRefStreamOnDisk
testShortPointArrayWithImageSegment
testShortPointArrayWithRefStream
testShortPointArrayWithRefStream2
testShortPointArrayWithRefStreamOnDisk
testShortPointArrayWithSmartRefStream
testShortPointArrayWithSmartRefStream2
testShortPointArrayWithSmartRefStreamOnDisk
testShortRunArrayWithImageSegment
testShortRunArrayWithRefStream
testShortRunArrayWithRefStreamOnDisk
testShortRunArrayWithSmartRefStream
testShortRunArrayWithSmartRefStream2
testShortRunArrayWithSmartRefStreamOnDisk
testWordArrayWithImageSegment
testWordArrayWithRefStream
testWordArrayWithRefStreamOnDisk
testWordArrayWithSmartRefStream
testWordArrayWithSmartRefStreamOnDisk
validateImageSegment
validateRefStream
array is set up with an array.
validateRefStreamOnDisk
array is set up with an array.
validateSmartRefStream
array is set up with an array.
validateSmartRefStreamOnDisk
array is set up with an array.
ByteArrayBugz
A ByteArrayBugz is xxxxxxxxx.
Instance Variables
testByteArrayLongAt
ChangeSetClassChangesTest
Class category changes are not being properly added to the default changeset in Squeak 3.7. This test case will pass in Squeak 3.6, and fail in Squeak 3.[7-9].
isDefinition:equivalentTo:
When a class definition is reconstructed with #fatDefForClass, it may
contain extra trailing space characters in parts of the definition. This
is probably a minor bug, but it should be overlooked for purposes of
testing the change set update mechanism. The expedient here is to just
remove spaces before comparing the definition strings.
tearDown
testAddInstanceVariable
Adding an instance variable to the class should result in a change
record being added to the current change set.
testAddInstanceVariableAddsNewChangeRecord
Changing the class category for a class should result in a change
record being updated in the current change set.
testChangeClassCategory
Changing the class category for a class should result in a change
record being added to the current change set.
testChangeClassCategoryAddsNewChangeRecord
Changing the class category for a class should result in a change
record being updated in the current change set.
testInitialChangeSet
Run this to assure the initial changeset is named. Checks bug found in 3.9 7052.
CircleMorphBugs
A CircleMorphBugs is xxxxxxxxx.
Instance Variables
testCircleInstance
ClassRenameFixTest
A ClassRenameFixTest is xxxxxxxxx.
Instance Variables
newClassName: <Object>
originalName: <Object>
previousChangeSet: <Object>
testsChangeSet: <Object>
newClassName
- xxxxx
originalName
- xxxxx
previousChangeSet
- xxxxx
testsChangeSet
- xxxxx
newUniqueClassName
Return a class name that is not used in the system.
removeEverythingInSetFromSystem:
renameClassUsing:
setUp
tearDown
testRenameClassUsingClass
self run: #testRenameClassUsingClass
verifyRenameEvent:
HandBugs
A HandBugs is xxxxxxxxx.
Instance Variables
testTargetPoint
self new testTargetPoint
MorphBugs
A MorphBugs is xxxxxxxxx.
Instance Variables
adhereToEdgeTest
self new adhereToEdgeTest
MorphicUIBugTest
A MorphicUIBugTest is a class for testing the shortcomings and repairs of the MorphicUI manager.
.
Instance Variables
cases: <aCollection>
cases
- a list of morphs that may need to be deleted during teardown.
the tests are expected to fill this list it starts out empty by default.

findWindowInWorldLabeled:
setUp
default. tests will add morphs to list. Teardown will delete.
tearDown
default. tests will add morphs to list. Teardown will delete.
testOpenWorkspace
self new testOpenWorkspace
RenderBugz
A RenderBugz is an infinite recursion bug test for TransformationMorphs.
In 3.9 (7067) and before, when TransformationMorph has no rendee there are several methods that will infinitely recurse until manually stopped or the image runs out of memory.
So far the ones I've caught are the getters and setters for heading and forwardDirection.
So there are tests for them here.
Ideally there would be a way to run a test against a stopwatch to catch endless recursion.
Found it. Now incorperated. And the tests should be both save to run and cleanup after themselves even when they fail.
So far we have not tested the normal cases of rendering working.
I will leave that as a separate task for another time.
So this is an automatic test when the bugs are fixed and interactive (crash) tests when the bugs are present.
Instance Variables
Revision notes. wiz 5/15/2008 22:58
When running tests from the TestRunner browser the test would sporadically fail.
When they failed a transfomation morph would be left on the screen and not removed by the
ensureBlock.
So I changed things to fall under MorphicUIBugTests because that had a cleanup mechansizm for left over morphs.
I also added one routine to test for time and one parameter to determine the time limit.
To my surprise doubling or tripling the time limit still produced sporadic errors when the test is run repeatedly enough ( I am using a 400mz iMac. ) So now the parameter is set to 4. Things will probably fail there if tried long enough. At that point try 5 etc.
I am reluctant to make the number larger than necessary. The tighter the test the more you know what is working.
I also added a dummy test to check specifically for the timing bug. It fails on the same sporadic basis as the other test went the time parameter is short enough. This lends confidence to the theory that the timing difficulty is coming from outside the test. The sunit runner puts up a progress morph for each test. So the morphic display stuff is busy and probably also the GC.
long
return time limit in milliseconds for tests
shouldntTakeLong:
Check for infinite recursion. Test should finish in a reasonable time.
testForward
If the bug exist there will be an infinte recursion.
testHeading
If the bug exist there will be an infinte recursion.
testSetForward
If the bug exist there will be an infinte reccursion.
testSetHeading
If the bug exist there will be an infinte recursion.
testTestTime
This is a control case. Should always pass.
If it does not something external to the tests are slowing things down
past the 1 millisecond mark.
StickynessBugz
A StickynessBugz is for mantis #5500 rectangles and ellipses don't act sticky when rotated even when they are..
Instance Variables
testForTiltedStickyness
self new testForTiltedStickyness
StreamBugz
A StreamBugz is xxxxxxxxx.
Instance Variables
testReadWriteStreamNextNBug
TestValueWithinFix
A TestValueWithinFix is xxxxxxxxx.
Instance Variables
testValueWithinNonLocalReturnFixReal
self run: #testValueWithinNonLocalReturnFixReal
testValueWithinNonLocalReturnFixSimply
self run: #testValueWithinNonLocalReturnFixSimply
valueWithinNonLocalReturn
Do a non-local return from a valueWithin: block