Tools__MethodCategoryList.st
changeset 18003 a45192b41677
parent 17617 b0e15ebc84f2
child 18091 873b78764c7c
equal deleted inserted replaced
18002:de66f7d50fe7 18003:a45192b41677
       
     1 "{ Encoding: utf8 }"
       
     2 
     1 "
     3 "
     2  COPYRIGHT (c) 2000 by eXept Software AG
     4  COPYRIGHT (c) 2000 by eXept Software AG
     3               All Rights Reserved
     5               All Rights Reserved
     4 
     6 
     5  This software is furnished under a license and may be used
     7  This software is furnished under a license and may be used
  1263      generator nm variablesToHighlight classVarsToHighLight
  1265      generator nm variablesToHighlight classVarsToHighLight
  1264      itemsWithVarRefs itemsWithVarMods itemsWithExtensions itemsWithSuppressedExtensions
  1266      itemsWithVarRefs itemsWithVarMods itemsWithExtensions itemsWithSuppressedExtensions
  1265      itemsInChangeSet itemsInRemoteChangeSet
  1267      itemsInChangeSet itemsInRemoteChangeSet
  1266      itemsWithInstrumentedMethods itemsWithCalledMethods itemsWithUncalledMethods
  1268      itemsWithInstrumentedMethods itemsWithCalledMethods itemsWithUncalledMethods
  1267      itemsWithPartiallyCoveredMethods itemsWithFullyCoveredMethods
  1269      itemsWithPartiallyCoveredMethods itemsWithFullyCoveredMethods
       
  1270      itemsWithInheritedTests 
  1268      packageFilterOnInput packageFilter showChanges nameListEntryForALL changeSet 
  1271      packageFilterOnInput packageFilter showChanges nameListEntryForALL changeSet 
  1269      emphasizedPlus emphasisForRef emphasisForMod
  1272      emphasizedPlus emphasisForRef emphasisForMod
  1270      numAll numObsolete numSuper numUncommented numDocumentation numLong numOverride
  1273      numAll numObsolete numSuper numUncommented numDocumentation numLong numOverride
  1271      numRedefine numRedefined numExtension numMissingRequired numSubclassResponsibility
  1274      numRedefine numRedefined numExtension numMissingRequired numSubclassResponsibility
  1272      numAnnotated numFullyCovered numPartiallyCovered numUncovered numNotInstrumented 
  1275      numAnnotated numFullyCovered numPartiallyCovered numUncovered numNotInstrumented 
  1273      numAllTestResults numTestsNotPassed 
  1276      numAllTestResults numTestsNotPassed 
  1274      showPseudoProtocols showCoverageInformation
  1277      showPseudoProtocols showCoverageInformation
  1275      addPseudoEntry addPseudoEntryWithColor countAll pseudoEntryColor userPreferences
  1278      addPseudoEntry addPseudoEntryWithColor countAll pseudoEntryColor userPreferences
  1276      startTime suppressPseudoProtocolsNow needsSpecialColoring|
  1279      startTime suppressPseudoProtocolsNow needsSpecialColoring
       
  1280      inheritedTestSelectors|
  1277 
  1281 
  1278     userPreferences := UserPreferences current.
  1282     userPreferences := UserPreferences current.
  1279     countAll := true.
  1283     countAll := true.
  1280     startTime := Timestamp now.
  1284     startTime := Timestamp now.
  1281     suppressPseudoProtocolsNow := false.
  1285     suppressPseudoProtocolsNow := false.
  1313     itemsWithInstrumentedMethods := Set new.
  1317     itemsWithInstrumentedMethods := Set new.
  1314     itemsWithCalledMethods := Set new. 
  1318     itemsWithCalledMethods := Set new. 
  1315     itemsWithUncalledMethods := Set new. 
  1319     itemsWithUncalledMethods := Set new. 
  1316     itemsWithPartiallyCoveredMethods := Set new.
  1320     itemsWithPartiallyCoveredMethods := Set new.
  1317     itemsWithFullyCoveredMethods := Set new.
  1321     itemsWithFullyCoveredMethods := Set new.
       
  1322 
       
  1323     itemsWithInheritedTests := Set new.
  1318 
  1324 
  1319     plainCategories := Set new.
  1325     plainCategories := Set new.
  1320     classesProcessed := IdentitySet new.
  1326     classesProcessed := IdentitySet new.
  1321     leafClassesProcessed := IdentitySet new.
  1327     leafClassesProcessed := IdentitySet new.
  1322     variablesToHighlight := variableFilter value.
  1328     variablesToHighlight := variableFilter value.
  1323     classVarsToHighLight := filterClassVars value.
  1329     classVarsToHighLight := filterClassVars value.
  1324     numObsolete := numSuper := numUncommented := numDocumentation := numLong := 0.
  1330     numObsolete := numSuper := numUncommented := numDocumentation := numLong := 0.
  1325     numRedefine := numRedefined := numOverride := numExtension := numMissingRequired := numSubclassResponsibility := 0.
  1331     numRedefine := numRedefined := numOverride := numExtension := numMissingRequired := numSubclassResponsibility := 0.
  1326     numNotInstrumented := numFullyCovered := numPartiallyCovered := numUncovered := 0.
  1332     numNotInstrumented := numFullyCovered := numPartiallyCovered := numUncovered := 0.
  1327     numAnnotated := numAllTestResults := numTestsNotPassed := 0.
  1333     numAnnotated := numAllTestResults := numTestsNotPassed := 0.
       
  1334     inheritedTestSelectors := Set new.
  1328     numAll := 0.
  1335     numAll := 0.
  1329 
  1336 
  1330     generator do:[:clsIn :catIn | 
  1337     generator do:[:clsIn :catIn | 
  1331         |emptyProtocols clsName doHighLight doHighLightRed includedCats|
  1338         |emptyProtocols clsName doHighLight doHighLightRed includedCats|
  1332 
  1339 
  1510                     (lastResultOrNil isNil or:[lastResultOrNil result ~~ TestResult statePass]) ifTrue:[
  1517                     (lastResultOrNil isNil or:[lastResultOrNil result ~~ TestResult statePass]) ifTrue:[
  1511                         numTestsNotPassed := numTestsNotPassed + 1
  1518                         numTestsNotPassed := numTestsNotPassed + 1
  1512                     ]    
  1519                     ]    
  1513                 ].    
  1520                 ].    
  1514             ].
  1521             ].
  1515             
       
  1516             testOutcomes notNil ifTrue:[ testOutcomes remove: mSelector ifAbsent:[] ].
  1522             testOutcomes notNil ifTrue:[ testOutcomes remove: mSelector ifAbsent:[] ].
  1517         ].
  1523         ].
  1518 
  1524 
  1519         (packageFilter isNil or:[ packageFilter includes:eachClass package ]) ifTrue:[
  1525         (packageFilter isNil or:[ packageFilter includes:eachClass package ]) ifTrue:[
  1520             (showPseudoProtocols and:[suppressPseudoProtocolsNow not]) ifTrue:[
  1526             (showPseudoProtocols and:[suppressPseudoProtocolsNow not]) ifTrue:[
  1521                 (showSyntheticMethods value ? true) ifTrue:[   
  1527                 (showSyntheticMethods value ? true) ifTrue:[   
  1522                     "/ see if there is a subclassResponsibility in a superclass
  1528                     "/ see if there is a subclassResponsibility in a superclass
  1523                     required := SmalltalkCodeGeneratorTool missingRequiredProtocolFor:eachClass.
  1529                     required := SmalltalkCodeGeneratorTool missingRequiredProtocolFor:eachClass.
  1524                     numMissingRequired := numMissingRequired + required size.
  1530                     numMissingRequired := numMissingRequired + required size.
  1525                 ].
  1531                 ].
       
  1532             ].
       
  1533         ].
       
  1534 
       
  1535         "/ care for inherited testcase methods (for which we want to see the outcome)
       
  1536         isTestCaseClass ifTrue:[
       
  1537             eachClass isMetaclass ifFalse:[
       
  1538                 eachClass allSuperclassesDo:[:superClass |
       
  1539                     superClass isTestCaseLike ifTrue:[
       
  1540                         superClass methodDictionary keysAndValuesDo:[:mSelector :mthd |
       
  1541                             (eachClass methodDictionary includesKey:mSelector) ifFalse:[
       
  1542                                 (superClass isTestSelector:mSelector) ifTrue:[
       
  1543                                     (inheritedTestSelectors includes:mSelector) ifFalse:[
       
  1544                                         inheritedTestSelectors add:mSelector.
       
  1545                                         categoryBag add:'* inherited tests *'. "/ mthd category.
       
  1546                                     ]    
       
  1547                                 ]    
       
  1548                             ]    
       
  1549                         ]    
       
  1550                     ]    
       
  1551                 ].    
  1526             ].
  1552             ].
  1527         ].
  1553         ].
  1528     ].
  1554     ].
  1529 
  1555 
  1530     pseudoEntryColor := self class pseudoEntryForegroundColor.
  1556     pseudoEntryColor := self class pseudoEntryForegroundColor.
  1681         addPseudoEntry value:self class nameListEntryForRequired value:numMissingRequired.
  1707         addPseudoEntry value:self class nameListEntryForRequired value:numMissingRequired.
  1682         addPseudoEntry value:self class nameListEntryForSuperSend value:numSuper.
  1708         addPseudoEntry value:self class nameListEntryForSuperSend value:numSuper.
  1683         addPseudoEntry value:self class nameListEntryForUncommented value:numUncommented.
  1709         addPseudoEntry value:self class nameListEntryForUncommented value:numUncommented.
  1684         addPseudoEntry value:self class nameListEntryForAllTests value:numAllTestResults.
  1710         addPseudoEntry value:self class nameListEntryForAllTests value:numAllTestResults.
  1685         addPseudoEntry value:self class nameListEntryForTestsNotPassed value:numTestsNotPassed.
  1711         addPseudoEntry value:self class nameListEntryForTestsNotPassed value:numTestsNotPassed.
  1686         
  1712         inheritedTestSelectors notEmpty ifTrue:[
       
  1713             addPseudoEntry value:self class nameListEntryForInheritedTests value:(inheritedTestSelectors size).
       
  1714         ].
       
  1715 
  1687         showCoverageInformation ifTrue:[                                                                              
  1716         showCoverageInformation ifTrue:[                                                                              
  1688             addPseudoEntry value:self class nameListEntryForNotInstrumented value:numNotInstrumented.
  1717             addPseudoEntry value:self class nameListEntryForNotInstrumented value:numNotInstrumented.
  1689             addPseudoEntryWithColor value:self class nameListEntryForUncovered value:numUncovered value:userPreferences colorForInstrumentedNeverCalledCode.
  1718             addPseudoEntryWithColor value:self class nameListEntryForUncovered value:numUncovered value:userPreferences colorForInstrumentedNeverCalledCode.
  1690             addPseudoEntryWithColor value:self class nameListEntryForPartiallyCovered value:numPartiallyCovered value:userPreferences colorForInstrumentedPartiallyCoveredCode.
  1719             addPseudoEntryWithColor value:self class nameListEntryForPartiallyCovered value:numPartiallyCovered value:userPreferences colorForInstrumentedPartiallyCoveredCode.
  1691             addPseudoEntryWithColor value:self class nameListEntryForFullyCovered value:numFullyCovered value:userPreferences colorForInstrumentedFullyCoveredCode.
  1720             addPseudoEntryWithColor value:self class nameListEntryForFullyCovered value:numFullyCovered value:userPreferences colorForInstrumentedFullyCoveredCode.