--- a/PackageManagerTestCases.st Sat Apr 26 18:24:59 2003 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,625 +0,0 @@
-"{ Package: 'stx:libbasic3' }"
-
-"{ NameSpace: Packages }"
-
-AbstractTestCases subclass:#PackageManagerTestCases
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- category:'Package-Managers'
-!
-
-!PackageManagerTestCases class methodsFor:'documentation'!
-
-documentation
-"
- documentation to be added.
-
- [author:]
- (james@miraculix)
-
- [instance variables:]
-
- [class variables:]
-
- [see also:]
-
-"
-!
-
-history
- "Created: / 30.1.2003 / 10:51:21 / james"
-! !
-
-!PackageManagerTestCases methodsFor:'initialize / release'!
-
-setUp
- "common setup - invoked before testing"
- | class |
- Class withoutUpdatingChangesDo:[
-"/ (class := Smalltalk at:#QWERTZ) ifNil:[
- self createClassNamed:#QWERTZ.
- self createMethodFor:QWERTZ source:'aDummyMethod 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethod2 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethod3 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethodToGo 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethodToGo2 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethodToGo3 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethodToGo4 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethodThatShouldStay 1 + 1.'.
- self createMethodFor:QWERTZ source:'looseMethodForTest_addMethod1 1 + 1.'.
- self createMethodFor:QWERTZ source:'looseMethodForTest_addMethod2 1 + 1.'.
-
-"/ ] ifNotNil:[
-"/ ].
-
-"/ (class := Smalltalk at:#QWERTY) ifNil:[
- self createClassNamed:#QWERTY.
- self createMethodFor:QWERTY source:'aDummyMethod 1 + 1.'.
- self createMethodFor:QWERTY source:'aDummyMethod2 1 + 1.'.
- self createMethodFor:QWERTY source:'aDummyMethod3 1 + 1.'.
-"/ ] ifNotNil:[
-"/ ].
- ].
- super setUp
-!
-
-tearDown
- "common cleanup - invoked after testing"
-
- super tearDown
-! !
-
-!PackageManagerTestCases methodsFor:'test - instance creation'!
-
-testBasicInstanceCreation
- "tests that a Package can be added to the package manager"
- "
- self basicNew testBasicInstanceCreation.
-"
-
- |aPackage
- "clear up"
- |
-
- self initializePackageManager.
- aPackage := Package named:'Basic new package'
- addToManager:self packageManager.
- [
- aPackage addClass:(self createClassNamed:#BobTheBuilder).
- self createMethodFor:BobTheBuilder source:'aDummyMethod 1 + 1.'.
- self assert:(aPackage name = 'Basic new package').
- self assert:(self packageManager includesPackage:aPackage)
- ]
- ensure:[
- self removeClassNamed:#BobTheBuilder.
- self packageManager unloadPackage:aPackage
- ]
-! !
-
-!PackageManagerTestCases methodsFor:'test-api'!
-
-test_includesPackage
- | aPackageThatPackageManagerIncludes aPackageThatPackageManagerDoesNotInclude |
- "clear up"
- self initializePackageManager.
-
- aPackageThatPackageManagerIncludes := self packageManager newPackageNamed:'Basic new package'.
-
- aPackageThatPackageManagerDoesNotInclude := Package named:'Basic new package' addToManager:nil.
-
- self assert:(self packageManager includesPackage:aPackageThatPackageManagerIncludes).
- self assert:(self packageManager includesPackage:aPackageThatPackageManagerDoesNotInclude).
-! !
-
-!PackageManagerTestCases methodsFor:'test-api-install'!
-
-test_installPackage
- |aPackage aFilename loadedPackage installedPackage|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'TestLoad.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := self packageManager newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
-
- self packageManager savePackage:aPackage as:aFilename.
- self packageManager unloadPackage:aPackage.
- self shouldnt:(self packageManager includesPackage:aPackage).
- "the package is never loaded into the mananger now load it"
- loadedPackage := self packageManager loadPackageFromFile:aFilename.
- "install the loaded package into the smalltalk image"
- installedPackage := self packageManager installPackage:loadedPackage."<--------- the method tested"
-
- "tests"
- self assert:(self packageManager includesPackage:installedPackage).
- self assert:(installedPackage isInstalled).
- self shouldnt:(installedPackage isDirty).
- self assertSmalltalkIncludesAllClassNames:installedPackage classNames
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-!
-
-test_installPackage1
- "attempt to install a package that the Package manager does not know about.
- This should create an error!!"
- |aPackage aFilename loadedPackage|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'TestLoad.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := Package named:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
- self createClassNamed:#QWERTZ.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
-
- "install the loaded package into the smalltalk image" "test"
- self should:[self packageManager installPackage:loadedPackage"<--------- the method tested"
- ] raise:Error.
-
-
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-! !
-
-!PackageManagerTestCases methodsFor:'test-api-load'!
-
-test_loadPackage
- |aPackage aFilename loadedPackage|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'Test_loadPackage.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := self packageManager newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
- self packageManager savePackage:aPackage as:aFilename.
- self packageManager unloadPackage:aPackage.
- "tests"
- self shouldnt:(self packageManager includesPackage:aPackage).
- self shouldnt:(aPackage isDirty).
- self shouldnt:(aPackage isInstalled).
- self shouldntSmalltalkIncludesAllClassNames:aPackage classNames.
-
- loadedPackage := self packageManager loadPackageFromFile:aFilename. "<--------- the method tested"
-
- "tests"
- self assert:(loadedPackage filename = aFilename).
- self assert:(self packageManager includesPackage:loadedPackage).
- self shouldnt:(loadedPackage isDirty).
- self shouldnt:(loadedPackage isInstalled).
- self shouldntSmalltalkIncludesAllClassNames:loadedPackage classNames
- ]
- ensure:[
- self clearUpFiles ifTrue:[
- aFilename remove.
- ].
- ]
-!
-
-test_loadPackage1
- "load a package with just loose methods"
-
- |aPackage aFilename loadedPackage|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'Test_loadPackage1'.
- self createTestCaseDirectory. "clear up"
- [
- aPackage := self packageManager
- newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- "build two dummy classes named 'QWERTZ' and QWERTY with some dummy methods"
-
- "add the class #QWERTZ and some loose methods from #QWERTY"
-
- aPackage addMethod:(QWERTZ methodDictionary at:#aDummyMethod).
- aPackage addMethod:(QWERTZ methodDictionary at:#aDummyMethod2).
- aPackage addMethod:(QWERTZ methodDictionary at:#aDummyMethod3).
- aPackage addMethod:(QWERTY methodDictionary at:#aDummyMethod).
- aPackage addMethod:(QWERTY methodDictionary at:#aDummyMethod2).
- aPackage addMethod:(QWERTY methodDictionary at:#aDummyMethod3).
- self packageManager savePackage:aPackage.
- self packageManager unloadPackage:aPackage.
- self shouldnt:(self packageManager includesPackage:aPackage). "uninstalls and unloads"
- "--------the method tested----------"
- loadedPackage := self packageManager loadPackageFromFile:aFilename.
-
- "tests"
- self assert:(loadedPackage filename = aFilename).
- self assert:(self packageManager includesPackage:loadedPackage).
- self assert:(loadedPackage definesSelector:#aDummyMethod forClass:QWERTZ).
- self assert:(loadedPackage definesSelector:#aDummyMethod2 forClass:QWERTZ).
- self assert:(loadedPackage definesSelector:#aDummyMethod3 forClass:QWERTZ).
- self shouldnt:(loadedPackage isDirty).
- self shouldnt:(loadedPackage isInstalled).
- self shouldntSmalltalkIncludesAllLooseMethods:loadedPackage looseMethods
- ]
- ensure:[
- self clearUpFiles ifTrue:[
- aFilename remove
- ]
- ]
-!
-
-test_loadPackage2
- |createdPackage aFilename loadedPackage wasCalled|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'Test_loadPackage2.pac'. "clear up"
- self createTestCaseDirectory.
- [
- createdPackage := self packageManager newPackageNamed:'Dummy test case package'.
- createdPackage packageHandler filename:aFilename.
-
- createdPackage addClass:QWERTZ.
- createdPackage addClass:QWERTY.
- createdPackage postInstallScriptString:'
- self isInstalled ifTrue:[
- self error:#thisWorked
- ] ifFalse:[
- self error:#thisFailed
- ].
- '.
-
- self packageManager savePackage:createdPackage as:aFilename.
-
- loadedPackage := self packageManager loadPackageFromFile:aFilename.
-
- Error handle:[:ex |
- wasCalled := true.
- self assert:(ex errorString = #thisWorked).
- ex resume.
- ] do:[
- loadedPackage := self packageManager installPackage:loadedPackage.
- ].
- self assert:(wasCalled).
-
- "tests"
- self assert:(loadedPackage filename = aFilename).
- self assert:(loadedPackage isInstalled).
- self assert:(self packageManager includesPackage:loadedPackage).
- self assertSmalltalkIncludesAllClassNames:loadedPackage classNames.
- self shouldnt:(loadedPackage isDirty).
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ.
- self clearUpFiles ifTrue:[
- aFilename remove.
- ].
- ]
-!
-
-test_loadPackage3
- |createdPackage aFilename loadedPackage wasCalled|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'Test_loadPackage3.pac'. "clear up"
- self createTestCaseDirectory.
- [
- createdPackage := self packageManager newPackageNamed:'Dummy test case package'.
- createdPackage packageHandler filename:aFilename.
- "remove the classes which are made during the setUp"
-
- self createClassNamed:#QWERTZ inheritsFrom:#Object.
- self createClassNamed:#QWERTY inheritsFrom:#QWERTZ.
-
- "build two dummy classes named 'QWERTZ' and QWERTY with some dummy methods"
- self createMethodFor:QWERTZ source:'aDummyMethod 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethod2 1 + 1.'.
- self createMethodFor:QWERTZ source:'aDummyMethod3 1 + 1.'.
- self createMethodFor:QWERTY source:'aDummyMethod 1 + 1.'.
- self createMethodFor:QWERTY source:'aDummyMethod2 1 + 1.'.
- self createMethodFor:QWERTY source:'aDummyMethod3 1 + 1.'.
- createdPackage addClass:QWERTY.
- createdPackage addClass:QWERTZ.
- createdPackage postInstallScriptString:'
- self isInstalled ifTrue:[
- self error:#thisWorked
- ] ifFalse:[
- self error:#thisFailed
- ].
- '.
- self packageManager savePackage:createdPackage.
-"/ self packageManager uninstallPackage:createdPackage.
- self packageManager unloadPackage:createdPackage.
-
- self assert:(Smalltalk at:#QWERTZ )isNil.
- self assert:(Smalltalk at:#QWERTY )isNil.
- loadedPackage := self packageManager loadPackageFromFile:aFilename.
-
- Error handle:[:ex |
- wasCalled := true.
- self assert:(ex errorString = #thisWorked).
- ex resume.
- ] do:[
- loadedPackage := self packageManager installPackage:loadedPackage. "<--------- where it will be invoked"
- ].
- self assert:(wasCalled).
-
- self assert:(Smalltalk at:#QWERTZ )notNil.
- self assert:(Smalltalk at:#QWERTY )notNil.
-
- "tests"
- self assert:(loadedPackage filename = aFilename).
- self assert:(loadedPackage isInstalled).
- self assert:(self packageManager includesPackage:loadedPackage).
- self assertSmalltalkIncludesAllClassNames:loadedPackage classNames.
- self shouldnt:(loadedPackage isDirty).
- ]
- ensure:[
- self clearUpFiles ifTrue:[
- aFilename remove.
- ].
- ]
-! !
-
-!PackageManagerTestCases methodsFor:'test-api-saving'!
-
-test_savePackage
- |aPackage filename|
- filename := self createTestCaseFilenameFor:'test_savePackage.pac'.
- [
- aPackage := self packageManager newPackageNamed:'PackageToSave'.
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
-
- self shouldnt:[self packageManager savePackage:aPackage as:filename] raise:Error.
-
- ] ensure:[
- ].
-!
-
-test_savePackage1
- "Test the error handling of savePackage"
- |aPackage filename|
- [
- aPackage := self packageManager newPackageNamed:'PackageToSave'.
- aPackage addClass:QWERTZ.
-
- "test the error handling of nil"
- self should: [ self packageManager savePackage:aPackage as:nil.
- ] raise: Error.
-
- "test the error handling of anEmptyString"
- filename := ''.
- self should: [ self packageManager savePackage:aPackage as:filename.
- ] raise: Error.
-
- "test the error handling of an none existsing directory"
- filename := 'bob/the/build/er' asFilename.
- self should: [ self packageManager savePackage:aPackage as:filename.
- ] raise: Error.
-
- "test the error handling of an existsing directory"
- filename := self createTestCaseFilenameFor:''.
- self should: [ self packageManager savePackage:aPackage as:filename.
- ] raise: Error.
- ] ensure:[
- self removeClassNamed:#ClassToAddToPackageToSave.
- ].
-!
-
-test_savePackage2
- "tests for the error produced when the package manager does not know about
- the package it is being asked to save!!"
- |aPackage filename|
- filename := self createTestCaseFilenameFor:'aPackageTestcaseFile'.
- [
- aPackage := Package named:'PackageToSave'. "<----- instance creation so that the manager does not know about it!!"
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
-
- self should:[self packageManager savePackage:aPackage] raise:Error.
- self should:[self packageManager savePackage:aPackage as:filename] raise:Error.
-
- ] ensure:[
- self removeClassNamed:#ClassToAddToPackageToSave.
- self removeClassNamed:#ClassToAddToPackageToSave2.
- ].
-!
-
-test_savePackage3
- "saves a package just with loose methods"
- |aPackage aFilename|
-
- self initializePackageManager.
- aFilename := self createTestCaseFilenameFor:'TestFileOut.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := self packageManager newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addMethod:(QWERTZ methodDictionary at:#aDummyMethod).
- aPackage addMethod:(QWERTZ methodDictionary at:#aDummyMethod2).
-
- self assert:(aPackage isDirty).
- self packageManager savePackage:aPackage.
-
- "tests"
- self shouldnt:(aPackage isDirty)
-
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-! !
-
-!PackageManagerTestCases methodsFor:'test-api-uninstall'!
-
-test_uninstallPackage
- "tests uninstalling a package that has been installed"
- |aPackage aFilename loadedPackage installedPackage|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'TestLoad.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := self packageManager newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
- self packageManager savePackage:aPackage as:aFilename.
- self packageManager unloadPackage:aPackage.
-
- "the package is never loaded into the mananger now load it"
- loadedPackage := self packageManager loadPackageFromFile:aFilename.
- "install the loaded package into the smalltalk image"
- installedPackage := self packageManager installPackage:loadedPackage.
- "uninstall the loaded package into the smalltalk image"
- self packageManager uninstallPackage:installedPackage. "<--------- the method tested"
-
- "tests"
- self assert:(self packageManager includesPackage:installedPackage).
- self shouldnt:(installedPackage isInstalled).
- self shouldnt:(installedPackage isDirty).
- self shouldntSmalltalkIncludesAllClassNames:installedPackage classNames
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-!
-
-test_uninstallPackage1
- "tests uninstalling a package that has not been installed just loaded"
- |aPackage aFilename loadedPackage|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'TestLoad.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := self packageManager newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
- self packageManager savePackage:aPackage as:aFilename.
- self packageManager unloadPackage:aPackage.
-
- "the package is never loaded into the mananger now load it"
- loadedPackage := self packageManager loadPackageFromFile:aFilename.
- "uninstall the loaded package from the smalltalk image"
-
- self should:[self packageManager uninstallPackage:loadedPackage]raise:Error. "<--------- the method tested"
-
- "tests"
- self assert:(self packageManager includesPackage:loadedPackage).
- self shouldnt:(loadedPackage isInstalled).
- self shouldnt:(loadedPackage isDirty).
- self shouldntSmalltalkIncludesAllClassNames:loadedPackage classNames
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-!
-
-test_uninstallPackage2
- "tests uninstalling a package that the package manager does not know about"
- |aPackage aFilename|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'TestLoad.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := Package named:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
-
- "uninstall the loaded package from the smalltalk image"
- self should:[self packageManager uninstallPackage:aPackage]raise:Error. "<--------- the method tested"
-
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-! !
-
-!PackageManagerTestCases methodsFor:'test-api-unload'!
-
-test_unloadPackage
- "tests unloading of a package that has only just in loaded NOT installed"
- |aPackage aFilename|
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'TestLoad.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := self packageManager newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
- self packageManager savePackage:aPackage as:aFilename.
- self packageManager unloadPackage:aPackage. "<--------- the method tested"
-
- "tests"
- self shouldnt:(self packageManager includesPackage:aPackage).
- self shouldnt:(aPackage isInstalled).
- self shouldntSmalltalkIncludesAllClassNames:aPackage classNames
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-!
-
-test_unloadPackage1
- "tests unloading a package that has been install. In effect this does two steps:
- 1) uninstall 2)unload"
- |aPackage aFilename |
-
- self initializePackageManager.
- aFilename := self testCaseDirectory filenameFor:'TestLoad.pac'. "clear up"
- self createTestCaseDirectory.
- [
- aPackage := self packageManager newPackageNamed:'Dummy test case package'.
- aPackage packageHandler filename:aFilename.
-
- aPackage addClass:QWERTZ.
- aPackage addClass:QWERTY.
- self packageManager savePackage:aPackage as:aFilename.
- "aPackage is already installed as it is newly created"
- self assert:(aPackage isInstalled).
- self packageManager unloadPackage:aPackage. "<--------- the method tested"
-
- "tests"
- self shouldnt:(self packageManager includesPackage:aPackage).
- self shouldnt:(aPackage isInstalled).
- self shouldntSmalltalkIncludesAllClassNames:aPackage classNames
- ]
- ensure:[
- self removeClassNamed:#QWERTY.
- self removeClassNamed:#QWERTZ
- ]
-! !
-
-!PackageManagerTestCases class methodsFor:'documentation'!
-
-version
- ^ '$Header: /cvs/stx/stx/libbasic3/Attic/PackageManagerTestCases.st,v 1.1 2003-04-09 11:35:47 james Exp $'
-! !
--- a/TestPackages.st Sat Apr 26 18:24:59 2003 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-"{ Package: 'stx:libbasic3' }"
-
-"{ NameSpace: Packages }"
-
-AbstractTestCases subclass:#TestPackages
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- category:'Package-Managers'
-!
-
-!TestPackages class methodsFor:'documentation'!
-
-documentation
-"
- documentation to be added.
-
- [author:]
- (james@miraculix)
-
- [instance variables:]
-
- [class variables:]
-
- [see also:]
-
-"
-!
-
-history
- "Created: / 20.2.2003 / 10:10:18 / james"
-! !
-
-!TestPackages methodsFor:'initialize / release'!
-
-setUp
- "common setup - invoked before testing"
-
- super setUp
-!
-
-tearDown
- "common cleanup - invoked after testing"
-
- super tearDown
-! !
-
-!TestPackages methodsFor:'tests'!
-
-test1
- "Just a demonstration testCase.
- Double click on the TestCase class or open a TestRunner to see me checking...
- - please add more methods like this..."
- |packagesInImage|
-
- self initializePackageManager.
-"/ packagesInImage := self packageManager class createNewPackagesForObjectsInImage.
- [
-"/ packagesInImage halt.
-
- ]
- ensure:[
- self initializePackageManager.
- ]
-
-
- "
- self run:#test1
- "
-! !
-
-!TestPackages class methodsFor:'documentation'!
-
-version
- ^ '$Header: /cvs/stx/stx/libbasic3/Attic/TestPackages.st,v 1.1 2003-04-09 11:37:27 james Exp $'
-! !