imakerplugin/com.nokia.s60tools.imaker.tests/src/com/nokia/s60tools/imaker/internal/impmodel/tests/ImpResourceLoadTests.java
author haismail <hussein.ismail@nokia.com>
Wed, 28 Apr 2010 13:50:48 +0300
changeset 11 217e69fc5beb
parent 1 7ff23301fe22
permissions -rw-r--r--
iMaker 3.1.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     1
/*
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     8
*
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    11
*
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    12
* Contributors:
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    13
*
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    14
* Description: 
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    15
*
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    16
*/
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    17
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    18
package com.nokia.s60tools.imaker.internal.impmodel.tests;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    19
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    20
import java.io.BufferedWriter;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    21
import java.io.File;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    22
import java.io.FileWriter;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    23
import java.io.IOException;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    24
import java.io.Writer;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    25
import java.util.Map;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    26
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    27
import junit.framework.TestCase;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    28
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    29
import org.eclipse.emf.common.util.EList;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    30
import org.eclipse.emf.common.util.URI;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    31
import org.eclipse.emf.ecore.EObject;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    32
import org.eclipse.emf.ecore.resource.Resource;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    33
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    34
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    35
import com.nokia.s60tools.imaker.internal.impmodel.Comment;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    36
import com.nokia.s60tools.imaker.internal.impmodel.ConfigEntry;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    37
import com.nokia.s60tools.imaker.internal.impmodel.FileListEntry;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    38
import com.nokia.s60tools.imaker.internal.impmodel.ImpDocument;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    39
import com.nokia.s60tools.imaker.internal.impmodel.OverrideConfiguration;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    40
import com.nokia.s60tools.imaker.internal.impmodel.OverrideFiles;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    41
import com.nokia.s60tools.imaker.internal.impmodel.Variable;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    42
import com.nokia.s60tools.imaker.internal.impmodel.util.ImpResourceFactoryImpl;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    43
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    44
/**
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    45
 * <!-- begin-user-doc -->
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    46
 * A test suite for the '<em><b>impmodel</b></em>' package.
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    47
 * <!-- end-user-doc -->
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    48
 * @generated
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    49
 */
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    50
public class ImpResourceLoadTests extends TestCase {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    51
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    52
	
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    53
	
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    54
	private File testFile;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    55
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    56
	@Override
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    57
	protected void setUp() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    58
		testFile = getTestFile();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    59
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    60
	
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    61
	@Override
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    62
	protected void tearDown() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    63
		testFile.delete();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    64
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    65
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    66
	private File getTestFile() throws IOException {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    67
		File file = File.createTempFile("test", ".imp");
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    68
		return file;
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    69
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    70
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    71
	public void testLoadingEmptyFile() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    72
		EObject contents =  loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    73
		assertNotNull(contents);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    74
		assertTrue(contents instanceof ImpDocument);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    75
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    76
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    77
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    78
	public void testLoadingComments() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    79
		String comments = "#comment1\n#comment2\nhuuhaa";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    80
		populateTestFile(comments);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    81
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    82
		assertTrue("Not desired amount of comments found!",doc.getComments().size()==2);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    83
		Comment cm = doc.getComments().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    84
		assertEquals("comment1", cm.getComment());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    85
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    86
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    87
	public void testLoadingVariables() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    88
		String content = "#comment1\nvar1 = foo\nvar1 = bar";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    89
		populateTestFile(content);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    90
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    91
		assertTrue("Not desired amount of variables found!",doc.getVariables().size()==2);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    92
		Variable var = doc.getVariables().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    93
		assertEquals("var1", var.getName());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    94
		assertEquals("foo", var.getValue());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    95
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    96
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    97
	public void testLoadingOverrideFiles() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    98
		String content = "#comment1\nvar1 = foo\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
    99
				"define IMAGE_ORIDEFILES\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   100
				"\ttarget1 source1\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   101
				"\ttarget2 source2\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   102
				"endef";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   103
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   104
		populateTestFile(content);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   105
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   106
		assertTrue("Not desired amount of override files found!",doc.getOrideFiles().size()==1);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   107
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   108
		OverrideFiles of = doc.getOrideFiles().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   109
		assertTrue("Not desired amount of entries in the list!",of.getEntries().size()==2);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   110
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   111
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   112
	public void testLoadingOverrideFilesWithSpace() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   113
		String content = "#comment1\nvar1 = foo\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   114
		"define IMAGE_ORIDEFILES\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   115
		"\t\"source file1\" target1\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   116
		"\tsource2 \"target file2\"\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   117
		"endef";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   118
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   119
		populateTestFile(content);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   120
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   121
		assertTrue("Not desired amount of override files found!",doc.getOrideFiles().size()==1);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   122
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   123
		OverrideFiles of = doc.getOrideFiles().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   124
		assertTrue("Not desired amount of entries in the list!",of.getEntries().size()==2);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   125
		FileListEntry entry = of.getEntries().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   126
		assertEquals("\"source file1\"",	entry.getSource());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   127
		entry = of.getEntries().get(1);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   128
		assertEquals("\"target file2\"",	entry.getTarget());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   129
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   130
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   131
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   132
	public void testLoadingOverrideConfs() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   133
		String content = "#comment1\nvar1 = foo\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   134
		"define IMAGE_ORIDECONF\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   135
		"\tekern.exe udeb core\n" +
11
217e69fc5beb iMaker 3.1.0
haismail <hussein.ismail@nokia.com>
parents: 1
diff changeset
   136
		"\tAbout.r01 hide rofs2\n" +
1
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   137
		"endef";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   138
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   139
		populateTestFile(content);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   140
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   141
		assertTrue("Not desired amount of override confs found!",doc.getOrideConfs().size()==1);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   142
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   143
		OverrideConfiguration oc = doc.getOrideConfs().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   144
		assertTrue("Not desired amount of entries in the list!",oc.getEntries().size()==2);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   145
		ConfigEntry entry = oc.getEntries().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   146
		assertEquals("ekern.exe",	entry.getTarget());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   147
		assertEquals("udeb",	entry.getAction());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   148
		assertEquals("core",	entry.getLocation());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   149
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   150
	
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   151
	public void testLoadingOverrideFilesAndConfsTogether() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   152
		String content = "#comment1\n#variables\nvar1 = foo\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   153
				"#trace files\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   154
				"define IMAGE_ORIDEFILES\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   155
				"\tsource1 ekern.exe\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   156
				"\tsource2 About.r01\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   157
				"endef\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   158
				"#trace configurations\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   159
				"define IMAGE_ORIDECONF\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   160
				"\tekern.exe udeb core\n" +
11
217e69fc5beb iMaker 3.1.0
haismail <hussein.ismail@nokia.com>
parents: 1
diff changeset
   161
				"\tAbout.r01 hide rofs2\n" +
1
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   162
				"endef";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   163
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   164
		populateTestFile(content);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   165
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   166
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   167
		assertTrue("Not desired amount of override files found!",doc.getOrideFiles().size()==1);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   168
		assertTrue("Not desired amount of override confs found!",doc.getOrideConfs().size()==1);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   169
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   170
		OverrideFiles files = doc.getOrideFiles().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   171
		FileListEntry entry = files.getEntries().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   172
		assertFalse("File Entry has no associated action",entry.getActions().isEmpty());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   173
		ConfigEntry action = entry.getActions().get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   174
		assertEquals("udeb", action.getAction());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   175
		assertEquals("core", action.getLocation());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   176
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   177
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   178
	public void testLoadingLineBreaks() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   179
		String comment = "This is a longggggg comment continued and continued";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   180
		String content = "#This is a longggggg \\\ncomment continued \\\nand continued\n";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   181
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   182
		populateTestFile(content);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   183
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   184
		assertTrue(doc.getComments().size()==1);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   185
		assertEquals(comment, doc.getComments().get(0).getComment());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   186
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   187
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   188
	public void testLoadingLineNumbers() throws Exception {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   189
		String content = "#comment1\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   190
				"var1 = foo\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   191
		"#trace files\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   192
		"define IMAGE_ORIDEFILES\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   193
		"\ttarget1 source1\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   194
		"\ttarget2 source2\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   195
		"endef\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   196
		"#trace configurations\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   197
		"define IMAGE_ORIDECONF\n" +
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   198
		"\tekern.exe udeb core\n" +
11
217e69fc5beb iMaker 3.1.0
haismail <hussein.ismail@nokia.com>
parents: 1
diff changeset
   199
		"\tAbout.r01 hide rofs2\n" +
1
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   200
		"endef";
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   201
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   202
		populateTestFile(content);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   203
		ImpDocument doc = (ImpDocument) loadContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   204
		assertEquals(1, doc.getComments().get(0).getLineNumber());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   205
		assertEquals(3, doc.getComments().get(1).getLineNumber());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   206
		assertEquals(8, doc.getComments().get(2).getLineNumber());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   207
		assertEquals(2, doc.getVariables().get(0).getLineNumber());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   208
		assertEquals(4, doc.getOrideFiles().get(0).getLineNumber());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   209
		assertEquals(9, doc.getOrideConfs().get(0).getLineNumber());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   210
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   211
	
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   212
	private void populateTestFile(String content) throws IOException {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   213
	    Writer output = new BufferedWriter(new FileWriter(testFile));
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   214
	    try {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   215
	      output.write( content );
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   216
	    }
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   217
	    finally {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   218
	      output.close();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   219
	    }
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   220
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   221
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   222
	private EObject loadContents() throws IOException {
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   223
		ResourceSetImpl rs = new ResourceSetImpl();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   224
		Map<String, Object> factoryMap = rs.getResourceFactoryRegistry().getExtensionToFactoryMap();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   225
		factoryMap.put("imp", new ImpResourceFactoryImpl());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   226
		
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   227
		URI uri = URI.createFileURI(testFile.getAbsolutePath());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   228
		Resource resource = rs.createResource(uri);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   229
		assertNotNull(resource);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   230
		resource.load(null);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   231
		EList<EObject> contents = resource.getContents();
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   232
		assertFalse("resource is empty",contents.isEmpty());
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   233
		return contents.get(0);
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   234
	}
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   235
7ff23301fe22 iMaker plugin updated:
haismail <hussein.ismail@nokia.com>
parents:
diff changeset
   236
} //ImpResourceLoadTests