Marcel Taeumel uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-mt.328.mcz ==================== Summary ==================== Name: Tests-mt.328 Author: mt Time: 27 August 2015, 10:54:02.079 am UUID: 2b490fe8-250d-2e48-84c2-41d50b1ae410 Ancestors: Tests-eem.327 New tests for preferences. =============== Diff against Tests-eem.327 =============== Item was changed: SystemOrganization addCategory: #'Tests-Bugs'! SystemOrganization addCategory: #'Tests-Compiler'! SystemOrganization addCategory: #'Tests-Dependencies'! SystemOrganization addCategory: #'Tests-Digital Signatures'! SystemOrganization addCategory: #'Tests-Environments'! SystemOrganization addCategory: #'Tests-Exceptions'! SystemOrganization addCategory: #'Tests-FilePackage'! SystemOrganization addCategory: #'Tests-Files'! SystemOrganization addCategory: #'Tests-Finalization'! SystemOrganization addCategory: #'Tests-Hex'! SystemOrganization addCategory: #'Tests-Installer-Core'! SystemOrganization addCategory: #'Tests-Localization'! SystemOrganization addCategory: #'Tests-Monticello'! SystemOrganization addCategory: #'Tests-Monticello-Mocks'! SystemOrganization addCategory: #'Tests-Monticello-Utils'! SystemOrganization addCategory: #'Tests-Object Events'! SystemOrganization addCategory: #'Tests-ObjectsAsMethods'! SystemOrganization addCategory: #'Tests-PrimCallController'! SystemOrganization addCategory: #'Tests-Release'! SystemOrganization addCategory: #'Tests-System-Object Storage'! SystemOrganization addCategory: #'Tests-System-Support'! SystemOrganization addCategory: #'Tests-Utilities'! SystemOrganization addCategory: #'Tests-VM'! SystemOrganization addCategory: #'Tests-System-Digital Signatures'! + SystemOrganization addCategory: #'Tests-System-Preferences'! Item was added: + TestCase subclass: #PreferencesTest + instanceVariableNames: 'sut' + classVariableNames: '' + poolDictionaries: '' + category: 'Tests-System-Preferences'! Item was added: + ----- Method: PreferencesTest>>setUp (in category 'running') ----- + setUp + + super setUp. + sut := PreferencesTestPreferences.! Item was added: + ----- Method: PreferencesTest>>tearDown (in category 'running') ----- + tearDown + + sut allPreferences do: [:pref | sut removePreference: pref id]. + sut class organization removeEmptyCategories. + + super tearDown.! Item was added: + ----- Method: PreferencesTest>>test01Empty (in category 'tests') ----- + test01Empty + + self assert: sut dictionaryOfPreferences isEmpty.! Item was added: + ----- Method: PreferencesTest>>test02AddSetRemovePreference (in category 'tests') ----- + test02AddSetRemovePreference + + self assert: (sut valueOfPreference: #foo ifAbsent: []) isNil. + self assert: (sut respondsTo: #foo) not. "auto-generated accessor" + + sut addPreference: #foo category: #bar default: false. + self assert: (sut valueOfPreference: #foo ifAbsent: []) = false. + self assert: (sut perform: #foo) = false. + + sut setPreference: #foo toValue: true. + self assert: (sut valueOfPreference: #foo ifAbsent: []) = true. + self assert: (sut perform: #foo) = true. + + sut removePreference: #foo. + self assert: (sut valueOfPreference: #foo ifAbsent: []) isNil. + self assert: (sut respondsTo: #foo) not.! Item was added: + ----- Method: PreferencesTest>>test03Type (in category 'tests') ----- + test03Type + + sut addPreference: #foo default: true. + self assert: (sut preferenceAt: #foo) type == #Boolean. + + sut addPreference: #foo default: 123. + self assert: (sut preferenceAt: #foo) type == #Number. + + sut addPreference: #foo default: 'Hello, World'. + self assert: (sut preferenceAt: #foo) type == #String. + + sut addPreference: #foo default: Color red. + self assert: (sut preferenceAt: #foo) type == #Color. + + sut addPreference: #foo default: 1@5. + self assert: (sut preferenceAt: #foo) type == #Object. + ! Item was added: + ----- Method: PreferencesTest>>test04TypeNoUpdate (in category 'tests') ----- + test04TypeNoUpdate + + sut addPreference: #foo default: true. + sut setPreference: #foo toValue: 123. + + self assert: (sut preferenceAt: #foo) type == #Boolean.! Item was added: + ----- Method: PreferencesTest>>test05AutoAdd (in category 'tests') ----- + test05AutoAdd + + | pref | + self assert: (sut valueOfPreference: #foo ifAbsent: []) isNil. + pref := sut setPreference: #foo toValue: 123. + + self assert: pref preferenceValue = 123.! Item was added: + ----- Method: PreferencesTest>>test06Flags (in category 'tests') ----- + test06Flags + "Flags are boolean preferences." + + self assert: (sut valueOfFlag: #isHappy) == false. "Not known but false for default." + + sut setFlag: #isHappy toValue: true. + self assert: (sut valueOfFlag: #isHappy) == true. + self assert: (sut perform: #isHappy) == true. + + sut disable: #useIt. + self assert: (sut valueOfFlag: #useIt) == false. + self assert: (sut perform: #useIt) == false. + + sut enable: #useIt. + self assert: (sut valueOfFlag: #useIt) == true. + self assert: (sut perform: #useIt) == true. + + sut toggle: #useIt. + self assert: (sut valueOfFlag: #useIt) == false. ! Item was added: + ----- Method: PreferencesTest>>test07UnknownPreference (in category 'tests') ----- + test07UnknownPreference + + self assert: (sut valueOfPreference: #notKnown) isNil. + self assert: (sut valueOfPreference: #notKnown ifAbsent: [#default]) = #default.! Item was added: + ----- Method: PreferencesTest>>test08DNUFallback (in category 'tests') ----- + test08DNUFallback + + sut setPreference: #foo toValue: 123. + sut class removeSelectorSilently: #foo. + + self assert: (sut perform: #foo) = 123. + self assert: (sut perform: #unknownSelector) isNil.! Item was added: + ----- Method: PreferencesTest>>test09AddSetRemovePragmaPreference (in category 'tests') ----- + test09AddSetRemovePragmaPreference + + | id pref | + id := PreferencesTestExample name, '>>', #textPref. + pref := sut addPragmaPreference: (PreferencesTestExample class >> #textPref) pragmas first. + + self assert: id equals: pref id. + self assert: (sut preferenceAt: pref id) == pref. + + "Reset the preference explicitely." + PreferencesTestExample textPref: ''. + self assert: '' equals: PreferencesTestExample textPref. + + sut setPreference: pref id toValue: 'foo'. + self assert: 'foo' equals: (sut valueOfPreference: pref id). + self assert: 'foo' equals: PreferencesTestExample textPref. + + sut removePreference: pref id. + self assert: (sut preferenceAt: pref id ifAbsent: []) isNil.! Item was added: + ----- Method: PreferencesTest>>test10Unclassified (in category 'tests') ----- + test10Unclassified + + | pref | + pref := sut addPreference: #foobar default: 123. + self assert: sut unclassifiedCategory equals: pref categoryList first.! Item was added: + ----- Method: PreferencesTest>>test11CategoryList (in category 'tests') ----- + test11CategoryList + + sut addPreference: #foo category: #blubb default: 123. + self assert: #(blubb) equals: (sut categoryListOfPreference: #foo). ! Item was added: + ----- Method: PreferencesTest>>test12HardCodedPreference (in category 'tests') ----- + test12HardCodedPreference + + self assert: (sut respondsTo: #someStaticFoo) not. + sut compileAccessorForPreferenceNamed: #someStaticFoo value: 42. + self assert: 42 equals: (sut perform: #someStaticFoo). + self assert: (sut valueOfPreference: #someStaticFoo ifAbsent: []) isNil. + + "Hard-coded preferences have their value only in the source code. We must leave them in the same package." + self deny: ((sut class organization categoryOfElement: #someStaticFoo) beginsWith: '*'). + + sut class removeSelectorSilently: #someStaticFoo.! Item was added: + Object subclass: #PreferencesTestExample + instanceVariableNames: '' + classVariableNames: 'BooleanPref ColorPref NumericPref TextPref' + poolDictionaries: '' + category: 'Tests-System-Preferences'! + + !PreferencesTestExample commentStamp: 'ar 3/3/2009 22:40' prior: 0! + This class provides an example for how to use preference pragmas.! Item was added: + ----- Method: PreferencesTestExample class>>booleanPref (in category 'preferences') ----- + booleanPref + <preference: 'Boolean Preference Example' + category: 'Examples' + description: 'A simple example for a boolean preference (see PreferenceExample>>booleanPref)' + type: #Boolean> + ^BooleanPref! Item was added: + ----- Method: PreferencesTestExample class>>booleanPref: (in category 'preferences') ----- + booleanPref: aBool + BooleanPref := aBool. + self inform: 'The new preference value is: ', aBool asString.! Item was added: + ----- Method: PreferencesTestExample class>>colorPref (in category 'preferences') ----- + colorPref + <preference: 'Color Preference Example' + category: 'Examples' + description: 'A simple example for a color preference (see PreferenceExample>>colorPref)' + type: #Color> + ^ColorPref! Item was added: + ----- Method: PreferencesTestExample class>>colorPref: (in category 'preferences') ----- + colorPref: aColor + ColorPref := aColor. + self inform: 'The new preference value is: ', aColor asString.! Item was added: + ----- Method: PreferencesTestExample class>>initialize (in category 'preferences') ----- + initialize "PreferenceExample initialize" + "Initialize the default values and register preferences" + TextPref := 'Hello World'. + NumericPref := 1234. + BooleanPref := true. + ColorPref := Color green.! Item was added: + ----- Method: PreferencesTestExample class>>numericPref (in category 'preferences') ----- + numericPref + <preference: 'Numeric Preference Example' + category: 'Examples' + description: 'A simple example for a numeric preference (see PreferenceExample>>numericPref)' + type: #Number> + ^NumericPref! Item was added: + ----- Method: PreferencesTestExample class>>numericPref: (in category 'preferences') ----- + numericPref: aNumber + NumericPref := aNumber. + self inform: 'The new preference value is: ', aNumber asString.! Item was added: + ----- Method: PreferencesTestExample class>>textPref (in category 'preferences') ----- + textPref + <preference: 'Textual Preference Example' + category: 'Examples' + description: 'A simple example for a textual preference (see PreferenceExample>>textPref)' + type: #String> + ^TextPref! Item was added: + ----- Method: PreferencesTestExample class>>textPref: (in category 'preferences') ----- + textPref: aString + TextPref := aString.! Item was added: + Preferences subclass: #PreferencesTestPreferences + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: 'Tests-System-Preferences'! |
Free forum by Nabble | Edit this page |