--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SVN__CommitTests.st Wed Sep 23 18:50:12 2009 +0200
@@ -0,0 +1,296 @@
+"{ Package: 'cvut:stx/goodies/libsvn' }"
+
+"{ NameSpace: SVN }"
+
+TestCase subclass:#CommitTests
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SVN-Tests'
+!
+
+!CommitTests class methodsFor:'documentation'!
+
+version_SVN
+ ^'$Id$'
+! !
+
+!CommitTests methodsFor:'initialization & release'!
+
+setUp
+
+ super setUp.
+ Class withoutUpdatingChangesDo:
+ [self source_stx_goodies_libsvn_CommitTests_st readStream fileIn.
+ self source_SVN__CommitTestsMockA_st readStream fileIn.
+ self source_SVN__CommitTestsMockB_st readStream fileIn]
+
+ "Created: / 19-08-2009 / 14:59:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!CommitTests methodsFor:'sources'!
+
+source_SVN__CommitTestsMockA_st
+
+ "
+ SVN::CommitTestsMockA fileOutAsMethodIn: SVN::CommitTests selector: #'source_SVN__CommitTestsMockA_st' category: 'sources'
+
+ SVN::CommitTests new source_SVN__CommitTestsMockA_st
+ "
+
+^'''From Smalltalk/X, Version:5.4.4 on 08-04-2009 at 09:23:01 PM'' !!
+
+"{ Package: ''stx:goodies/libsvn_CommitTests'' }"
+
+"{ NameSpace: SVN }"
+
+Object subclass:#CommitTestsMockA
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''SVN-Tests-Mocks''
+!!
+
+'
+
+ "Modified: / 19-08-2009 / 13:33:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+source_SVN__CommitTestsMockB_st
+
+ "
+ SVN::CommitTestsMockA fileOutAsMethodIn: SVN::CommitTests selector: #'source_SVN__CommitTestsMockA_st' category: 'sources'
+
+ SVN::CommitTests new source_SVN__CommitTestsMockA_st
+ "
+
+^'"{ Package: ''stx:goodies/libsvn_CommitTests'' }"
+
+"{ NameSpace: SVN }"
+
+Object subclass:#CommitTestsMockB
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''SVN-Tests-Mocks''
+!!
+
+'
+
+ "Created: / 09-04-2009 / 17:41:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 19-08-2009 / 13:33:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+source_stx_goodies_libsvn_CommitTests_st
+
+ "
+ stx_goodies_libsvnCommitTests fileOutAsMethodIn: SVN::CommitTests selector: #'source_stx_goodies_libsvnCommitTests_st' category: 'sources'
+
+ SVN::CommitTests new source_stx_goodies_libsvnCommitTests_st
+ "
+
+^'''From Smalltalk/X, Version:5.4.4 on 08-04-2009 at 09:23:54 PM'' !!
+
+"{ Package: ''stx:goodies/libsvn_CommitTests'' }"
+
+LibraryDefinition subclass:#stx_goodies_libsvn_CommitTests
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''* Projects & Packages *''
+!!
+
+!!stx_goodies_libsvn_CommitTests class methodsFor:''description''!!
+
+preRequisites
+ ^ #(
+ #''stx:libbasic'' "LibraryDefinition - superclass of stx_goodies_libsvnCommitTests "
+ )
+!! !!
+
+!!stx_goodies_libsvn_CommitTests class methodsFor:''description - contents''!!
+
+classNamesAndAttributes
+ ^ #(
+ "<className> or (<className> attributes...) in load order"
+ #''SVN::CommitTestsMockA''
+ #''SVN::CommitTestsMockB''
+ #''stx_goodies_libsvn_CommitTests''
+ )
+!!
+
+extensionMethodNames
+ ^ #(
+ )
+!! !!
+
+!!stx_goodies_libsvn_CommitTests class methodsFor:''description - project information''!!
+
+applicationIconFileName
+ "Return the name (without suffix) of an icon-file (the app''s icon); will be included in the rc-resource file"
+
+ ^ nil
+ "/ ^ self applicationName
+!!
+
+companyName
+ "Return a companyname which will appear in <lib>.rc"
+
+ ^ ''eXept Software AG''
+!!
+
+description
+ "Return a description string which will appear in vc.def / bc.def"
+
+ ^ ''Smalltalk/X Class library''
+!!
+
+legalCopyright
+ "Return a copyright string which will appear in <lib>.rc"
+
+ ^ ''Copyright Claus Gittinger 1988-2009\nCopyright eXept Software AG 1998-2009''
+!!
+
+productName
+ "Return a product name which will appear in <lib>.rc"
+
+ ^ ''Smalltalk/X''
+!! !!
+
+'
+
+ "Created: / 19-08-2009 / 13:34:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+sources
+
+ ^super sources ,
+ #(
+ (dir 'trunk')
+ (file 'trunk/SVN__CommitTestsMockA.st' source_SVN__CommitTestsMockA_st)
+ (file 'trunk/SVN__CommitTestsMockB.st' source_SVN__CommitTestsMockB_st)
+ (file 'trunk/stx_goodies_libsvn_CommitTests.st' source_stx_goodies_libsvn_CommitTests_st)
+
+ (dir 'branches')
+
+ (dir 'tags')
+ )
+
+ "Created: / 08-04-2009 / 21:25:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 19-08-2009 / 13:35:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!CommitTests methodsFor:'tests'!
+
+test_01_simple
+
+ "
+ Tests the simpliest commit
+ "
+
+ Class packageQuerySignal answer: self package do:
+ [SVN::CommitTestsMockA compile: 'r1 ^''Revision 1''' classified: 'methods - r1'].
+
+ wc commit:'CommitTests>>test_01 commit'.
+
+ self assert:
+ (wc branch cat: 'SVN__CommitTestsMockA.st')
+ = (String streamContents:[:s| SVN::CommitTestsMockA fileOutOn: s withTimeStamp: false]).
+
+ "Created: / 12-06-2009 / 21:46:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 19-08-2009 / 14:57:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+test_01_simple_ui
+
+ | w repositoryCode imageCode |
+
+ self assert:(Smalltalk at: #'SVN::CommitTestsMockA' ifAbsent:[nil]) notNil.
+
+ Class packageQuerySignal answer: self package do:
+ [SVN::CommitTestsMockA compile: 'r1 ^''Revision 1''' classified: 'methods - r1'].
+
+
+ w := CommitWizard new.
+ w task: wc commitTask.
+ [ w open ] fork.
+ Delay waitForSeconds: 4.
+ self assert: w goPrevEnabledHolder value == false.
+ self assert: w goNextEnabledHolder value == true.
+ w goNext.
+ self assert: w goPrevEnabledHolder value == true.
+ self assert: w goNextEnabledHolder value == false.
+ w pane message: 'CommitTests>>test_01 commit'.
+ w doAccept.
+
+ Delay waitForSeconds: 2.
+
+ repositoryCode := (wc branch cat: 'SVN__CommitTestsMockA.st').
+ imageCode := (String streamContents:[:s| SVN::CommitTestsMockA fileOutOn: s withTimeStamp: false]).
+
+ self assert: (repositoryCode = imageCode).
+ "
+ DiffTextView openOn: repositoryCode and: imageCode
+ "
+
+ "Created: / 12-06-2009 / 21:46:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 19-08-2009 / 15:10:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+test_02_selective_commit
+
+ "
+ Selective class commit test
+ "
+
+ self assert:(Smalltalk at: #'SVN::CommitTestsMockA' ifAbsent:[nil]) notNil.
+ self assert:(Smalltalk at: #'SVN::CommitTestsMockB' ifAbsent:[nil]) notNil.
+
+ Class packageQuerySignal answer: self package do:
+ [SVN::CommitTestsMockA compile: 'r1 ^''Revision 1''' classified: 'methods - r1'].
+
+ Class packageQuerySignal answer: self package do:
+ [SVN::CommitTestsMockB compile: 'r1 ^''Revision 1''' classified: 'methods - r1'].
+
+ wc commitTask
+ classes: (Array with: SVN::CommitTestsMockA);
+ message: 'CommitTests>>test_03 commit';
+ do.
+
+ self assert:
+ (wc branch cat: 'SVN__CommitTestsMockA.st')
+ = (String streamContents:[:s| SVN::CommitTestsMockA fileOutOn: s withTimeStamp: false]).
+
+ self assert:
+ (wc branch cat: 'SVN__CommitTestsMockB.st')
+ = self source_SVN__CommitTestsMockB_st.
+
+ "Created: / 12-06-2009 / 21:46:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 19-08-2009 / 14:57:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+test_03_class_remove
+
+ "
+ Tests class remove
+ "
+
+ self assert:(Smalltalk at: #'SVN::CommitTestsMockA' ifAbsent:[nil]) notNil.
+ self assert:(Smalltalk at: #'SVN::CommitTestsMockB' ifAbsent:[nil]) notNil.
+
+ Smalltalk removeClass: SVN::CommitTestsMockB.
+
+ wc commitTask
+ message: 'CommitTests>>test_03 commit';
+ do.
+ self assert: (wc branch list size = (2 + 4)"Make.spec, Make.proto, abbrev.stc, libInit.cc")
+
+ "Created: / 12-06-2009 / 21:52:09 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 19-08-2009 / 15:09:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!CommitTests class methodsFor:'documentation'!
+
+version
+ ^ '$Header$'
+! !