diff -r 000000000000 -r 2e8eeb919028 configurationengine/source/plugins/symbian/ConeImagePlugin/imageplugin/tests/unittest_imageml_parseimpl.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configurationengine/source/plugins/symbian/ConeImagePlugin/imageplugin/tests/unittest_imageml_parseimpl.py Thu Mar 11 17:04:37 2010 +0200 @@ -0,0 +1,174 @@ +# +# 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__ +try: + from cElementTree import ElementTree +except ImportError: + try: + from elementtree import ElementTree + except ImportError: + try: + from xml.etree import cElementTree as ElementTree + except ImportError: + from xml.etree import ElementTree + +from imageplugin import imageml + + +imageml_string = \ +''' + + + + + + + + + + + + + + +''' + +imageml_with_refs = \ +''' + + + + + + + + + + + +''' +input_dir= \ +''' + + + + + + + + +''' +input_files = \ +''' + + + + + +''' + +class TestImagemlParseimpl(unittest.TestCase): + + def test_parse_output(self): + etree = ElementTree.fromstring(imageml_string) + reader = imageml.ImageImplReader() + outgens = reader.parse_outputs(etree) + self.assertEquals(outgens[0].outputpath,'startup.mbm') + + def test_parse_input_include(self): + etree = ElementTree.fromstring(input_dir) + input = etree.find("{%s}input" % 'http://www.s60.com/xml/imageml/1') + reader = imageml.ImageImplReader() + include = reader.parse_input_include(input) + self.assertEquals(include,{'pattern': ['bmb$']}) + + def test_parse_input_exclude(self): + etree = ElementTree.fromstring(input_dir) + input = etree.find("{%s}input" % 'http://www.s60.com/xml/imageml/1') + reader = imageml.ImageImplReader() + include = reader.parse_input_exclude(input) + self.assertEquals(include,{'pattern': ['.svn']}) + + def test_parse_inputs_with_dir(self): + etree = ElementTree.fromstring(input_dir) + reader = imageml.ImageImplReader() + inputs = reader.parse_inputs(etree) + self.assertEquals(inputs[0].path,'UI/Start-up Animation') + self.assertEquals(inputs[0].type,'dir') + self.assertEquals(inputs[0].include, ['bmb$']) + self.assertEquals(inputs[0].exclude, ['.svn']) + self.assertEquals(inputs[0].depth,'8') + self.assertEquals(inputs[0].test,'foo') + self.assertEquals(inputs[1].path,'UI/Start-up Animation/masks') + self.assertEquals(inputs[1].depth,'2') + + def test_parse_inputs_with_files(self): + etree = ElementTree.fromstring(input_files) + reader = imageml.ImageImplReader() + inputs = reader.parse_inputs(etree) + self.assertEquals(inputs[0].path,'UI/graphics/icon1.bmb') + self.assertEquals(inputs[0].depth,'8') + self.assertEquals(inputs[1].path,'UI/graphics/icon2.bmb') + self.assertEquals(inputs[1].depth,'8') + self.assertEquals(inputs[2].path,'UI/graphics/icon3.bmb') + self.assertEquals(inputs[2].depth,'8') + self.assertEquals(inputs[3].path,'UI/graphics/icon4.bmb') + self.assertEquals(inputs[3].depth,'8') + + def test_parse_outputs(self): + etree = ElementTree.fromstring(imageml_string) + reader = imageml.ImageImplReader() + outputs = reader.parse_outputs(etree) + self.assertEquals(outputs[0].outputpath,'startup.mbm') + self.assertEquals(outputs[0].inputs[0].path,'UI/Start-up Animation') + self.assertEquals(outputs[0].inputs[0].type,'dir') + self.assertEquals(outputs[0].inputs[0].include,['bmb$']) + self.assertEquals(outputs[0].inputs[0].exclude,['.svn']) + self.assertEquals(outputs[1].outputpath,'shutdown.mbm') + self.assertEquals(outputs[1].inputs[0].type,'file') + self.assertEquals(outputs[1].inputs[0].path,'UI/graphics/icon1.bmb') + self.assertEquals(outputs[1].inputs[1].type,'file') + self.assertEquals(outputs[1].inputs[1].path,'UI/graphics/icon2.bmb') + self.assertEquals(outputs[1].inputs[2].type,'file') + self.assertEquals(outputs[1].inputs[2].path,'UI/graphics/icon3.bmb') + self.assertEquals(outputs[1].inputs[3].type,'file') + self.assertEquals(outputs[1].inputs[3].path,'UI/graphics/icon4.bmb') + + def test_parse_from_string(self): + reader = imageml.ImageImplReader() + reader.fromstring(imageml_string) + self.assertEquals(reader.desc,'') + self.assertEquals(reader.outputgenerators[0].outputpath,'startup.mbm') + self.assertEquals(reader.outputgenerators[0].inputs[0].path,'UI/Start-up Animation') + self.assertEquals(reader.outputgenerators[0].inputs[0].type,'dir') + self.assertEquals(reader.outputgenerators[0].inputs[0].include,['bmb$']) + self.assertEquals(reader.outputgenerators[0].inputs[0].exclude,['.svn']) + + def test_parse_from_string_with_refs(self): + reader = imageml.ImageImplReader() + reader.fromstring(imageml_with_refs) + self.assertEquals(reader.outputgenerators[0]._outputpath,'${features.outputref}') + self.assertEquals(reader.outputgenerators[0].inputs[0]._path,'${features.inputref}') + self.assertEquals(reader.outputgenerators[0].inputs[0].type,'dir') + self.assertEquals(reader.outputgenerators[0].inputs[0].include,['${features.inputfilter}']) + + +if __name__ == '__main__': + unittest.main()