configurationengine/source/plugins/symbian/ConeHCRPlugin/hcrplugin/tests/unittest_hcr_header.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/configurationengine/source/plugins/symbian/ConeHCRPlugin/hcrplugin/tests/unittest_hcr_header.py Thu Mar 11 17:04:37 2010 +0200
@@ -0,0 +1,90 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import unittest
+import os, shutil
+import sys
+import __init__
+
+from testautomation.utils import hex_to_bindata
+
+from hcrplugin import hcr_header
+from hcrplugin.hcr_exceptions import InvalidHcrHeaderError
+
+
+ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
+
+
+class TestHCRHeader(unittest.TestCase):
+ def test_hcr_header_dumps_empty(self):
+ hcrh = hcr_header.HcrHeader()
+ self.assertEquals(len(hcrh.dumps()), 32)
+ expected_data = hex_to_bindata(
+ "48435266 0000 0000 00000000 00000000"+\
+ "00000000 000000000000000000000000")
+ self.assertEquals(hcrh.dumps(), expected_data)
+
+ def test_hcr_header_loads_empty(self):
+ hcrh = hcr_header.HcrHeader()
+ try:
+ hcrh.loads('')
+ self.fail('parsing of empty string succeeded?')
+ except InvalidHcrHeaderError:
+ pass
+
+ def test_hcr_header_loads_invalid_signature(self):
+ hcrh = hcr_header.HcrHeader()
+ try:
+ hcrh.loads(32*' ')
+ self.fail('parsing of empty string succeeded?')
+ except InvalidHcrHeaderError:
+ pass
+
+ def test_hcr_header_loads_zero(self):
+ hcrh = hcr_header.HcrHeader()
+ header_data = hex_to_bindata(
+ "48435266 0000 0000 00000000 00000000"+\
+ "00000000 000000000000000000000000")
+ hcrh.loads(header_data)
+ self.assertEquals(hcrh.version, 0)
+ self.assertEquals(hcrh.flags, 0)
+ self.assertEquals(hcrh.nrecords, 0)
+ self.assertEquals(hcrh.lsd_offset, 0)
+ self.assertEquals(hcrh.lsd_size, 0)
+
+ def test_hcr_header_dumps_some_data(self):
+ hcrh = hcr_header.HcrHeader()
+ hcrh.version = 5
+ hcrh.flags = 6
+ hcrh.nrecords = 10
+ hcrh.lsd_offset = 18
+ hcrh.lsd_size = 32
+ expected_data = hex_to_bindata(
+ "48435266 0500 0600 0A000000 12000000"+\
+ "20000000 000000000000000000000000")
+ self.assertEquals(hcrh.dumps(), expected_data)
+
+ def test_hcr_header_loads_some_data(self):
+ hcrh = hcr_header.HcrHeader()
+ header_data = hex_to_bindata(
+ "48435266 0500 0600 0A000000 12000000"+\
+ "20000000 000000000000000000000000")
+ hcrh.loads(header_data)
+ self.assertEquals(hcrh.version, 5)
+ self.assertEquals(hcrh.flags, 6)
+ self.assertEquals(hcrh.nrecords, 10)
+ self.assertEquals(hcrh.lsd_offset, 18)
+ self.assertEquals(hcrh.lsd_size, 32)