Commit 5c4f53cb authored by Mark Hammond's avatar Mark Hammond

Was quite broken and incomplete. Now passes the test suite, but is still incomplete.

parent c8738eba
from winreg import hives, createKey, openKey, flags, deleteKey, regtypes from winreg import hives, createKey, openKey, flags, deleteKey, regtypes
import sys, traceback import sys, traceback
import time import time
import array
def testHives(): def testHives():
hivenames = ["HKEY_CLASSES_ROOT","HKEY_CURRENT_USER","HKEY_LOCAL_MACHINE", hivenames = ["HKEY_CLASSES_ROOT","HKEY_CURRENT_USER","HKEY_LOCAL_MACHINE",
...@@ -127,6 +128,13 @@ def testSetStringValue(): ...@@ -127,6 +128,13 @@ def testSetStringValue():
del hives["HKCU"].getValues()[ "Blah" ] del hives["HKCU"].getValues()[ "Blah" ]
assert not hives["HKCU"].getValues().has_key( "Blah" ) assert not hives["HKCU"].getValues().has_key( "Blah" )
# Ensure Unicode works as we expect
hives["HKCU"].setValue( u"Blah", u"abc" )
assert hives["HKCU"].getValueData( "Blah" )=="abc"
assert hives["HKCU"].getValues().has_key( u"Blah" )
del hives["HKCU"].getValues()[ u"Blah" ]
assert not hives["HKCU"].getValues().has_key( u"Blah" )
def testDeleteValue(): def testDeleteValue():
hives["HKCU"].setValue( "Blah", "abc" ) hives["HKCU"].setValue( "Blah", "abc" )
assert hives["HKCU"].getValues().has_key( "Blah" ) assert hives["HKCU"].getValues().has_key( "Blah" )
...@@ -175,17 +183,18 @@ def testSetIntValue(): ...@@ -175,17 +183,18 @@ def testSetIntValue():
key.getValues()["abcd"]=(5,regtypes["REG_DWORD"]) key.getValues()["abcd"]=(5,regtypes["REG_DWORD"])
assert key.getValues()[ "abcd" ][1]==5 assert key.getValues()[ "abcd" ][1]==5
key.deleteValue( "abcd" ) key.deleteValue( "abcd" )
key.deleteKey( "HKLM\\Software\\a\\b") deleteKey( "HKLM\\Software\\a\\b")
key.deleteKey( "HKLM\\Software\\a") deleteKey( "HKLM\\Software\\a")
def testSetBinaryValue(): def testSetBinaryValue():
key=createKey( "HKLM\\Software\\a\\b") key=createKey( "HKLM\\Software\\a\\b")
key.setValue( "abcd", array.array( 'c', "PPPPPPPPPPPPPPP") ) key.setValue( "abcd", array.array( 'c', "PPPPPPPPPPPPPPP") )
key.setValue( "abcde", array.array( 'c', "PPPPPPPPPPPPPPP"), key.setValue( "abcde", array.array( 'c', "PPPPPPPPPPPPPPP"),
regtypes["REG_BINARY"] ) regtypes["REG_BINARY"] )
assert key.getValues()["abcd"]==key.getValues()["abcde"] assert key.getValues()["abcd"][1]==key.getValues()["abcde"][1]
key.deleteKey( "HKLM\\Software\\a\\b") key = None # Remove our reference.
key.deleteKey( "HKLM\\Software\\a") deleteKey( "HKLM\\Software\\a\\b")
deleteKey( "HKLM\\Software\\a")
def testSetNone(): pass def testSetNone(): pass
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment