Issue #109: Added tests for registry key creation / deletion
See https://swing.fit.cvut.cz/projects/stx-jv/ticket/109
--- a/RegressionTests__Win32OperatingSystemTest.st Thu Dec 08 10:29:39 2016 +0000
+++ b/RegressionTests__Win32OperatingSystemTest.st Wed Dec 28 22:46:11 2016 +0000
@@ -12,7 +12,11 @@
!Win32OperatingSystemTest methodsFor:'release'!
-tearDown
+setUp
+ self skipIf: OperatingSystem isMSWINDOWSlike not description: 'Windows specific tests'.
+ super setUp
+
+ "Created: / 28-12-2016 / 22:12:14 / jv"
! !
!Win32OperatingSystemTest methodsFor:'tests'!
@@ -20,8 +24,6 @@
testMutex
|handle alreadyExists lastErrorCode handleAndLastErrorCode|
- self skipIf:[OperatingSystem isMSWINDOWSlike not] description:'test skipped (OS is not WINDOWS)'.
-
handleAndLastErrorCode := Win32OperatingSystem createMutexNamed: '8906f5e0-54ed-11dd-9da4-001558137da0'.
handle := handleAndLastErrorCode first.
handle isNil ifTrue:[^ self].
@@ -29,8 +31,8 @@
self assert: lastErrorCode == 0.
alreadyExists := (lastErrorCode == 5 "ERROR_ACCESS_DENIED" or:[ lastErrorCode == 183 "ERROR_ALREADY_EXISTS"]).
alreadyExists ifTrue:[
- Transcript showCR: 'Mutex already exists!!'.
- ^ self.
+ Transcript showCR: 'Mutex already exists!!'.
+ ^ self.
].
Transcript showCR: 'Mutex created!!'.
Win32OperatingSystem waitForSingleObject: handle.
@@ -42,20 +44,20 @@
"
self new testMutex
"
+
+ "Modified: / 28-12-2016 / 22:13:37 / jv"
!
testRegistry
|k hasContentType|
- self skipIf:[OperatingSystem isMSWINDOWSlike not] description:'test skipped (OS is not WINDOWS)'.
-
k := OperatingSystem registryEntry key:'HKEY_CLASSES_ROOT\MIME\Database\'.
self assert:(k notNil).
hasContentType := false.
k subKeyNamesAndClassesDo:[:nm :clsNm |
- "/ Transcript showCR:nm.
- nm = 'Content Type' ifTrue:[hasContentType := true].
+ "/ Transcript showCR:nm.
+ nm = 'Content Type' ifTrue:[hasContentType := true].
].
self assert:hasContentType.
@@ -64,11 +66,39 @@
"
self new testRegistry
"
+
+ "Modified: / 28-12-2016 / 22:13:43 / jv"
+!
+
+testRegistry02a
+ | root key |
+
+ root :=OperatingSystem registryEntry key:'HKEY_CURRENT_USER'.
+ root deleteSubKeyNamed: testSelector.
+
+ self assert:(root subKeyNamed: testSelector) isNil.
+ self deny: (root deleteSubKeyNamed: testSelector).
+
+ key := root createSubKeyNamed:testSelector.
+ self assert: key notNil.
+ self assert:(root subKeyNamed: testSelector) notNil.
+
+ self assert: (root deleteSubKeyNamed:testSelector).
+ self assert:(root subKeyNamed: testSelector) isNil.
+ self deny: (root deleteSubKeyNamed: testSelector).
+
+ "Created: / 28-12-2016 / 23:14:15 / jv"
+ "Modified: / 05-01-2017 / 21:45:20 / jv"
! !
!Win32OperatingSystemTest class methodsFor:'documentation'!
version
^ '$Header$'
+!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
! !
--- a/stx_goodies_regression.st Thu Dec 08 10:29:39 2016 +0000
+++ b/stx_goodies_regression.st Wed Dec 28 22:46:11 2016 +0000
@@ -75,6 +75,7 @@
'JITTest'
'BehaviorLookupObjectTests'
'SelectorNamespacesTests'
+ 'Win32OperatingSystemTest'
)
"Modified: / 18-11-2014 / 11:54:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"