project/com.nokia.carbide.cpp.epoc.engine.tests/src/com/nokia/carbide/cpp/epoc/engine/tests/model/TestPKGView.java
changeset 684 8e7900690341
parent 636 f96e62c11eac
equal deleted inserted replaced
678:557efa279676 684:8e7900690341
    21 import com.nokia.carbide.cpp.epoc.engine.DocumentFactory;
    21 import com.nokia.carbide.cpp.epoc.engine.DocumentFactory;
    22 import com.nokia.carbide.cpp.epoc.engine.model.*;
    22 import com.nokia.carbide.cpp.epoc.engine.model.*;
    23 import com.nokia.carbide.cpp.epoc.engine.preprocessor.*;
    23 import com.nokia.carbide.cpp.epoc.engine.preprocessor.*;
    24 import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.*;
    24 import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.*;
    25 import com.nokia.carbide.internal.cpp.epoc.engine.model.pkg.PKGView;
    25 import com.nokia.carbide.internal.cpp.epoc.engine.model.pkg.PKGView;
    26 import com.nokia.cpp.internal.api.utils.core.HostOS;
       
    27 import com.nokia.cpp.internal.api.utils.core.Logging;
    26 import com.nokia.cpp.internal.api.utils.core.Logging;
       
    27 import com.nokia.cpp.internal.api.utils.core.PathUtils;
    28 
    28 
    29 import org.eclipse.core.runtime.*;
    29 import org.eclipse.core.runtime.*;
    30 import org.eclipse.jface.text.IDocument;
    30 import org.eclipse.jface.text.IDocument;
    31 
    31 
    32 import java.util.*;
    32 import java.util.*;
   138 		assertNotNull(installFileList);
   138 		assertNotNull(installFileList);
   139 		assertEquals(2, installFileList.size());
   139 		assertEquals(2, installFileList.size());
   140 		
   140 		
   141 		// first install file is language dependent
   141 		// first install file is language dependent
   142 		IPKGInstallFile installFile = installFileList.get(0);
   142 		IPKGInstallFile installFile = installFileList.get(0);
   143 		assertEquals(HostOS.createPathFromString(LANG_DEST_FILE), installFile.getDestintationFile());
   143 		assertEquals(PathUtils.createPath(LANG_DEST_FILE), installFile.getDestintationFile());
   144 		List<EPKGLanguage> langs = view.getLanguages();
   144 		List<EPKGLanguage> langs = view.getLanguages();
   145 		assertEquals(2, langs.size());
   145 		assertEquals(2, langs.size());
   146 		Map<EPKGLanguage, IPath> sourceFiles = installFile.getSourceFiles();
   146 		Map<EPKGLanguage, IPath> sourceFiles = installFile.getSourceFiles();
   147 		for (EPKGLanguage lang : langs) {
   147 		for (EPKGLanguage lang : langs) {
   148 			IPath srcFilePath = sourceFiles.get(lang);
   148 			IPath srcFilePath = sourceFiles.get(lang);
   149 			String srcFile = lang2SrcFileMap.get(lang.getCode());
   149 			String srcFile = lang2SrcFileMap.get(lang.getCode());
   150 			assertEquals(HostOS.createPathFromString(srcFile), srcFilePath);
   150 			assertEquals(PathUtils.createPath(srcFile), srcFilePath);
   151 		}
   151 		}
   152 		
   152 		
   153 		// second install file is language independent
   153 		// second install file is language independent
   154 		installFile = installFileList.get(1);
   154 		installFile = installFileList.get(1);
   155 		assertEquals(HostOS.createPathFromString(NO_LANG_DEST_FILE), installFile.getDestintationFile());
   155 		assertEquals(PathUtils.createPath(NO_LANG_DEST_FILE), installFile.getDestintationFile());
   156 		sourceFiles = installFile.getSourceFiles();
   156 		sourceFiles = installFile.getSourceFiles();
   157 		assertEquals(1, sourceFiles.size());
   157 		assertEquals(1, sourceFiles.size());
   158 		assertTrue(sourceFiles.containsKey(EPKGLanguage.INDEPENDENT));
   158 		assertTrue(sourceFiles.containsKey(EPKGLanguage.INDEPENDENT));
   159 		IPath srcFilePath = sourceFiles.get(EPKGLanguage.INDEPENDENT);
   159 		IPath srcFilePath = sourceFiles.get(EPKGLanguage.INDEPENDENT);
   160 		assertEquals(HostOS.createPathFromString(NO_LANG_SRC_FILE), srcFilePath);
   160 		assertEquals(PathUtils.createPath(NO_LANG_SRC_FILE), srcFilePath);
   161 		assertEquals(1, installFile.getOptions().size());
   161 		assertEquals(1, installFile.getOptions().size());
   162 		assertEquals(NO_LANG_OPTION, installFile.getOptions().get(0));
   162 		assertEquals(NO_LANG_OPTION, installFile.getOptions().get(0));
   163 		
   163 		
   164 		commitTest(view, modelText);
   164 		commitTest(view, modelText);
   165 	}
   165 	}
   185 		}
   185 		}
   186 		assertNotNull(conditionalInstallFile);
   186 		assertNotNull(conditionalInstallFile);
   187 		IPath destintationFile = conditionalInstallFile.getDestintationFile();
   187 		IPath destintationFile = conditionalInstallFile.getDestintationFile();
   188 		assertTrue(destintationFile.isEmpty());
   188 		assertTrue(destintationFile.isEmpty());
   189 		assertEquals(1, conditionalInstallFile.getSourceFiles().size());
   189 		assertEquals(1, conditionalInstallFile.getSourceFiles().size());
   190 		assertEquals(HostOS.createPathFromString(CONDITIONAL_SRC_FILE), conditionalInstallFile.getSourceFiles().get(EPKGLanguage.INDEPENDENT));
   190 		assertEquals(PathUtils.createPath(CONDITIONAL_SRC_FILE), conditionalInstallFile.getSourceFiles().get(EPKGLanguage.INDEPENDENT));
   191 		assertEquals(2, conditionalInstallFile.getOptions().size());
   191 		assertEquals(2, conditionalInstallFile.getOptions().size());
   192 		
   192 		
   193 		commitTest(view, modelText);
   193 		commitTest(view, modelText);
   194 	}
   194 	}
   195 	
   195 	
   198 		makeModel(modelText);
   198 		makeModel(modelText);
   199 		IPKGView view = getView(config);
   199 		IPKGView view = getView(config);
   200 		
   200 		
   201 		// fully create and add a language independent install file statement
   201 		// fully create and add a language independent install file statement
   202 		IPKGInstallFile installFile1 = view.createInstallFile(null);
   202 		IPKGInstallFile installFile1 = view.createInstallFile(null);
   203 		installFile1.getSourceFiles().put(EPKGLanguage.INDEPENDENT, HostOS.createPathFromString(NO_LANG_SRC_FILE));
   203 		installFile1.getSourceFiles().put(EPKGLanguage.INDEPENDENT, PathUtils.createPath(NO_LANG_SRC_FILE));
   204 		installFile1.getOptions().add(NO_LANG_OPTION);
   204 		installFile1.getOptions().add(NO_LANG_OPTION);
   205 		installFile1.setDestinationFile(HostOS.createPathFromString(NO_LANG_DEST_FILE));
   205 		installFile1.setDestinationFile(PathUtils.createPath(NO_LANG_DEST_FILE));
   206 		view.addInstallFile(installFile1);
   206 		view.addInstallFile(installFile1);
   207 		
   207 		
   208 		// create a language dependent install file and modify after add
   208 		// create a language dependent install file and modify after add
   209 		IPKGInstallFile installFile2 = view.createInstallFile(null);
   209 		IPKGInstallFile installFile2 = view.createInstallFile(null);
   210 		view.addInstallFile(installFile2);
   210 		view.addInstallFile(installFile2);
   211 		for (String[] lang2SrcFileArray : LANG_TO_SRC_FILES) {
   211 		for (String[] lang2SrcFileArray : LANG_TO_SRC_FILES) {
   212 			installFile2.getSourceFiles().put(
   212 			installFile2.getSourceFiles().put(
   213 					EPKGLanguage.forLangCode(lang2SrcFileArray[0]), HostOS.createPathFromString(lang2SrcFileArray[1]));
   213 					EPKGLanguage.forLangCode(lang2SrcFileArray[0]), PathUtils.createPath(lang2SrcFileArray[1]));
   214 		}
   214 		}
   215 		installFile2.setDestinationFile(HostOS.createPathFromString(LANG_DEST_FILE));
   215 		installFile2.setDestinationFile(PathUtils.createPath(LANG_DEST_FILE));
   216 		
   216 		
   217 		// NOTE: the newlines are lost and shouldn't be
   217 		// NOTE: the newlines are lost and shouldn't be
   218 		//String modifiedModelText = modelText + NO_LANG_INSTALL_FILE_STATEMENT + "\n" + LANG_INSTALL_FILE_STATEMENT;
   218 		//String modifiedModelText = modelText + NO_LANG_INSTALL_FILE_STATEMENT + "\n" + LANG_INSTALL_FILE_STATEMENT;
   219 		String modifiedModelText =
   219 		String modifiedModelText =
   220 			";Languages\n" + 
   220 			";Languages\n" + 
   243 		IPKGInstallFile[] installFiles = view.getAllInstallFiles();
   243 		IPKGInstallFile[] installFiles = view.getAllInstallFiles();
   244 		assertEquals(2, installFiles.length);
   244 		assertEquals(2, installFiles.length);
   245 		
   245 		
   246 		IPKGInstallFile file = installFiles[0];
   246 		IPKGInstallFile file = installFiles[0];
   247 		assertEquals(2, file.getSourceFiles().size());
   247 		assertEquals(2, file.getSourceFiles().size());
   248 		assertEquals(new Path("c:/users/E0192828/back.txt"), file.getSourceFiles().get(EPKGLanguage.EN));
   248 		assertEquals(PathUtils.createPath("c:/users/E0192828/back.txt"), file.getSourceFiles().get(EPKGLanguage.EN));
   249 		assertEquals(new Path("c:/users/E0FG/front.txt"), file.getSourceFiles().get(EPKGLanguage.FR));
   249 		assertEquals(PathUtils.createPath("c:/users/E0FG/front.txt"), file.getSourceFiles().get(EPKGLanguage.FR));
   250 		assertEquals(new Path("sp ac es.txt"), file.getDestintationFile());
   250 		assertEquals(PathUtils.createPath("sp ac es.txt"), file.getDestintationFile());
   251 		
   251 		
   252 		file = installFiles[1];
   252 		file = installFiles[1];
   253 		assertEquals(1, file.getSourceFiles().size());
   253 		assertEquals(1, file.getSourceFiles().size());
   254 		assertEquals(new Path("c:/users/E0192828/back.txt"), file.getSourceFiles().get(EPKGLanguage.INDEPENDENT));
   254 		assertEquals(PathUtils.createPath("c:/users/E0192828/back.txt"), file.getSourceFiles().get(EPKGLanguage.INDEPENDENT));
   255 		assertEquals(new Path("sp ac es.txt"), file.getDestintationFile());
   255 		assertEquals(PathUtils.createPath("sp ac es.txt"), file.getDestintationFile());
   256 		
   256 		
   257 		commitTest(view, ESCAPABLE_FILES);
   257 		commitTest(view, ESCAPABLE_FILES);
   258 	}
   258 	}
   259 	
   259 	
   260 }
   260 }