Tests

ATestCase
An ATestCase is xxxxxxxxx.
Instance Variables
testRequirement
self debug: #testRequirement
AbstractObjectsAsMethod
An AbstractObjectsAsMethod is xxxxxxxxx.
Instance Variables
flushCache
methodClass:
selector:
AnnouncementMockA
An AnnouncementMockA is xxxxxxxxx.
Instance Variables
AnnouncementMockB
An AnnouncementMockB is xxxxxxxxx.
Instance Variables
AnnouncementMockC
An AnnouncementMockC is xxxxxxxxx.
Instance Variables
AnnouncerTest
An AnnouncerTest is xxxxxxxxx.
Instance Variables
announcer: <Object>
announcer
- xxxxx
setUp
testAnnounceClass
testAnnounceInstance
testSubscribeBlock
testSubscribeSend
testSubscribeSet
testSubscribeSubclass
testUnsubscribeBlock
testUnsubscribeSend
testUnsubscribeSet
ArrayLiteralTest
An ArrayLiteralTest is xxxxxxxxx.
Instance Variables
tearDown
testByteArrayBase
testByteArrayEmpty
testByteArrayLiteral
testByteArrayLong
testByteArrayRange
testByteArrayWithinArray
testReservedIdentifiers
testSymbols
AuthorTest
An AuthorTest is xxxxxxxxx.
Instance Variables
author: <Object>
author
- xxxxx
setUp
tearDown
testDeprecation
testInitiallyEmpty
testUniqueness
BecomeTest
A BecomeTest is xxxxxxxxx.
Instance Variables
testBecome
Test the two way become. Note. we cannot use string literals for this test
testBecomeForward
Test the forward become.
testBecomeForwardDontCopyIdentityHash
Check that
1. the argument to becomeForward: is NOT modified to have the receiver's identity hash.
2. the receiver's identity hash is unchanged.
testBecomeForwardHash
testBecomeForwardIdentityHash
Check that
1. the argument to becomeForward: is modified to have the receiver's identity hash.
2. the receiver's identity hash is unchanged.
testBecomeHash
testBecomeIdentityHash
Note. The identity hash of both objects seems to change after the become:
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
ChangeHooksTest
This class implements unit tests to verify that when the system changes, notification messages are sent around correctly.
Therefore the test messages make a system change, after registering to receive an event ater the change occured. In this event (sent immediately after the change), the actual assertions take place.
Note that the system changes are *really* made to the system, but in a change set that is created in the setUp method, while the previous one is restored in the tearDown method.
addSingleEvent:
checkEvent:kind:item:itemKind:
checkForOnlySingleEvent
classCommentedEvent:
classCreationEvent:
classRecategorizedEvent:
classRedefinitionEvent:
classRemovalEvent:
This event used to be sent efter the class was removed.
This was changed, and therefore this test is useless currently.
classRenameEvent:
classSuperChangedEvent:
commentStringForTesting
generateTestClass
generateTestClassX
generatedTestClassName
generatedTestClassNameX
instanceVariableCreationEvent:
instanceVariableRemovedEvent:
methodCreationEvent1:
methodCreationEvent2:
methodDoItEvent1:
methodRecategorizationEvent:
methodRemovedEvent1:
methodRemovedEvent2:
newlyCreatedClassName
rememberEvent:
removeGeneratedTestClasses
Remove all classes that were possibly generated during testing.
renamedTestClassName
setUp
shouldNotBeCalledEvent:
This event should not be called, so fail the test.
tearDown
testClassCommentedEvent
testClassCreationEvent
testClassRecategorizedEvent1
testClassRecategorizedEvent2
testClassRedefinition
testClassRemovalEvent
This event used to be sent efter the class was removed.
This was changed, and therefore this test is useless currently.
testClassRenamedEvent
testClassSuperChangedEvent
testDoItEvent1
testDoItEvent2
testInstanceVariableCreationEvent1
testInstanceVariableCreationEvent2
testInstanceVariableRemovedEvent1
testInstanceVariableRemovedEvent2
testInstanceVariableRenamedSilently
testMethodCreationEvent1
testMethodCreationEvent2
testMethodRecategorizationEvent
testMethodRemovedEvent1
testMethodRemovedEvent2
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:
ClassTraitTest
A ClassTraitTest is xxxxxxxxx.
Instance Variables
testChanges
Test the most important features to ensure that
general functionality of class traits are working.
testConflictsAliasesAndExclusions
conflict
testInitialization
self run: #testInitialization
testUsers
ClosureCompilerTest
A ClosureCompilerTest is xxxxxxxxx.
Instance Variables
closureCases
doTestDebuggerTempAccessWith:with:
Test debugger access for temps
expectedFailures
The problem in the tests #testDebuggerTempAccess is that a compiler evaluate
message is sent and this prevents the proper temp analysis of the closure compiler
methodWithCopiedAndAssignedTemps
methodWithCopiedAndPostClosedOverAssignedTemps
methodWithCopiedTemps
methodWithOptimizedBlocks
methodWithOptimizedBlocksA
methodWithVariousTemps
supportTestSourceRangeAccessForDecompiledInjectInto:source:
Test debugger source range selection for inject:into:
supportTestSourceRangeAccessForDecompiledNoBytecodeInjectInto:source:
Test debugger source range selection for inject:into:
supportTestSourceRangeAccessForInjectInto:source:
Test debugger source range selection for inject:into:
supportTestSourceRangeAccessForInjectInto:source:selectionSequence:
Test debugger source range selection for inject:into:
testBlockNumbering
Test that the compiler and CompiledMethod agree on the block numbering of a substantial doit.
testBlockNumberingForInjectInto
Test that the compiler and CompiledMethod agree on the block numbering of Collection>>inject:into:
and that temp names for inject:into: are recorded.
testDebuggerTempAccess
testDecompiledDoitMethodTempNames
self new testDecompiledDoitMethodTempNames
testInjectIntoDecompilations
Test various compilations decompile to the same code for a method sufficiently
simple that this is possible and sufficiently complex that the code generated
varies between the compilations.
testInjectIntoDecompiledDebugs
Test various debugs of the decompiled form debug correctly.
testInlineBlockCollectionEM1
testInlineBlockCollectionLR1
Test case from Lukas Renggli
testInlineBlockCollectionLR2
Test case from Lukas Renggli
testInlineBlockCollectionLR3
testInlineBlockCollectionSD1
testMethodAndNodeTempNames
self new testMethodAndNodeTempNames
testSourceRangeAccessForBlueBookInjectInto
Test debugger source range selection for inject:into: for a version compiled with closures
testSourceRangeAccessForBlueBookLongFormInjectInto
Test debugger source range selection for inject:into: for a version compiled with closures
testSourceRangeAccessForClosureBytecodeInjectInto
Test debugger source range selection for inject:into: for a version compiled with closures
testSourceRangeAccessForClosureLongFormBytecodeInjectInto
Test debugger source range selection for inject:into: for a version compiled with closures
testSourceRangeAccessForInjectInto
Test debugger source range selection for inject:into: for the current version of the method
testTempNameAccessForInjectInto
self new testTempNameAccessForInjectInto
ClosureTests
A ClosureTests is xxxxxxxxx.
Instance Variables
collection: <Object>
collection
- xxxxx
assertValues:
methodArgument:
setUp
testBlockArgument
testBlockTemp
testMethodArgument
testMethodTemp
testToDoArgument
testToDoArgumentNotInlined
testToDoInsideTemp
testToDoInsideTempNotInlined
testToDoOutsideTemp
testToDoOutsideTempNotInlined
testWhileModificationAfter
testWhileModificationAfterNotInlined
testWhileModificationBefore
testWhileModificationBeforeNotInlined
testWhileWithTemp
testWhileWithTempNotInlined
CompiledMethodAsStringTest
A CompiledMethodAsStringTest is xxxxxxxxx.
Instance Variables
testCompiledMethodAsString
self debug: #testCompiledMethodAsString
CompilerExceptionsTest
A CompilerExceptionsTest is xxxxxxxxx.
Instance Variables
griffle
select
selectFrom:to:
selectionInterval
testUnknownSelector
text
unusedVariableSource
CompilerTest
CompilerTest is a holder for SUnit test of Compiler
testScaledDecimalLiterals
Equal ScaledDecimal with different scales should use different slots
This is related to http://bugs.squeak.org/view.php?id=6797
ContextCompilationTest
A ContextCompilationTest is xxxxxxxxx.
Instance Variables
testVariablesAndOffsetsDo
ContextCompilationTest new testVariablesAndOffsetsDo
DebuggerUnwindBug
A DebuggerUnwindBug is xxxxxxxxx.
Instance Variables
expectedFailures
See thread http://lists.squeakfoundation.org/pipermail/squeak-dev/2008-June/129360.html
testUnwindBlock
test if unwind blocks work properly
testUnwindDebugger
test if unwind blocks work properly when a debugger is closed
testUnwindDebuggerWithStep
test if unwind blocks work properly when a debugger is closed
DecompilerTestFailuresCollector
(| dtfc |
dtfc := DecompilerTestFailuresCollector new.
(dtfc class superclass organization listAtCategoryNamed: #tests) do:
[:s| dtfc perform: s].
dtfc failures)
(Transcript nextPut: ${.
self do: [:mr| Transcript print: mr actualClass; nextPut: $.; space; store: mr methodSymbol; nextPut: $.; cr; flush].
Transcript nextPut: $}; flush)
eem 7/1/2009 16:13
{AdditionalMethodState. #keysAndValuesDo:.
AdditionalMethodState. #propertyKeysAndValuesDo:.
AdditionalMethodState. #at:ifAbsent:.
AdditionalMethodState. #removeKey:ifAbsent:.
AdditionalMethodState. #at:ifAbsentPut:.
AdditionalMethodState. #setMethod:.
AdditionalMethodState. #at:put:.
AdditionalMethodState. #pragmas.
AdditionalMethodState. #includesProperty:.
AdditionalMethodState. #properties.
AdditionalMethodState. #hasLiteralSuchThat:.
AdditionalMethodState. #propertyValueAt:ifAbsent:.
AdditionalMethodState. #hasLiteralThorough:.
Array. #hasLiteralSuchThat:.
BitBltSimulation. #initDither8Lookup.
BlockNode. #sizeCodeExceptLast:.
BlockNode. #emitCodeExceptLast:encoder:.
Categorizer. #changeFromCategorySpecs:.
Categorizer. #elementCategoryDict.
CColorPicker. #colors:.
CCustomDrawListCostume. #drawListOn:in:.
ChangeList. #browseCurrentVersionsOfSelections.
ClosureTests. #testToDoInsideTemp.
Cogit. #computeMaximumSizes.
Cogit. #outputInstructionsAt:.
Cogit. #generateMapAt:start:.
CogVMSimulator. #printFrameThing:at:.
CogVMSimulator. #str:n:cmp:.
CoInterpreter. #validStackPageBaseFrames.
CoInterpreter. #markAndTraceTraceLog.
CoInterpreter. #mapTraceLog.
CoInterpreter. #checkStackIntegrity.
CoInterpreter. #mapStackPages.
CoInterpreter. #updateStackZoneReferencesToCompiledCodePreCompaction.
CoInterpreter. #ceActivateFailingPrimitiveMethod:.
CoInterpreterStackPages. #initializeStack:numSlots:pageSize:stackLimitOffset:stackPageHeadroom:.
CompiledMethod. #=.
CompiledMethod. #getPreambleFrom:at:.
CompiledMethod. #hasLiteralThorough:.
CompiledMethod. #hasLiteralSuchThat:.
CPopUpMenuCostume. #drawMenu:on:in:.
CroquetParticipant. #dropFiles:.
CTextParagraph. #selectionRectsFrom:to:.
CWheelWidgetCostume. #drawOn:in:.
Dictionary. #scanFor:.
Float. #printPaddedWith:to:.
FMSound. #mixSampleCount:into:startingAt:leftVol:rightVol:.
Form. #transformColors:.
FTPClient. #getDataInto:.
GIFReadWriter. #nextImageWithPlugin.
GraphMorph. #drawDataOn:.
GZipReadStream. #on:from:to:.
HTTPServiceDispatcher. #errorReportFor:stack:on:.
HttpUrl. #checkAuthorization:retry:.
Integer. #benchSwitch:.
Interpreter. #primitiveClosureValueWithArgs.
Interpreter. #primitivePerformAt:.
Interpreter. #primitiveDoPrimitiveWithArgs.
Interpreter. #primitiveNewMethod.
InterpreterStackPages. #initializeStack:numSlots:pageSize:stackLimitOffset:stackPageHeadroom:.
JPEGReadWriter. #decodeBlockInto:component:dcTable:acTable:.
KeyedIdentitySet. #scanFor:.
KeyedSet. #scanFor:.
LargeIntegersPlugin. #isNormalized:.
LargeIntegersPlugin. #cBytesCopyFrom:to:len:.
LargeIntegersPlugin. #cDigitMultiply:len:with:len:into:.
LiteralDictionary. #scanFor:.
LoopedSampledSound. #mixSampleCount:into:startingAt:leftVol:rightVol:.
MethodDictionary. #scanFor:.
MP4BoxInfoParser. #parseMP4BoxOutput:.
MP4BoxNHMLTrack. #computeDTSDeltas.
MultiByteBinaryOrTextStream. #next:.
MultiByteFileStream. #next:.
MViewPane. #reconstructEnabledDocuments.
MViewPane. #reconstructOpenDocuments.
MViewPane. #reconstructSelectionList.
NewParagraph. #selectionRectsFrom:to:.
Object. #instanceFields.
OldSocket. #getResponseNoLF.
PasteUpMorph. #dropFiles:.
PlotMorphGrid. #bestStep:.
PluckedSound. #reset.
PluggableDictionary. #scanFor:.
PluggableSet. #scanFor:.
PluggableTabButtonMorph. #calculateArcLengths.
PluggableTabButtonMorph. #drawTabOn:.
PNGReadWriter. #copyPixelsGray:.
PNMReadWriter. #readPlainRGB.
PNMReadWriter. #readBWreverse:.
PNMReadWriter. #nextPutRGB:.
PNMReadWriter. #nextPutBW:reverse:.
PopUpMenu. #readKeyboard.
QFloorFan. #initialize.
QMinimalForum. #demoDesksUnused.
QNetVidReorderingBuffer. #popFramesForCTS:.
QNetVidTrackStreamer. #sampleIndexWithCTS:.
QServiceProvider. #statusReport.
QServicesPane. #forumMenuInto:.
QUserListItem. #drawOn:in:.
QVMProfiler. #computeHistograms:.
QVMProfiler. #selectSymbolsInRange.
QwaqParticipantUI. #onDropFiles:.
RelativeInstructionPrinter. #print:.
RemoteHandMorph. #appendNewDataToReceiveBuffer.
SchizophrenicClosureFormatStackInterpreter. #primitiveClosureValueWithArgs.
Set. #do:.
Set. #scanFor:.
SHParserST80. #isBinary.
ShootoutMall. #processVisitors.
ShortIntegerArray. #writeOn:.
SparseLargeArray. #analyzeSpaceSaving.
StackInterpreter. #validStackPageBaseFrames.
StackInterpreter. #divorceAllFrames.
StackInterpreter. #checkStackIntegrity.
StackInterpreter. #primitiveDoPrimitiveWithArgs.
StackInterpreter. #reverseDisplayFrom:to:.
StackInterpreter. #printOop:.
StackInterpreter. #mapStackPages.
StackInterpreter. #primitiveNewMethod.
StackInterpreter. #primitiveClosureValueWithArgs.
StrikeFontSet. #displayStringR2L:on:from:to:at:kern:.
String. #howManyMatch:.
Text. #asHtmlFragmentTextStyle:useBreaks:.
TextURL. #actOnClickFor:.
TFractalTerrain. #heightAt:.
TFractalTerrain. #makeFaces.
TFractalTerrain. #makeVertices.
TFractalTerrain. #makeTextureUV.
TFractalTerrain. #makeVertexNormals.
TFrame. #computeUnionSphere.
TMethod. #emitCCommentOn:.
TRFBStreamOutput. #handleRequest:.
TTCFontReader. #processCharacterMappingTable:.
TTContourConstruction. #segmentsDo:.
TTensor. #projectionIntegrate:.
TTFontReader. #processHorizontalMetricsTable:length:.
TTFontReader. #processCharacterMappingTable:.
TWaves. #step.
Vector. #copyFrom:.
Vector. #asVector3.
VectorColor. #copyFrom:.
WeakKeyDictionary. #scanForNil:.
WeakKeyDictionary. #scanFor:.
WeakSet. #scanFor:.
WeakSet. #scanForLoadedSymbol:.
}
assert:description:resumable:
failures
DecompilerTests
AdrianLienhard 10/11/2009 19:08: Since many of tests are expected to fail, the super class is temporarily changed to Object so that these tests are not run anymore. Using the expected failures mechanism does not work since the tests depend on the source code loaded in the image and hence may or may not fail depending on what is loaded.
Apparently the decompiler does not really work totally.
Here are a bunch of methods that can help improving the decompiler:
- blockingClasses return class for which it is impossible to decompile methods
- failures are problems that lead to a DNU
- decompilerDiscrepancies are the results of running decompileTestHelper..as you see the pattern
is quite present.
blockingClasses
checkDecompileMethod:
decompileClassesSelect:
decompilerDiscrepancies
classnames, method selector, isMeta
decompilerFailures
here is the list of failures: DNU resulting in trying to decompile the following methods
decompilerTestHelper
Decompiles the source for every method in the system, and
then compiles that source and verifies that it generates (and
decompiles to) identical code. This currently fails in a number
of places because some different patterns (esp involving
conditionals where the first branch returns) decompile the
same.
isBlockingClass:
self new isBlockingClass: PNMReaderWriter
isFailure:sel:
self new isKnowProblem: PNMReaderWriter sel: #nextImage
isStoredProblems:sel:meta:
self new isKnowProblem: PNMReaderWriter sel: #nextImage
testDecompiler
self run: #testDecompiler
testDecompilerInClassesAAtoAM
testDecompilerInClassesANtoAZ
testDecompilerInClassesBAtoBM
testDecompilerInClassesBNtoBZ
testDecompilerInClassesCAtoCM
testDecompilerInClassesCNtoCZ
testDecompilerInClassesDAtoDM
testDecompilerInClassesDNtoDZ
testDecompilerInClassesEAtoEM
testDecompilerInClassesENtoEZ
testDecompilerInClassesFAtoFM
testDecompilerInClassesFNtoFZ
testDecompilerInClassesGAtoGM
testDecompilerInClassesGNtoGZ
testDecompilerInClassesHAtoHM
testDecompilerInClassesHNtoHZ
testDecompilerInClassesIAtoIM
testDecompilerInClassesINtoIZ
testDecompilerInClassesJAtoJM
testDecompilerInClassesJNtoJZ
testDecompilerInClassesKAtoKM
testDecompilerInClassesKNtoKZ
testDecompilerInClassesLAtoLM
testDecompilerInClassesLNtoLZ
testDecompilerInClassesMAtoMM
testDecompilerInClassesMNtoMZ
testDecompilerInClassesNAtoNM
testDecompilerInClassesNNtoNZ
testDecompilerInClassesOAtoOM
testDecompilerInClassesONtoOZ
testDecompilerInClassesPAtoPM
testDecompilerInClassesPNtoPZ
testDecompilerInClassesQAtoQM
testDecompilerInClassesQNtoQZ
testDecompilerInClassesRAtoRM
testDecompilerInClassesRNtoRZ
testDecompilerInClassesSAtoSM
testDecompilerInClassesSNtoSZ
testDecompilerInClassesTAtoTM
testDecompilerInClassesTNtoTZ
testDecompilerInClassesUAtoUM
testDecompilerInClassesUNtoUZ
testDecompilerInClassesVAtoVM
testDecompilerInClassesVNtoVZ
testDecompilerInClassesWAtoWM
testDecompilerInClassesWNtoWZ
testDecompilerInClassesXAtoXM
testDecompilerInClassesXNtoXZ
testDecompilerInClassesYAtoYM
testDecompilerInClassesYNtoYZ
testDecompilerInClassesZAtoZM
testDecompilerInClassesZNtoZZ
DosFileDirectoryTests
A DosFileDirectoryTests is xxxxxxxxx.
Instance Variables
testFileDirectoryContainingDirectory
Hoping that you have 'C:' of course...
testFileDirectoryContainingDirectoryExistence
Hoping that you have 'C:' of course...
testFileDirectoryContainingEntry
Hoping that you have 'C:' of course...
testFileDirectoryDirectoryEntry
Hoping that you have 'C:' of course...
testFileDirectoryEntryFor
Hoping that you have 'C:' of course...
testFileDirectoryExists
Hoping that you have 'C:' of course...
testFileDirectoryLocalName
Hoping that you have 'C:' of course...
testFileDirectoryNamed
Hoping that you have 'C:' of course...
testFileDirectoryNonExistence
Hoping that you have 'C:' of course...
testFileDirectoryRootExistence
Hoping that you have 'C:' of course...
testFullNameFor
Hoping that you have 'C:' of course...
testIsDriveForDrive
testIsDriveForShare
EventManagerTest
An EventManagerTest is xxxxxxxxx.
Instance Variables
eventListener: <Object>
eventSource: <Object>
succeeded: <Object>
eventListener
- xxxxx
eventSource
- xxxxx
succeeded
- xxxxx
addArg1:addArg2:
getFalse
getFalse:
getTrue
getTrue:
heardEvent
setUp
tearDown
testBlockReceiverNoArgs
testBlockReceiverOneArg
testBlockReceiverTwoArgs
testCopy
Ensure that the actionMap is zapped when
you make a copy of anEventManager
testMultipleValueSuppliers
testMultipleValueSuppliersEventHasArguments
testNoArgumentEvent
testNoArgumentEventDependentSuppliedArgument
testNoArgumentEventDependentSuppliedArguments
testNoValueSupplier
testNoValueSupplierHasArguments
testOneArgumentEvent
testRemoveActionsForEvent
testRemoveActionsTwiceForEvent
testRemoveActionsWithReceiver
testReturnValueWithManyListeners
testReturnValueWithNoListeners
testReturnValueWithOneListener
testSingleValueSupplier
testTwoArgumentEvent
EventTest
An EventTest is xxxxxxxxx.
Instance Variables
eventListener: <Object>
eventSource: <Object>
succeeded: <Object>
eventListener
- xxxxx
eventSource
- xxxxx
succeeded
- xxxxx
addArg1:addArg2:
getFalse
getFalse:
getTrue
getTrue:
heardEvent
setUp
tearDown
testMultipleValueSuppliers
testMultipleValueSuppliersEventHasArguments
testMultipleValueSuppliersEventHasArgumentsWithGC
testNoArgumentEvent
testNoArgumentEventDependentSuppliedArgument
testNoArgumentEventDependentSuppliedArguments
testNoValueSupplier
testNoValueSupplierHasArguments
testOneArgumentEvent
testRemoveActionsForEvent
testRemoveActionsTwiceForEvent
testRemoveActionsWithReceiver
testReturnValueWithManyListeners
testReturnValueWithNoListeners
testReturnValueWithOneListener
testSingleValueSupplier
testTwoArgumentEvent
ExceptionTester
An ExceptionTester is xxxxxxxxx.
Instance Variables
iterationsBeforeTimeout: <Object>
log: <Object>
suiteLog: <Object>
iterationsBeforeTimeout
- xxxxx
log
- xxxxx
suiteLog
- xxxxx
basicANSISignaledExceptionTestSelectors
basicTestSelectors
clearLog
contents
doSomething
doSomethingElse
doSomethingElseString
doSomethingExceptional
doSomethingExceptionalString
doSomethingString
doYetAnotherThing
doYetAnotherThingString
doubleOuterPassTest
uses #resume
doubleOuterPassTestResults
doubleOuterTest
uses #resume
doublePassOuterTest
uses #resume
doublePassOuterTestResults
doubleResumeTest
doubleResumeTestResults
iterationsBeforeTimeout
iterationsBeforeTimeout:
log
log:
logTest:
logTestResult:
methodWithError
methodWithNotification
nonResumableFallOffTheEndHandler
nonResumableFallOffTheEndHandlerResults
resumableFallOffTheEndHandler
resumableFallOffTheEndHandlerResults
runAllTests
ExceptionTester new runAllTests
runBasicANSISignaledExceptionTests
runBasicTests
runTest:
signalFromHandlerActionTest
signalFromHandlerActionTestResults
simpleEnsureTest
simpleEnsureTestResults
simpleEnsureTestWithError
simpleEnsureTestWithErrorResults
simpleEnsureTestWithNotification
simpleEnsureTestWithNotificationResults
simpleEnsureTestWithUparrow
simpleEnsureTestWithUparrowResults
simpleIsNestedTest
uses resignalAs:
simpleIsNestedTestResults
simpleNoTimeoutTest
simpleNoTimeoutTestResults
simpleOuterTest
uses #resume
simpleOuterTestResults
simplePassTest
simplePassTestResults
simpleResignalAsTest
ExceptionTester new simpleResignalAsTest
simpleResignalAsTestResults
simpleResumeTest
see if we can resume twice
simpleResumeTestResults
see if we can resume twice
simpleRetryTest
simpleRetryTestResults
simpleRetryUsingTest
simpleRetryUsingTestResults
simpleReturnTest
simpleReturnTestResults
simpleTimeoutTest
simpleTimeoutTestResults
simpleTimeoutWithZeroDurationTest
simpleTimeoutWithZeroDurationTestResults
suiteLog
testString
warningTest
ExceptionTests
An ExceptionTests is xxxxxxxxx.
Instance Variables
assertSuccess:
testDoubleOuterPass
testDoublePassOuter
testDoubleResume
testNoTimeout
testNonResumableFallOffTheEndHandler
testNonResumableOuter
testNonResumablePass
testResumableFallOffTheEndHandler
testResumableOuter
testResumablePass
testSignalFromHandlerActionTest
testSimpleEnsure
testSimpleEnsureTestWithError
testSimpleEnsureTestWithNotification
testSimpleEnsureTestWithUparrow
testSimpleIsNested
testSimpleOuter
testSimplePass
testSimpleResignalAs
testSimpleResume
testSimpleRetry
testSimpleRetryUsing
testSimpleReturn
testTimeoutWithZeroDuration
FileDirectoryTest
A FileDirectoryTest is xxxxxxxxx.
Instance Variables
assuredDirectory
deleteDirectory
directory
directoryName
tearDown
testAttemptExistenceCheckWhenFile
How should a FileDirectory instance respond with an existent file name?
testDeleteDirectory
Test deletion of a directory
testDirectoryExists
testDirectoryExistsWhenLikeNamedFileExists
testDirectoryNamed
testExists
testNonExistentDirectory
testOldFileOrNoneNamed
FileStreamTest
A FileStreamTest is xxxxxxxxx.
Instance Variables
testDetectFileDo
FontTest
I am mainly a test for fallback font.
FontTest buildSuite run
testDisplay
self debug: #testDisplay
testMultistringFont
self debug: #testMultistringFont
testParagraph
self debug: #testParagraph
FullMERequiresSpeedTestCase
A FullMERequiresSpeedTestCase is xxxxxxxxx.
Instance Variables
getInformationFor:
loseInterestInClasses:
noteInterestInClasses:
prepareAllCaches
HandBugs
A HandBugs is xxxxxxxxx.
Instance Variables
testTargetPoint
self new testTargetPoint
HostWindowTests
A HostWindowTests is xxxxxxxxx.
Instance Variables
isAbstract
isMacintosh
testOne
Make a host window, display some of Display on it and update.
IfNotNilTests
An IfNotNilTests is xxxxxxxxx.
Instance Variables
testIfNilIfNotNil0Arg
testIfNilIfNotNil0ArgAsVar
testIfNilIfNotNil1Arg
testIfNilIfNotNil1ArgAsVar
testIfNotNil0Arg
testIfNotNil0ArgAsVar
testIfNotNil1Arg
testIfNotNil1ArgAsVar
testIfNotNilIfNil0Arg
testIfNotNilIfNil0ArgAsVar
testIfNotNilIfNil1Arg
testIfNotNilIfNil1ArgAsVar
ImageSegmentTest
An ImageSegmentTest is xxxxxxxxx.
Instance Variables
analyzeSegment:
I return a collection of arrays. Each array represents an object in the segment. The first element is the name of its class and the second element is an array of the class of its instance variables.
createSegmentFrom:
fileName
loadSegmentFromFile
tearDown
testOutPointers
self debug: #testOutPointers
testSegmentContents
self debug: #testSegmentContents
testSymbols
self debug: #testSymbols
writeToFile:
IslandVMTweaksTestCase
Test case for some tweaks to the VM that Islands requires. These tests are largely for documentation; with an un-tweaked VM, the tests mostly still succeed, albeit with possible memory corruption.
aaaREADMEaboutPrimitives
most of the Islands tweaks allow primitive methods to be located in places other than class Object. Thus they are copied here for testing.
classOf:
instVarOf:at:
instVarOf:at:put:
nextInstanceAfter:
nextObjectAfter:
replaceIn:from:to:with:startingAt:
returnTwelve
this method is tweaked by testFlagInCompiledMethod
someInstanceOf:
someObject
Primitive. Answer the first object in the enumeration of all
objects.
testEmptyReplace
testFlagInCompiledMethod
this tests that the flag in compiled methods is treated correctly
testForgivingPrims
LocaleTest
LocaleTest buildSuite run
testEncodingName
self debug: #testEncodingName
testFontFullName
self debug: #testFontFullName
LocatedMethodTest
A LocatedMethodTest is xxxxxxxxx.
Instance Variables
setUp
testArgumentNames
testBinarySelectors
testEquality
MCAncestryTest
A MCAncestryTest is xxxxxxxxx.
Instance Variables
assertCommonAncestorOf:and:in:in:
assertCommonAncestorOf:and:is:in:
assertNamesOf:are:
assertPathTo:is:
testCommonAncestors
testDescendants
testLinearPath
testPathToMissingAncestor
tree
twoPersonTree
versionForName:in:
MCChangeNotificationTest
A MCChangeNotificationTest is xxxxxxxxx.
Instance Variables
workingCopy: <Object>
workingCopy
- xxxxx
foreignMethod
see testForeignMethodModified
modifiedEventFor:ofClass:
setUp
tearDown
testCoreMethodModified
testExtMethodModified
testForeignMethodModified
MCClassDefinitionTest
A MCClassDefinitionTest is xxxxxxxxx.
Instance Variables
previousChangeSet: <Object>
previousChangeSet
- xxxxx
classAComment
classACommentStamp
creationMessage
restoreClassAComment
tearDown
testCannotLoad
testComparison
testCreation
testDefinitionString
testEquals
testEqualsSensitivity
testKindOfSubclass
testLoadAndUnload
MCDependencySorterTest
A MCDependencySorterTest is xxxxxxxxx.
Instance Variables
assertItems:orderAs:withRequired:toLoad:
assertItems:orderAs:withRequired:toLoad:extraProvisions:
itemWithSpec:
testCascadingUnresolved
testCycle
testExtraProvisions
testMultiRequirementOrdering
testSimpleOrdering
testSimpleUnresolved
testUnusedAlternateProvider
MCDictionaryRepositoryTest
A MCDictionaryRepositoryTest is xxxxxxxxx.
Instance Variables
dict: <Object>
dict
- xxxxx
addVersion:
deleteNode:
dictionary
setUp
MCDirectoryRepositoryTest
A MCDirectoryRepositoryTest is xxxxxxxxx.
Instance Variables
directory: <Object>
directory
- xxxxx
addVersion:
directory
setUp
tearDown
MCFileInTest
A MCFileInTest is xxxxxxxxx.
Instance Variables
diff: <Object>
expected: <Object>
stream: <Object>
diff
- xxxxx
expected
- xxxxx
stream
- xxxxx
alterInitialState
assertFileOutFrom:canBeFiledInWith:
assertInitializersCalled
assertNoChange
assertSuccessfulLoadWith:
setUp
tearDown
testStWriter
MCInitializationTest
A MCInitializationTest is xxxxxxxxx.
Instance Variables
isAbstract
tearDown
testWorkingCopy
MCMczInstallerTest
A MCMczInstallerTest is xxxxxxxxx.
Instance Variables
diff: <Object>
expected: <Object>
diff
- xxxxx
expected
- xxxxx
assertDict:matchesInfo:
assertNoChange
assertVersionInfoPresent
deleteFile
fileName
fileStream
isAbstract
setUp
suite
tearDown
testInstallFromFile
testInstallFromStream
MCMergingTest
A MCMergingTest is xxxxxxxxx.
Instance Variables
conflictBlock: <Object>
conflicts: <Object>
conflictBlock
- xxxxx
conflicts
- xxxxx
assert:hasElements:
assertMerge:with:base:gives:conflicts:
handleConflict:
snapshotWithElements:
testAdditiveConflictlessMerge
testComplexConflictlessMerge
testIdenticalModification
testLocalModifyRemoteRemove
testLocalRemoveRemoteModify
testMultiPackageMerge
testMultiPackageMerge2
testMultiPackageMerge3
testMultipleConflicts
testSimultaneousModification
testSimultaneousRemove
testSubtractiveConflictlessMerge
MCMethodDefinitionTest
A MCMethodDefinitionTest is xxxxxxxxx.
Instance Variables
isModified: <Object>
navigation: <Object>
isModified
- xxxxx
navigation
- xxxxx
override
ownPackage
setUp
tearDown
testCannotLoad
testComparison
testLoadAndUnload
testPartiallyRevertOverrideMethod
testRevertOldMethod
testRevertOverrideMethod
MCMockDependency
A MCMockDependency is xxxxxxxxx.
Instance Variables
children: <Object>
hasResolution: <Object>
name: <Object>
children
- xxxxx
hasResolution
- xxxxx
name
- xxxxx
=
Answer whether the receiver and the argument represent the same
object. If = is redefined in any subclass, consider also redefining the
message hash.
children
fromTree:
hasResolution
hash
Answer a SmallInteger whose value is related to the receiver's identity.
May be overridden, and should be overridden in any classes that define =
initializeWithTree:
mockVersionInfo
name
Answer a name for the receiver. This is used generically in the title of certain inspectors, such as the referred-to inspector, and specificially by various subsystems. By default, we let the object just print itself out..
resolve
uuidForName:
MCOrganizationTest
A MCOrganizationTest is xxxxxxxxx.
Instance Variables
testReordering
testReorderingWithNoCategoriesInVersion
testReorderingWithRemovals
MCPackageTest
A MCPackageTest is xxxxxxxxx.
Instance Variables
tearDown
testUnload
MCPatchTest
A MCPatchTest is xxxxxxxxx.
Instance Variables
patch: <Object>
patch
- xxxxx
setUp
tearDown
testPatchContents
MCRepositoryTest
A MCRepositoryTest is xxxxxxxxx.
Instance Variables
ancestors: <Object>
repository: <Object>
ancestors
- xxxxx
repository
- xxxxx
addVersion:
addVersionWithSnapshot:name:
assertMissing:
assertVersionInfos:
isAbstract
saveSnapshot1
saveSnapshot2
saveSnapshot:named:
snapshot1
snapshot2
snapshotAt:
testAddAndLoad
testIncludesName
testLoadMissingNode
testStoreAndLoad
versionWithSnapshot:name:
MCScannerTest
A MCScannerTest is xxxxxxxxx.
Instance Variables
assertScans:
test1
test2
test3
test4
test5
test6
MCSerializationTest
A MCSerializationTest is xxxxxxxxx.
Instance Variables
assertClass:providesServices:
assertDependenciesMatchWith:
assertExtensionProvidedBy:
assertSnapshotsMatchWith:
assertVersionInfosMatchWith:
assertVersionsMatchWith:
mockDiffyVersion
testMcdSerialization
testMczSerialization
testStSerialization
MCSnapshotBrowserTest
A MCSnapshotBrowserTest is xxxxxxxxx.
Instance Variables
model: <Object>
morph: <Object>
model
- xxxxx
morph
- xxxxx
allCategories
allMethods
allProtocols
annotationTextMorph
assertAListIncludes:
assertAListMatches:
assertButtonExists:
assertButtonOn:
assertTextIs:
buttonMorphs
classABooleanMethods
classAClassProtocols
classAComment
classADefinitionString
classAProtocols
clickOnButton:
clickOnListItem:
definedClasses
denyAListHasSelection:
denyAListIncludesAnyOf:
denyButtonOn:
falsehoodMethodSource
findButtonWithLabel:
findListContaining:
listMorphs
morphsOfClass:
protocolsForClass:
selectMockClassA
setUp
testAnnotationPane
testButtonMutex
testCategorySelected
testClassSelected
testClassSideClassSelected
testComment
testFourColumns
testMethodIsCleared
testMethodSelected
testNoSelection
testProtocolIsCleared
testProtocolSelected
testTextPane
testThreeButtons
textMorph
MCSnapshotResource
A MCSnapshotResource is xxxxxxxxx.
Instance Variables
snapshot: <Object>
snapshot
- xxxxx
definitions
mockPackage
mockPackageName
setUp
Does nothing. Subclasses should override this
to initialize their resource
snapshot
takeSnapshot
MCSnapshotTest
A MCSnapshotTest is xxxxxxxxx.
Instance Variables
snapshot: <Object>
snapshot
- xxxxx
mockClassExtension
setUp
testCreation
testInstanceReuse
MCSortingTest
A MCSortingTest is xxxxxxxxx.
Instance Variables
classNamed:
methodNamed:class:meta:
sortDefinitions:
sortKeyFor:
testConsistentSorting
testSortOrder
MCStReaderTest
A MCStReaderTest is xxxxxxxxx.
Instance Variables
commentWithStyle
commentWithoutStyle
methodWithStyle
testCommentWithStyle
testCommentWithoutStyle
testMethodWithStyle
MCStWriterTest
A MCStWriterTest is xxxxxxxxx.
Instance Variables
stream: <Object>
writer: <Object>
stream
- xxxxx
writer
- xxxxx
assertAllChunksAreWellFormed
assertChunkIsWellFormed:
assertContentsOf:match:
assertMethodChunkIsWellFormed:
expectedClassDefinitionA
expectedClassDefinitionB
expectedClassMethodDefinition
expectedInitializerA
expectedMethodDefinition
expectedMethodDefinitionWithBangs
expectedOrganizationDefinition
methodWithBangs
setUp
testClassDefinitionA
testClassDefinitionB
testClassMethodDefinition
testInitializerDefinition
testMethodDefinition
testMethodDefinitionWithBangs
testOrganizationDefinition
MCTestCase
A MCTestCase is xxxxxxxxx.
Instance Variables
assertPackage:matches:
assertSnapshot:matches:
assertVersion:matches:
assertVersionInfo:matches:
change:toReturn:
commentForClass:
commentStampForClass:
compileClass:source:category:
isAbstract
mockCategoryName
mockClass:super:
mockClassA
mockClassB
mockDependencies
mockEmptyPackage
mockExtensionMethodCategory
mockInstanceA
mockMessageString
mockMethod:class:source:meta:
mockOverrideMethodCategory
mockPackage
mockSnapshot
mockToken:
mockVersion
mockVersionInfo
mockVersionInfo:
mockVersionInfoWithAncestor:
mockVersionName
mockVersionWithAncestor:
mockVersionWithDependencies
resources
restoreMocks
treeFrom:
MCVersionTest
A MCVersionTest is xxxxxxxxx.
Instance Variables
version: <Object>
visited: <Object>
version
- xxxxx
visited
- xxxxx
assert:orders:as:
assert:orders:as:unresolved:
dependencyFromTree:
setUp
testAllAvailablePostOrder
testAllMissing
testAllUnresolved
testDependencyOrder
testPostOrder
testWithAll
testWithAllMissing
testWithAllUnresolved
versionFromTree:
MCWorkingCopyTest
A MCWorkingCopyTest is xxxxxxxxx.
Instance Variables
repositoryGroup: <Object>
savedName: <Object>
versions: <Object>
versions2: <Object>
workingCopy: <Object>
repositoryGroup
- xxxxx
savedName
- xxxxx
versions
- xxxxx
versions2
- xxxxx
workingCopy
- xxxxx
assertNameWhenSavingTo:is:
assertNumberWhenSavingTo:is:
basicMerge:
clearPackageCache
description
load:
merge:
packageName
setUp
snapshot
tearDown
testAncestorMerge
testBackport
testDoubleRepeatedMerge
testMergeIntoImageWithNoChanges
testMergeIntoUnmodifiedImage
testNaming
testOptimizedLoad
testRedundantMerge
testRepeatedMerge
testRepositoryFallback
testSelectiveBackport
testSimpleMerge
testSnapshotAndLoad
MOPTestClassA
A MOPTestClassA is xxxxxxxxx.
Instance Variables
MOPTestClassB
A MOPTestClassB is xxxxxxxxx.
Instance Variables
MOPTestClassC
A MOPTestClassC is xxxxxxxxx.
Instance Variables
c
MOPTestClassD
A MOPTestClassD is xxxxxxxxx.
Instance Variables
MOPTraitTest
A MOPTraitTest is xxxxxxxxx.
Instance Variables
testClass
self debug: #testClass
testOrigin
self debug: #testClass
testSelector
self debug: #testSelector
MacFileDirectoryTest
A MacFileDirectoryTest is xxxxxxxxx.
Instance Variables
testMacFileDirectory
(self run: #testMacFileDirectory)
testMacIsAbsolute
(self selector: #testMacIsAbsolute) run
testMakeAbsolute
MethodHighlightingTests
A MethodHighlightingTests is xxxxxxxxx.
Instance Variables
creator: <Object>
duration: <Object>
timeStamp: <Object>
tracks: <Object>
creator
- xxxxx
duration
- xxxxx
timeStamp
- xxxxx
tracks
- xxxxx
asXML
This method is just used as an example for #testMethodHighlighting.
testMethodHighlighting
Test the highlighting of the asXML method. Test the highlighting of the return
statement which should include the whole block supplied to streamContents:.
MethodReferenceTest
A MethodReferenceTest is xxxxxxxxx.
Instance Variables
testEquals
testNotEquals
MirrorPrimitiveTests
A MirrorPrimitiveTests is xxxxxxxxx.
Instance Variables
expectedFailures
Expected failures until the VM supports the mirror primitives.
testMirrorAt
testMirrorClass
testMirrorEqEq
testMirrorInstVarAt
testMirrorPerform
testMirrorSize
MorphBugs
A MorphBugs is xxxxxxxxx.
Instance Variables
adhereToEdgeTest
self new adhereToEdgeTest
MorphicToolBuilderTests
Tests for the Morphic tool builder.
acceptWidgetText
accept text in widget
buttonWidgetEnabled
Answer whether the current widget (a button) is currently enabled
changeListWidget
Change the list widget's selection index
expectedFailures
Polymorph override of PluggableButtonMorphPlus>>update: makes color not being updated anymore in respond to sending #changed:. Was this an intentional change and this test is obsolete?
fireButtonWidget
Fire the widget, e.g., perform what is needed for the guy to trigger its action
fireMenuItemWidget
setUp
testWindowDynamicLabel
testWindowStaticLabel
widgetColor
Answer color from widget
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
MyResumableTestError
A MyResumableTestError is xxxxxxxxx.
Instance Variables
isResumable
Determine whether an exception is resumable.
MyTestError
A MyTestError is xxxxxxxxx.
Instance Variables
MyTestNotification
A MyTestNotification is xxxxxxxxx.
Instance Variables
NameOfSubclass
A NameOfSubclass is xxxxxxxxx.
Instance Variables
OSPlatformTest
An OSPlatformTest is xxxxxxxxx.
Instance Variables
testStartUpList
This test documents issue http://code.google.com/p/pharo/issues/detail?id=838
ObjectFinalizerTests
An ObjectFinalizerTests is xxxxxxxxx.
Instance Variables
ObjectsAsMethodsExample
An ObjectsAsMethodsExample is xxxxxxxxx.
Instance Variables
add:with:
answer42
run:with:in:
PCCByCompilation
This class is for switching external prim calls (primitiveExternalCall) on and off.
It is best suited for permanently switching plugin calls off while preserving the possibility to switch them on later. For plugin testing purposes you probably should use PCCByLiterals for temporarily switch on/off them instead.
It works on a source code basis by compilation:
Disabling works by putting an enabled prim call into a special comment followed by a recompile to transform it into a disabled one.
Enabling works by pulling the disabled prim call out of the special comment followed by a recompile to transform it into an enabled one.
As a consequence, enabling of prims only works with method sources containing the mentioned special comment, which normally has been generated by this tool for disabling the corresponding prim.
Please look into superclass PrimCallControllerAbstract for more info and the user interface.
Structure:
No instVars here: look into superclass.
Implementation note:
To harden it for sunit testing purposes some special accessing of the source code has been necessary: to avoid accessing different processes a sources file at once, followed by generating garbage, the process priority of actions leading to these accesses has been increased (sunit tests run in the background). A better solution would be to introduce a source file locking mechanism.
comment
disabled2EnabledPrimMethodString:
disabled2EnabledPrimString:
remove comment quotes and comment after first comment quote
disabledPrimStartString
disabledPrimStopChar
end of disabling comment
enabled2DisabledPrimMethodString:
enabled2DisabledPrimString:
enabledPrimStartString
enabledPrimStopChar
existsCallIn:
Here existsCompiledCallIn: (see also comment there) is sufficient to
query for enabled and failed, but not for disabled prim calls: so check
for disabled ones in sources, too.
existsDisabledCallIn:
extractCallModuleNames:
Returns prim call and module name as call->module Association.
extractCallNamesFromPrimString:
method works for both enabled and disabled prim strings
extractDisabledPrimStringFrom:
extractEnabledPrimStringFrom:
higherPriority
this priority seems to be necessary to avoid source file accessing errors
methodSourceContainsDisabledCall:
methodsWithCall
Expensive! For just querying the system unaffected by an instance of
this class use PCCByLiterals instead.
methodsWithDisabledCall
Answer a SortedCollection of all the methods that contain, in source
code, the substring indicating a disabled prim.
privateDisableCallIn:
Disables enabled or failed external prim call by recompiling method
with prim call commented out, will be called by superclass.
privateEnableCallIn:
Enables disabled external prim call by recompiling method with prim
call taken from disabling comment, will be called by superclass.
PCCByCompilationTest
PCCByCompilation tests.
Tests are in the superclass and inherited from there.
cDisabledExternalCallWithoutModule
{prim disabled by PCCByCompilation} <primitive: 'primGetModuleName'>
cDisabledRealExternalCall
{prim disabled by PCCByCompilation} <primitive: 'primGetModuleName' module:'LargeIntegers'>
cDisabledRealExternalCallNaked
{prim disabled by PCCByCompilation} <primitive: 'primGetModuleName' module:'LargeIntegers'>
cDisabledRealExternalCallOrPrimitiveFailed
{prim disabled by PCCByCompilation} <primitive: 'primGetModuleName' module:'LargeIntegers'>
cExternalCall1
cExternalCall2
cExternalCallWithoutModule
cFailedCall
cNoExternalCall
cRealExternalCall
cRealExternalCallNaked
cRealExternalCallOrPrimitiveFailed
cSingularExternalCall
classToBeTested
disabledCallSelectors
enabledCallSelectors
exampleModuleName
failModuleName
failedCallSelector
isAbstract
methodSelectorsToExampleModule
moduleNameNotWithSingularCallName
moduleNameWithSingularCallName
noExternalCallSelector
realExternalCallOrPrimitiveFailedSelector
singularCallName
occurrs exactly once as prim call name in >>cSingularExternalCall
singularCallSelector
PCCByLiterals
This class is for switching external prim calls (primitiveExternalCall) on and off.
It is best suited for plugin testing purposes with temporarily switching plugin calls off and on. For permanently switching plugin calls off while preserving the possibility to switch them on later, you should use PCCByCompilation instead.
It works by manipulating literals in the CompiledMethods:
Disabling works by changing the function index in the first literal of the CompiledMethod to a negative value (-2). This leads to a fast fail (value -2 is used for disabling to make a difference to the standard failed value of -1).
Enabling works by changing the function index in the first literal of the CompiledMethod to 0, followed by flushing the method cache. This enforces a fresh lookup.
Please look into superclass PrimCallControllerAbstract for more info and the user interface.
Structure:
No instVars here: look into superclass.
existsCallIn:
Here >>existsCompiledCallIn: (see also comment there) is sufficient to
query for all enabled, failed and disabled prim calls; for the by
compiler version it is not sufficient for disabled ones.
existsDisabledCallIn:
extractCallModuleNames:
Returns prim call and module name as call->module Association.
methodsWithCall
Returns all methods containing external prim calls.
methodsWithDisabledCall
Returns all methods containing disabled external prim calls.
privateDisableCallIn:
Disables enabled or failed external prim call by filling function ref
literal with special fail value, will be called by superclass.
privateEnableCallIn:
Enables disabled external prim call.
PCCByLiteralsTest
PCCByLiterals tests.
Tests are in the superclass and inherited from there.
classToBeTested
disabledCallSelectors
enabledCallSelectors
exampleModuleName
failModuleName
failedCallSelector
isAbstract
lDisabledExternalCallWithoutModule
lDisabledRealExternalCall
lDisabledRealExternalCallNaked
lDisabledRealExternalCallOrPrimitiveFailed
primitiveExternalCall
lExternalCall1
lExternalCall2
lExternalCallWithoutModule
primitiveExternalCall
lFailedCall
lNoExternalCall
lRealExternalCall
lRealExternalCallNaked
lRealExternalCallOrPrimitiveFailed
lSingularExternalCall
methodSelectorsToExampleModule
moduleNameNotWithSingularCallName
moduleNameWithSingularCallName
noExternalCallSelector
realExternalCallOrPrimitiveFailedSelector
setUp
singularCallName
occurrs exactly once as prim call name in >>lSingularExternalCall
singularCallSelector
PackageInfoTest
A PackageInfoTest is xxxxxxxxx.
Instance Variables
createdClasses: <Object>
createdClasses
- xxxxx
packageClass
setUp
tearDown
testKernelPackage
We make sure that the package Kernel exist
PrimCallControllerAbstract
A PrimCallController (PCC) serves for switching external prim calls (primitiveExternalCall) on and off: this is an abstract class, instantiate one of the subclasses PCCByLiterals and PCCByCompilation.
External prim calls are used to access internal and external modules (plugins) as shown by
SmalltalkImage current listLoadedModules.
SmalltalkImage current listBuiltinModules.
Note: not loaded external modules (since they have not been called so far) are not shown by these methods.
Highlight: dis/en-abling prims by a PCC works for both internal and external modules!
To help you choosing the right subclass, some properties are listed in the following table:
Functionality/Property | PCCByLiterals PCCByCompilation
------------------------------------------------------------------------------------------------------
testing plugins | suited not suited
permanent disabling of external prim calls | no yes
------------------------------------------------------------------------------------------------------
method changes visible in changeset | no yes
enabling survives snapshot/compilation | yes yes
disabling survives snapshot/compilation | no yes
speed disabling | fast medium
speed enabling | fast slow
CompiledMethod pointer valid after en/dis-abling | yes no

Important: Be careful with mixing the use of different PCCs! PCCByLiterals does not see prims disabled by PCCByCompilation and vice versa. For playing around you should start with PCCByLiterals; use PCCByCompilation only, if you know what you are doing!
In protocols 'ui controlling', 'ui logging' and 'ui querying' (please look into this class) are the most important user interface methods. Thereafter the methods in 'ui testing' could be of interest.
Useful expressions:
Controlling:
"Factorial example"
| pcc tDisabled tEnabled tEnabled2 |
pcc _ PCCByLiterals new logStream: Transcript. "logStream set here for more info"
pcc disableCallsIntoModule: 'LargeIntegers'.
tDisabled _ [1000 factorial] timeToRun.
pcc enableDisabled.
tEnabled _ [1000 factorial] timeToRun.
tEnabled2 _ [1000 factorial] timeToRun.
{tDisabled. tEnabled. tEnabled2}
Note: You shouldn't switch off module 'LargeIntegers' for a longer time, since this slows down your system.
Querying:
PCCByLiterals new methodsWithCall. "all calls"
PCCByLiterals new methodsWithCall: 'prim1'. "call in all modules or without module"
PCCByLiterals new methodsWithCallIntoModule: nil. "all calls without module"
PCCByLiterals new methodsWithCallIntoModule: 'LargeIntegers'. "all calls into module 'LargeIntegers'"
PCCByLiterals new
methodsWithCallIntoModule: 'LargeIntegers'
forClass: Integer. "all calls into module 'LargeIntegers' in class Integer"
PCCByLiterals new
methodsWithCallIntoModule: 'LargeIntegers'
forClasses: Integer withAllSubclasses. "all calls into module 'LargeIntegers' in class Integer withAllSubclasses"
| pcc | (pcc _ PCCByLiterals new) methodsWithCall
collect: [:mRef | {mRef. pcc extractCallModuleNames: mRef}].
Structure:
treatedMethods Dictionary of MethodReferences->#disabled/#enabled
-- contains changed methods and how they are changed last
logStream WriteStream -- shows info about changed methods ifNotNil
changeStatusOfFailedCalls Boolean -- if status of failed calls should be changed, default is false
blockSelectCallName:
blockSelectFailedCall
Precondition: mRef references compiledCall.
blockSelectModuleName:
changeCallCompiledMethod:enable:
Enables disabled or disables enabled external prim call by recompiling
method with prim call taken from comment.
changeCallMethod:class:enable:
Enables disabled or disables enabled external prim call by recompiling
method with prim call taken from comment.
changeStatusOfFailedCalls
En/dis-able not only dis/en-abled calls, but also failed ones. Using this
feature can hide serious problems.
changeStatusOfFailedCallsFlag
disableCallIn:
Disables enabled external prim call.
disableCallInCompiledMethod:
Disables external prim call.
disableCallInMethod:class:
Disables external prim call.
disableCallsIntoModule:
Disables enabled external prim calls in aModule.
disableCallsIntoModule:forClasses:
Disables enabled external prim calls in aModule for classes.
disableEnabled
Disables these external prim calls, which are formerly enabled by self.
enableCallIn:
Enables disabled external prim call.
enableCallInCompiledMethod:
Enables disabled external prim call.
enableCallInMethod:class:
Enables disabled external prim call.
enableCallsIntoModule:
Enables disabled external prim calls in aModule.
enableCallsIntoModule:forClasses:
Enables disabled external prim calls in aModule for classes.
enableDisabled
Enables these external prim calls, which are formerly disabled by self.
existsCallIn:
existsCompiledCallIn:
This just means that there is a compiled in external prim call: from the
by compiler subclass point of view disabled prim calls not visible by
this method are also prim calls.
existsDisabledCallIn:
existsEnabledCallIn:
existsFailedCallIn:
extractCallModuleNames:
Returns prim call and module name as call->module Association.
extractCallModuleNamesFromLiterals:
initialize
Subclasses should redefine this method to perform initializations on instance creation
log:
logStream
logStream:
If aStreamOrNil is notNil, there will be shown dis/en-abling prim call
info; nil means no logging.
methodsWithCall
Returns all methods containing external prim calls.
methodsWithCall:
methodsWithCall:enabled:
methodsWithCall:intoModule:
methodsWithCall:intoModule:enabled:
methodsWithCallEnabled:
methodsWithCallForClass:enabled:
methodsWithCallForClasses:enabled:
methodsWithCallIntoModule:
methodsWithCallIntoModule:enabled:
methodsWithCallIntoModule:forClass:
methodsWithCallIntoModule:forClasses:
methodsWithCallIntoModule:forClasses:enabled:
methodsWithCompiledCall
Returns all methods containing compiled in external prim calls.
If the by compilation subclass has disabled some, this method does *not*
return all methods containing prim calls (use >>methodsWithCall in this
case).
methodsWithDisabledCall
Returns all methods containing disabled external prim calls.
methodsWithDisabledCall:
methodsWithDisabledCall:intoModule:
methodsWithDisabledCallIntoModule:
methodsWithDisabledCallIntoModule:forClass:
methodsWithDisabledCallIntoModule:forClasses:
methodsWithEnabledCall
Returns all methods containing enabled external prim calls.
methodsWithEnabledCall:
methodsWithEnabledCall:intoModule:
methodsWithEnabledCallIntoModule:
methodsWithEnabledCallIntoModule:forClass:
methodsWithEnabledCallIntoModule:forClasses:
methodsWithFailedCall
Returns all methods containing failed external prim calls.
methodsWithFailedCallForClass:
methodsWithFailedCallForClasses:
methodsWithFailedCallIntoModule:
methodsWithFailedCallIntoModule:forClass:
methodsWithFailedCallIntoModule:forClasses:
preserveStatusOfFailedCalls
Do not en/dis-able failed calls (default).
privateDisableCallIn:
Disables enabled or failed external prim call.
privateEnableCallIn:
Enables disabled external prim call.
privateEnableViaLiteralIn:
Enables external prim call by filling function ref literal with zero for
'non called'.
switchStored
Disables enabled and enables disabled (see corresponding method
comments).
treatedMethods
PrimCallControllerAbstractTest
PrimCallController tests.
Tests are here, but this class isAbstract and won't be tested.
Tests are done in the subclasses, which inherit the tests here.
If you want to perform some more very slow tests, change doNotMakeSlowTestsFlag in >>setUp.
avoidSlowTest
compiledMethodsToExampleModule
disabledCallRefs
enabledCallRefs
failedCallRef
isAbstract
methodRefsToExampleModule
noExternalCallRef
numOfCallsExampleModule
setUp
singularCallRef
testChangeFailedCallFailing
testChangeFailedCallSucceedingDisable
testChangeFailedCallSucceedingEnable
testDisableCallsIntoModule
wrong module
testDisableCallsIntoModuleForClasses
wrong module
testEnableCallsIntoModule
testEnableCallsIntoModuleForClasses
wrong module
testEnableDisableCallIn
testEnableDisableCallInCompiledMethod
Note: >>compiledMethodsToExampleModule has to be called frequently,
since the CMs are changing with a successful compile!
testEnableDisableCallInMethodClass
testExistsCallIn
testExistsDisabledCallIn
testExistsEnabledCallIn
testExistsFailedCallIn
testMethodsWithCallAndMethodsWithDisabledCall
testMethodsWithCallIntoModule
testMethodsWithCallIntoModuleForClass
precondition: all enabled
testMethodsWithCallIntoModuleForClasses
precondition: all enabled
testMethodsWithCallX
testMethodsWithCallXIntoModule
testMethodsWithDisabledCallIntoModule
testMethodsWithDisabledCallIntoModuleForClass
precondition: all enabled
testMethodsWithDisabledCallIntoModuleForClasses
precondition: all enabled
testMethodsWithDisabledCallX
testMethodsWithDisabledCallXIntoModule
precondition: all enabled
testMethodsWithEnabledCall
testMethodsWithEnabledCallIntoModule
testMethodsWithEnabledCallIntoModuleForClass
precondition: all enabled
testMethodsWithEnabledCallIntoModuleForClasses
precondition: all enabled
testMethodsWithEnabledCallX
testMethodsWithEnabledCallXIntoModule
precondition: all enabled
testMethodsWithFailedCall
testMethodsWithFailedCallForClass
testMethodsWithFailedCallIntoModule
testMethodsWithFailedCallIntoModuleForClass
testSwitchPrimCallOffOn
testSwitchStored
all enabled, precondition
testTryCaches
all enabled, precondition
wrongCallRef
wrongClassRef
ProcessTerminateBug
A ProcessTerminateBug is xxxxxxxxx.
Instance Variables
testSchedulerTermination
testUnwindFromActiveProcess
testUnwindFromForeignProcess
PureBehaviorTest
A PureBehaviorTest is xxxxxxxxx.
Instance Variables
testChangeSuperclass
self run: #testChangeSuperclass
testClassesWithTraits
self debug: #testClassesWithTraits
testIsAliasSelector
testIsLocalAliasSelector
testLocalSelectors
self run: #testLocalSelectors
testMethodCategoryReorganization
self run: #testMethodCategory
testMethodClass
Test sharing of compiled methods between traits and their users. Methods are installed in exactly one behavior, however, the source pointers of methods are shared (unless sources or changes have been condensed). Verify that methodClass properties are set correctly.
testOwnMethodsTakePrecedenceOverTraitsMethods
First create a trait with no subtraits and then
add subtrait t1 which implements m11 as well.
testPropagationOfChangesInTraits
testPropagationOfChangesInTraitsToAliasMethods
testPropagationOfChangesInTraitsToAliasMethodsWhenOriginalMethodIsExcluded
Assert that alias method is updated although
the original method is excluded from this user.
testPropagationWhenTraitCompositionModifications
Test that the propagation mechanism works when
setting new traitCompositions.
testRemovingMethods
When removing a local method, assure that the method
from the trait is installed instead and that the users are
updated.
testSuperSends
self debug: #testSuperSends
testTraitCompositionModifications
testTraitCompositionWithCycles
testTraitsAccessor
self debug: #testTraitsAccessor
testUpdateWhenLocalMethodRemoved
traitOrClassOfSelector
self run: #traitOrClassOfSelector
ReleaseTest
A ReleaseTest is xxxxxxxxx.
Instance Variables
expectedFailures
testObsoleteClasses
testUndeclared
testUnimplementedNonPrimitiveCalls
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.
RequiresOriginalTestCase
A RequiresOriginalTestCase is xxxxxxxxx.
Instance Variables
updateRequiredStatusFor:in:
RequiresSpeedTestCase
This class sets some performance requirements for the requirements algorithm. Subclasses set up and test different caching strategies.
Test methods are prefixed with "performance" to exclude them from normal test runs.
classesInCategories:
decideInterestingClasses
isAbstract
performanceTestFileInScenario
performanceTestFullRequires
performanceTestMethodChangeScenario
performanceTestMorphMethodChangeScenario
performanceTestParseNodeMethodChangeScenario
performanceTestSwitchToMorphClassCategoryScenario
When changing in one browser the selected category, we add some interesting classes, remove some others, and calculate some values. So this is a pretty full life cycle test.
prepareAllCaches
setUp
touchMorphStep
touchObjectHalt
touchParseNodeComment
workingCopyPredicate
RequiresTestCase
A RequiresTestCase is xxxxxxxxx.
Instance Variables
c10: <Object>
c11: <Object>
c12: <Object>
c13: <Object>
c9: <Object>
ca: <Object>
cb: <Object>
cc: <Object>
cd: <Object>
ce: <Object>
cf: <Object>
cg: <Object>
ch: <Object>
ci: <Object>
t10: <Object>
t11: <Object>
t13: <Object>
t7: <Object>
t8: <Object>
t9: <Object>
ta: <Object>
tb: <Object>
tc: <Object>
c10
- xxxxx
c11
- xxxxx
c12
- xxxxx
c13
- xxxxx
c9
- xxxxx
ca
- xxxxx
cb
- xxxxx
cc
- xxxxx
cd
- xxxxx
ce
- xxxxx
cf
- xxxxx
cg
- xxxxx
ch
- xxxxx
ci
- xxxxx
t10
- xxxxx
t11
- xxxxx
t13
- xxxxx
t7
- xxxxx
t8
- xxxxx
t9
- xxxxx
ta
- xxxxx
tb
- xxxxx
tc
- xxxxx
for:classesComposedWith:
isAbstract
loseInterestsFor:
loseInterestsInAll
noteInterestsFor:
noteInterestsForAll
requiredMethodsForTrait:
requiredMethodsOfTrait:inContextOf:
selfSentSelectorsInTrait:
selfSentSelectorsInTrait:fromSelectors:
setUp
setUpHierarchy
testAffectedClassesAndTraits
testExclusionWithAliasing
testExlcusionInTraits
testOneLevelRequires
testRequiresOfTraitInContextOfClass
a class providing nothing, leaves the requirements of the trait intact
testSimpleCompositionContexts
testSins
testStandAloneTrait
testTwoLevelRequires
testTwoLevelRequiresWithUnalignedSuperSends
testTwoLevelRequiresWithUnalignedSuperSendsStartLate
updateRequiredStatusFor:in:
RxParserTest
A RxParserTest is xxxxxxxxx.
Instance Variables
DoesNotWorktestBackQuotesEscape
self debug: #testBackQuotesEscape
test
self debug: #test
testCadrMatching
self debug: #testCadrMatching
testCharacterSet
self debug: #testCharacterSet
testCharacterSetBinaryNumber
self debug: #testCharacterSetBinaryNumber
testCharacterSetInversion
self debug: #testCharacterSetInversion
testCharacterSetRange
self debug: #testCharacterSetRange
testMatchesInwW
self debug: #testMatchesInwW
testOrOperator
self debug: #testOrOperator
testQuotingOperators
self debug: #testQuotingOperators
testSimpleMatchesRegex
self debug: #testSimpleMatchesRegex
testSimpleMatchesRegexWithStar
self debug: #testSimpleMatchesRegexWithStar
testSpecialCharacterInSetRange
self debug: #testSpecialCharacterInSetRange
testStarPlusQuestionMark
self debug: #testStarPlusQuestionMark
testStarPrecedence
self debug: #testStarPrecedence
testTranslatingMatchesUsing
self debug: #testTranslatingMatchesUsing
toDotestSpecialCharacterInSetRange
self debug: #testSpecialCharacterInSetRange
SUnitToolBuilderTests
A SUnitToolBuilderTests is xxxxxxxxx.
Instance Variables
acceptWidgetText
accept text in widget
buttonWidgetEnabled
Answer whether the current widget (a button) is currently enabled
changeListWidget
Change the list widget's selection index
fireButtonWidget
Fire the widget, e.g., perform what is needed for the guy to trigger its action
fireMenuItemWidget
setUp
testListCached
testListSelectionCached
testTextCached
widgetColor
Answer color from widget
ScannerTest
A ScannerTest is xxxxxxxxx.
Instance Variables
testLiteralSymbols
ScriptLoaderTest
A ScriptLoaderTest is xxxxxxxxx.
Instance Variables
testAllCurrentPackagesContainScriptLoader
self debug: #testAllCurrentPackagesContainScriptLoader
testAllCurrentVersionsContainsScriptLoader
self debug: #testAllCurrentVersionsContainsScriptLoader
testCurrentPackagesDoesNotContainScriptLoader
self debug: #testCurrentPackagesDoesNotContainScriptLoader
testMarkPackageBeforeLoad
self debug: #testMarkPackageBeforeLoad
SecureHashAlgorithmTest
This is the unit test for the class SecureHashAlgorithm. Unit tests are a good way to exercise the functionality of your system in a repeatable and automatic manner. They are therefore recommended if you plan to release anything. For more information, see:
- http://www.c2.com/cgi/wiki?UnitTest
- http://minnow.cc.gatech.edu/squeak/1547
- the sunit class category
testExample1
This is the first example from the specification document (FIPS PUB 180-1)
testExample2
This is the second example from the specification document (FIPS PUB 180-1)
testExample3
This is the third example from the specification document (FIPS PUB 180-1).
This example may take several minutes.
SendCachePerformanceTest
A SendCachePerformanceTest is xxxxxxxxx.
Instance Variables
performanceTestBaseline
SendsInfoTest
A SendsInfoTest is xxxxxxxxx.
Instance Variables
state: <Object>
state
- xxxxx
assert:sends:supersends:classSends:
assert:sendsIn:are:
assert:sendsIn:for:are:
branch
This method is never run. It is here just so that the sends in it can be
tallied by the SendInfo interpreter.
classBranch
clip
This method is never run. It is here just so that the sends in it can be
tallied by the SendInfo interpreter.
clipRect:
This method is never run. It is here just so that the sends in it can be
tallied by the SendInfo interpreter.
pseudoCopy
This method is never run. It is here just so that the sends in it can be
tallied by the SendInfo interpreter.
superBranch
tell
this method should not be defined in super
testBranch
testClassBranch
testClip
testClipRect
testPseudoCopy
testSuperBranch
SmalltalkImageTest
A SmalltalkImageTest is xxxxxxxxx.
Instance Variables
testImageName
Non regression test for http://bugs.squeak.org/view.php?id=7351
StandardSystemFontsTest
A StandardSystemFontsTest is xxxxxxxxx.
Instance Variables
assert:familyName:pointSize:
saveStandardSystemFontsDuring:
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
SystemChangeErrorHandling
This class tests the error handing of the notification mechanism to ensure that one client that receives a system change cannot lock up the complete system."
handleEventWithError:
handleEventWithHalt:
setUp
storeEvent1:
storeEvent2:
storeEvent3:
tearDown
testErrorOperation
testHaltOperation
testUnhandledEventOperation
SystemChangeErrorHandlingTest
A SystemChangeErrorHandlingTest is xxxxxxxxx.
Instance Variables
capturedEvents: <Object>
capturedEvents
- xxxxx
SystemChangeNotifierTest
A SystemChangeNotifierTest is a test class that tests whether the triggering of changes indeed results in the intended changes to be sent to registered object. The basic mechanism for each test is fairly simple:
- register the receiver as the one to get the change notifier.
- manually trigger a change (so the system is not polluted just to see whether we get the needed event).
- the method #event: is invoked and remembers the change event.
- the change event is checked to see whether it was the intended one.
Instance Variables
capturedEvent: Remembers the captured event
capturedEvent:
Remember the event being sent.
checkEventForClass:category:change:
checkEventForMethod:protocol:change:
checkEventForMethod:protocol:change:oldMethod:
event:
The notification message being sent to me when an event is captured. Remember it.
setUp
systemChangeNotifier
The notifier to use. Do not use the one in the system so that the fake events triggered in the tests perturb clients of the system's change notifier (e.g. the changes file then shows fake entries).
tearDown
testClassAddedEvent
testClassAddedEvent2
testClassCommentedEvent
testClassRecategorizedEvent
testClassRemovedEvent
testClassRenamedEvent
self run: #testClassRenamedEvent
testDoItEvent
testMethodAddedEvent1
testMethodAddedEvent2
testMethodAddedEvent3
testMethodRemovedEvent
SystemChangeTestRoot
The Root test class for the System Change Notification tests.
systemChangeNotifier
The notifier to use. Use the one for the system.
tearDown
unhook
SystemDictionaryTest
A SystemDictionaryTest is xxxxxxxxx.
Instance Variables
classToBeTested
shouldInheritSelectors
testClassComment
testOtherInstancesOfSystemDictionaryAsString
testOtherInstancesOfSystemDictionaryPrintString
testOtherInstancesOfSystemDictionarySelfEvaluating
testSmalltalkAsString
testSmalltalkPrintString
testSmalltalkSelfEvaluating
testUnCategorizedMethods
SystemNavigationTest
I am an sunit test for SystemNavigation.
setUp
tearDown
testAllMethodsInCategory
This is a non regression test for http://bugs.squeak.org/view.php?id=6986
allMethodsInCategory: should return a list of existing methods
testIsMessageSentInCategoryWithClassesActuallySendingTheMessage
testIsMessageSentInCategoryWithTheSelectorInsideAnArray
testIsMessageSentInClassActuallySendingTheMessage
testIsMessageSentInClassWithTheSelectorInsideAnArray
testIsMessageSentInMetaclassActuallySendingTheMessage
testIsMessageSentInMetaclassWithTheSelectorInsideAnArray
testIsMessageSentInPackageWithClassesActuallySendngTheMessage
testIsMessageSentInPackageWithTheSelectorInsideAnArray
testIsMessageSentInSystemAnswersMethodReference
testIsMessageSentInSystemWithClassesActuallySendngTheMessage
testIsMessageSentInSystemWithTheSelectorInsideAnArray
testIsUnsentMessage
testIsUnsentMessagesAnswerMethodReferences
testIsUnsentMessagesInCategory
testIsUnsentMessagesInClass
testIsUnsentMessagesInPackage
SystemTest
A SystemTest is xxxxxxxxx.
Instance Variables
testAllClassesAndTraits
self debug: #testAllClassesAndTraits
testAllImplementedMessagesWithout
self debug: #testAllImplementedMessagesWithout
testAllSentMessages
self debug: #testAllSentMessages
testClassFromPattern
self debug: #testClassFromPattern
SystemVersionTest
I am an sunit test for SystemVersion. Originally created to test SqueakMapSystemVersionFix change set.
I have no test fixtures.
testMajorMinorVersion
SystemVersionTest run: #testMajorMinorVersion
TestIndenting
A TestIndenting is xxxxxxxxx.
Instance Variables
para: <Object>
para
- xxxxx
setUp
testBreakAtSpaceLeavesSpaceOnOriginalLine
When an indented line is broken at a space, the character block must still lie in the line crossing the right margin.
testCR
Checks whether the beginning of a new line starts at the indented position
testCR2
Checks whether the drawing of indented text is really indented...
testCR3
Checks whether the beginning of a new line starts at the indented position
testNewLineAndTabProvidesDoubleIndent
Checks whether the beginning of a new line starts at the indented position
testNewLineLeaveSpacesOnOldLine
Checks whether the drawing of indented text is really indented...
testNewLineStartsIndented
Checks whether the beginning of a new line starts at the indented position
TestNewParagraphFix
This class tests the same things as its superclass, but for NewParagraph which is used in the Morphic environment.
setUp
testCharacterBlockAfterReplacingAll
testCharacterBlockAfterReplacingOther
testCharacterBlockAfterReplacingSpace
testCharacterBlockNormal
TestObjectsAsMethods
A TestObjectsAsMethods is xxxxxxxxx.
Instance Variables
setUp
tearDown
testAddNumbers
testAnswer42
testDNU
TestParagraphFix
This class tests whether locating characters past the end of a text is possible in all cases.
setUp
testCharacterBlockAfterReplacingAll
testCharacterBlockAfterReplacingOther
testCharacterBlockAfterReplacingSpace
testCharacterBlockNormal
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
TimeMeasuringTest
A TimeMeasuringTest is xxxxxxxxx.
Instance Variables
realTime: <Object>
shouldProfile: <Object>
realTime
- xxxxx
shouldProfile
- xxxxx
debug
initialize
Subclasses should redefine this method to perform initializations on instance creation
measure:
openDebuggerOnFailingTestMethod
SUnit has halted one step in front of the failing test method. Step over the 'self halt' and
send into 'self perform: testSelector' to see the failure from the beginning
reportPerformance
runCase
setToDebug
versionInfoForWorkingCopiesThat:
versionInformation
workingCopyPredicate
ToolBuilderTests
Some tests to make sure ToolBuilder does what it says.
acceptWidgetText
accept text in widget
assertItemFiresWith:
buttonWidgetEnabled
Answer whether the current widget (a button) is currently enabled
changeListWidget
Change the list widget's selection index
fireButton
fireButtonWidget
Fire the widget, e.g., perform what is needed for the guy to trigger its action
fireMenuAction
fireMenuItemWidget
getChildren
getChildrenOf:
getColor
getEnabled
getHelpOf:
getIconOf:
getLabel
getLabelOf:
getList
getListIndex
getListSelection
getMenu:
getRoots
getState
getText
getTextSelection
getTreeSelectionPath
hasChildren:
isAbstract
keyPress:
makeButton
makeButtonSpec
makeInputField
makeInputFieldSpec
makeItemList
makeItemListSpec
makeList
makeListSpec
makePanel
makePanelSpec
makeText
makeTextSpec
makeTree
makeTreeSpec
makeWindow
makeWindowSpec
noteWindowClosed
openWindow
returnFalse
returnTrue
setListIndex:
setListSelection:
setText:
setTreeSelection:
setUp
shutDown
testAddTargetSelectorArgumentList
testButtonFiresBlock
testButtonFiresMessage
testButtonFiresSymbol
testButtonInitiallyDisabled
testButtonInitiallyDisabledSelector
testButtonInitiallyEnabled
testButtonInitiallyEnabledSelector
testButtonWidgetID
testGetButtonColor
testGetButtonEnabled
testGetButtonLabel
testGetButtonSideEffectFree
testGetButtonState
testGetInputFieldColor
testGetInputFieldSelection
testGetInputFieldSideEffectFree
testGetInputFieldText
testGetItemListSideEffectFree
testGetList
testGetListIndex
testGetListSelection
testGetListSideEffectFree
testGetPanelChildren
testGetPanelSideEffectFree
testGetText
testGetTextColor
testGetTextSelection
testGetTextSideEffectFree
testGetWindowChildren
testGetWindowLabel
testGetWindowSideEffectFree
testInputWidgetID
testItemListWidgetID
testListWidgetID
testPanelWidgetID
testSetInputField
testSetListIndex
testSetListSelection
testSetText
testTextWidgetID
testTreeExpandPath
@@@@: REMOVE THIS - it's a hack (changed: #openPath)
testTreeExpandPathFirst
@@@@: REMOVE THIS - it's a hack (changed: #openPath)
testTreeGetSelectionPath
testTreeRoots
testTreeWidgetID
testWindowCloseAction
testWindowID
waitTick
widgetColor
Answer color from widget
Trait3
A Trait3 is xxxxxxxxx.
applyChangesOfNewTraitCompositionReplacing:
asClassDefinition
asClassSideNode
asNode
baseTrait
basicCategory
basicCategory:
binding
c
c3
classDefinitions
classTrait
classTrait:
copy
defaultEnvironment
environment
environment:
fileOutOn:moveSource:toFile:
fileOutOn:moveSource:toFile:initializing:
hasClassTrait
includesBehavior:
initialize
isBaseTrait
isClassTrait
isObsolete
isValidTraitName:
name
name:
name:traitComposition:methodDict:localSelectors:organization:
named:uses:category:
named:uses:category:env:
new
newTemplateIn:
obsolete
removeFromSystem
removeFromSystem:
rename:
requirements
setName:andRegisterInCategory:environment:
variablesAndOffsetsDo:
Trait2
A Trait2 is xxxxxxxxx.
applyChangesOfNewTraitCompositionReplacing:
asClassDefinition
asClassSideNode
asNode
baseTrait
basicCategory
basicCategory:
binding
c
c2
classDefinitions
classTrait
classTrait:
copy
defaultEnvironment
environment
environment:
fileOutOn:moveSource:toFile:
fileOutOn:moveSource:toFile:initializing:
hasClassTrait
includesBehavior:
initialize
isBaseTrait
isClassTrait
isObsolete
isValidTraitName:
name
name:
name:traitComposition:methodDict:localSelectors:organization:
named:uses:category:
named:uses:category:env:
new
newTemplateIn:
obsolete
removeFromSystem
removeFromSystem:
rename:
requirements
setName:andRegisterInCategory:environment:
variablesAndOffsetsDo:
Trait1
A Trait1 is xxxxxxxxx.
applyChangesOfNewTraitCompositionReplacing:
asClassDefinition
asClassSideNode
asNode
baseTrait
basicCategory
basicCategory:
binding
c
c1
classDefinitions
classTrait
classTrait:
copy
defaultEnvironment
environment
environment:
fileOutOn:moveSource:toFile:
fileOutOn:moveSource:toFile:initializing:
hasClassTrait
includesBehavior:
initialize
isBaseTrait
isClassTrait
isObsolete
isValidTraitName:
name
name:
name:traitComposition:methodDict:localSelectors:organization:
named:uses:category:
named:uses:category:env:
new
newTemplateIn:
obsolete
removeFromSystem
removeFromSystem:
rename:
requirements
setName:andRegisterInCategory:environment:
variablesAndOffsetsDo:
TraitCompositionTest
A TraitCompositionTest is xxxxxxxxx.
Instance Variables
testAliasCompositions
unary
testClassMethodsTakePrecedenceOverTraitsMethods
testCompositionFromArray
testEmptyTrait
testInvalidComposition
testPrinting
testProvidedMethodBindingsWithConflicts
testSum
testSumWithParenthesis
TraitFileOutTest
A TraitFileOutTest is xxxxxxxxx.
Instance Variables
ca: <Object>
cb: <Object>
ta: <Object>
tb: <Object>
tc: <Object>
td: <Object>
ca
- xxxxx
cb
- xxxxx
ta
- xxxxx
tb
- xxxxx
tc
- xxxxx
td
- xxxxx
categoryName
setUp
tearDown
testFileOutCategory
File out whole system category, delete all classes and traits and then
file them in again.
testFileOutTrait
fileOut trait T6, remove it from system and then file it in again
testRemovingMethods
When removing a local method, assure that the method
from the trait is installed instead and that the users are
updated.
TraitMethodDescriptionTest
A TraitMethodDescriptionTest is xxxxxxxxx.
Instance Variables
testArgumentNames
testCategories
testConflictMethodCreation
Generate conflicting methods between t1 and t2
and check the resulting method in Trait t5 (or c2).
Also test selectors like foo:x (without space) or selectors with CRs.
testConflictingCategories
testInitialize
TraitTest
A TraitTest is xxxxxxxxx.
Instance Variables
testAddAndRemoveMethodsFromSubtraits
testAddAndRemoveMethodsInClassOrTrait
testAllClassVarNames
testCompositionCopy
testErrorClassCreation
testExplicitRequirement
self run: #testExplicitRequirement
testLocalMethodWithSameCodeInTrait
Test whether there are no unintentional overridden traits methods
testMarkerMethods
self debug: #testMarkerMethods
testOrigin
testPrinting
testPrintingClassSide
self run: #testPrintingClassSide
testRemoveFromSystem
testRequirement
self debug: #testRequirement
testTraitsMethodClassSanity
self debug: #testTraitsMethodClassSanity
testTraitsUsersSanity
This documents bug http://code.google.com/p/pharo/issues/detail?id=443
testUsers
testUsersWithClassChanges
This documents bug http://code.google.com/p/pharo/issues/detail?id=443
TraitsResource
A TraitsResource is xxxxxxxxx.
Instance Variables
c1: <Object>
c2: <Object>
c3: <Object>
c4: <Object>
c5: <Object>
c6: <Object>
c7: <Object>
c8: <Object>
createdClassesAndTraits: <Object>
dirty: <Object>
t1: <Object>
t2: <Object>
t3: <Object>
t4: <Object>
t5: <Object>
t6: <Object>
c1
- xxxxx
c2
- xxxxx
c3
- xxxxx
c4
- xxxxx
c5
- xxxxx
c6
- xxxxx
c7
- xxxxx
c8
- xxxxx
createdClassesAndTraits
- xxxxx
dirty
- xxxxx
t1
- xxxxx
t2
- xxxxx
t3
- xxxxx
t4
- xxxxx
t5
- xxxxx
t6
- xxxxx
c1
c1:
c2
c2:
c3
c3:
c4
c4:
c5
c5:
c6
c6:
c7
c7:
c8
c8:
categoryName
codeChangedEvent:
createClassNamed:superclass:uses:
createTraitNamed:uses:
createdClassesAndTraits
isDirty
resetIfDirty
setDirty
setUp
Please note, that most tests rely on this setup of traits and
classes - and that especially the order of the definitions matters.
setUpTranslatingRequiresFixture
setUpTrivialRequiresFixture
setUpTwoLevelRequiresFixture
t1
t1:
t2
t2:
t3
t3:
t4
t4:
t5
t5:
t6
t6:
tearDown
Does nothing. Subclasses should override this
to tear down their resource
TraitsTestCase
A TraitsTestCase is xxxxxxxxx.
Instance Variables
createdClassesAndTraits: <Object>
createdClassesAndTraits
- xxxxx
assertPrints:like:
c1
c2
c3
c4
c5
c6
c7
c8
categoryName
createClassNamed:superclass:uses:
createTraitNamed:uses:
createdClassesAndTraits
resourceClassesAndTraits
resources
t1
t2
t3
t4
t5
t6
tearDown
ZipCrcTests
A ZipCrcTests is xxxxxxxxx.
Instance Variables
testInvalidGZipCrc
See that a wrong CRC raises an appropriate error
testInvalidZLibCrc
See that a wrong CRC raises an appropriate error
testInvalidZipCrc
See that a wrong CRC raises an appropriate error
testMissingGZipCrc
See that the lack of a CRC raises an appropriate error
testMissingZLibCrc
See that the lack of a CRC raises an appropriate error
testMissingZipCrc
See that the lack of a CRC does not raise an error
testValidGZipCrc
testValidZLibCrc
testValidZipCrc
See that a correct CRC does not raise an error and that we can read what we wrote.