diff -r 000000000000 -r 2e8eeb919028 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)