sysmodelmgr/com.symbian.smt.gui.test/src/com/symbian/smt/gui/wizard/NewSMTProjectWizardTest.java
author terytkon
Thu, 11 Mar 2010 19:08:43 +0200
changeset 0 522a326673b6
permissions -rw-r--r--
Moved swconfigapps content under oss repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     2
// All rights reserved.
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     3
// This component and the accompanying materials are made available
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     5
// which accompanies this distribution, and is available
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     7
//
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     8
// Initial Contributors:
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    10
//
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    11
// Contributors:
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    12
//
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    13
// Description:
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    14
// NewSMTProjectWizardTest
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    15
//
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    16
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    17
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    18
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    19
package com.symbian.smt.gui.wizard;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    20
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    21
import static com.symbian.smt.gui.ResourcesEnums.BORDER_SHAPES;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    22
import static com.symbian.smt.gui.ResourcesEnums.BORDER_STYLES;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    23
import static com.symbian.smt.gui.ResourcesEnums.COLOURS;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    24
import static com.symbian.smt.gui.ResourcesEnums.DEPENDENCIES;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    25
import static com.symbian.smt.gui.ResourcesEnums.LEVELS;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    26
import static com.symbian.smt.gui.ResourcesEnums.LOCALISATION;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    27
import static com.symbian.smt.gui.ResourcesEnums.PATTERNS;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    28
import static com.symbian.smt.gui.ResourcesEnums.S12_XML;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    29
import static com.symbian.smt.gui.ResourcesEnums.SHAPES;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    30
import static com.symbian.smt.gui.ResourcesEnums.SYSTEM_INFO;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    31
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    32
import java.util.List;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    33
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    34
import junit.framework.AssertionFailedError;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    35
import junit.framework.TestCase;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    36
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    37
import org.eclipse.core.resources.IFolder;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    38
import org.eclipse.core.resources.IProject;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    39
import org.eclipse.core.resources.IProjectDescription;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    40
import org.eclipse.core.resources.IResource;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    41
import org.eclipse.core.resources.IWorkspace;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    42
import org.eclipse.core.resources.ProjectScope;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    43
import org.eclipse.core.resources.ResourcesPlugin;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    44
import org.eclipse.core.runtime.CoreException;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    45
import org.eclipse.core.runtime.Path;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    46
import org.eclipse.core.runtime.preferences.DefaultScope;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    47
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    48
import org.eclipse.core.runtime.preferences.IScopeContext;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    49
import org.eclipse.core.runtime.preferences.InstanceScope;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    50
import org.eclipse.jface.viewers.IStructuredSelection;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    51
import org.eclipse.jface.viewers.StructuredSelection;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    52
import org.eclipse.jface.wizard.IWizardPage;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    53
import org.eclipse.jface.wizard.WizardDialog;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    54
import org.eclipse.swt.widgets.Composite;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    55
import org.eclipse.swt.widgets.Control;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    56
import org.eclipse.swt.widgets.Shell;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    57
import org.eclipse.swt.widgets.Text;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    58
import org.eclipse.ui.IWorkbench;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    59
import org.eclipse.ui.PlatformUI;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    60
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    61
import com.symbian.smt.gui.AbstractPersistentDataStore;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    62
import com.symbian.smt.gui.Activator;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    63
import com.symbian.smt.gui.Helper;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    64
import com.symbian.smt.gui.PersistentDataStore;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    65
import com.symbian.smt.gui.TestConstants;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    66
import com.symbian.smt.gui.preferences.SmmPreferencesInitializer;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    67
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    68
/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    69
 * @author barbararosi-schwartz
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    70
 * 
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    71
 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    72
public class NewSMTProjectWizardTest extends TestCase {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    73
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    74
	private static final String SEPARATOR = "|";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    75
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    76
	private static final AbstractPersistentDataStore getPersistDataStore(
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    77
			IProject project) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    78
		IScopeContext projectScope = new ProjectScope(project);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    79
		IEclipsePreferences node = projectScope.getNode(Activator.PLUGIN_ID);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    80
		PersistentDataStore dataStore = new PersistentDataStore(node);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    81
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    82
		return dataStore;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    83
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    84
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    85
	private IStructuredSelection selection;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    86
	private Shell shell;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    87
	private String smgFolder;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    88
	private NewSMTProjectWizard wizard;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    89
	private Text wizardProjectTextField;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    90
	private IWorkbench workbench;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    91
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    92
	// This method is dependent on the current UI composition
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    93
	// of Eclipse's WizardNewProjectCreationPage. 
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    94
	// We cannot find the Text widget in any other way because
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    95
	// it is hidden.
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    96
	private final Text findText(Composite parent) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    97
		Text text = null;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    98
		Control[] children = parent.getChildren();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
    99
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   100
		for (Control control : children) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   101
			if (control instanceof Text) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   102
				text = (Text) control;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   103
				break;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   104
			} else if (control instanceof Composite) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   105
				return findText((Composite) control);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   106
			}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   107
		}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   108
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   109
		return text;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   110
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   111
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   112
	private final String prependPathAndMakeLowerCase(String filename) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   113
		assertNotNull("Location of SystemModelManager should not be null.",
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   114
				smgFolder);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   115
		return new StringBuffer(smgFolder).append(TestConstants.RESOURCE_FILES_FOLDER_PATH)
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   116
				.append(filename).toString().toLowerCase();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   117
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   118
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   119
	/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   120
	 * @throws java.lang.Exception
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   121
	 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   122
	protected final void setUp() throws Exception {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   123
		// Initialise the default values
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   124
		SmmPreferencesInitializer initialiser = new SmmPreferencesInitializer();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   125
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   126
		initialiser.initializeDefaultPreferences();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   127
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   128
		smgFolder = initialiser.getSmgFolder();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   129
		wizard = new NewSMTProjectWizard();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   130
		selection = new StructuredSelection(StructuredSelection.EMPTY);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   131
		workbench = PlatformUI.getWorkbench();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   132
		shell = workbench.getActiveWorkbenchWindow().getShell();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   133
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   134
		wizard.init(workbench, selection);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   135
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   136
		WizardDialog dialog = new WizardDialog(shell, wizard);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   137
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   138
		dialog.setBlockOnOpen(false);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   139
		dialog.open();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   140
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   141
		NewProjectCreationPageCaseInsensitive page = (NewProjectCreationPageCaseInsensitive) wizard
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   142
				.getPage("page1");
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   143
		Composite c = (Composite) page.getControl();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   144
		wizardProjectTextField = findText(c);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   145
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   146
		if (wizardProjectTextField == null) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   147
			throw new Exception("Could not find project name Text field");
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   148
		}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   149
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   150
		wizardProjectTextField.setText("testproject");
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   151
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   152
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   153
	/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   154
	 * @throws java.lang.Exception
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   155
	 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   156
	protected final void tearDown() throws Exception {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   157
		IWorkspace ws = ResourcesPlugin.getWorkspace();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   158
		
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   159
		ws.getRoot().delete(true, true, null);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   160
		wizard.dispose();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   161
		
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   162
		wizard = null;
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   163
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   164
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   165
	/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   166
	 * Test method for
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   167
	 * {@link com.symbian.smt.gui.wizard.NewSMTProjectWizard#addPages()}.
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   168
	 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   169
	public final void testAddPages() {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   170
		assertEquals(3, wizard.getPageCount());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   171
		IWizardPage[] pages = wizard.getPages();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   172
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   173
		assertTrue(pages[0] instanceof NewProjectCreationPageCaseInsensitive);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   174
		assertTrue(pages[1] instanceof NewProjectWizardSystemDefsPage);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   175
		assertTrue(pages[2] instanceof NewProjectWizardTabbedPropertiesPage);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   176
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   177
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   178
	/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   179
	 * Test method for
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   180
	 * {@link com.symbian.smt.gui.wizard.NewSMTProjectWizard#copyFilesIntoProject()}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   181
	 * .
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   182
	 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   183
	public final void testCopyFilesIntoProject() {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   184
		IWizardPage[] pages = wizard.getPages();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   185
		NewProjectCreationPageCaseInsensitive page1 = (NewProjectCreationPageCaseInsensitive) pages[0];
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   186
		IProject newProject = page1.getProjectHandle();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   187
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   188
		assertEquals("\\testproject", newProject.getFullPath().toOSString());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   189
		testDefaultResourcesFromPage((NewProjectWizardTabbedPropertiesPage) pages[2]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   190
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   191
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   192
	/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   193
	 * Test method for
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   194
	 * {@link com.symbian.smt.gui.wizard.NewSMTProjectWizard#createPageControls()}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   195
	 * .
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   196
	 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   197
	public final void testCreatePageControls() {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   198
		IScopeContext defaultScope = new DefaultScope();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   199
		IEclipsePreferences defaultNode = defaultScope
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   200
				.getNode(Activator.PLUGIN_ID);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   201
		IScopeContext instanceScope = new InstanceScope();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   202
		IEclipsePreferences instanceNode = instanceScope
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   203
				.getNode(Activator.PLUGIN_ID);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   204
		PersistentDataStore instanceStore = new PersistentDataStore(
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   205
				instanceNode, defaultNode);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   206
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   207
		assertNotNull(instanceStore);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   208
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   209
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   210
	/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   211
	 * Test method for
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   212
	 * {@link com.symbian.smt.gui.wizard.NewSMTProjectWizard#createProject()}.
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   213
	 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   214
	public final void testCreateProject() {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   215
		NewProjectCreationPageCaseInsensitive page1 = (NewProjectCreationPageCaseInsensitive) wizard
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   216
				.getPage("page1");
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   217
		IProject newProject = page1.getProjectHandle();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   218
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   219
		NewProjectWizardSystemDefsPage page2 = (NewProjectWizardSystemDefsPage) wizard.getPage("wizardPage");
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   220
		
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   221
		page2.setSystemDefinitions(new String[] {smgFolder + "/../smg-sysdef/Bob_System_Definition.xml"});
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   222
		wizard.performFinish();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   223
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   224
		try {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   225
			IProjectDescription desc = newProject.getDescription();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   226
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   227
			assertEquals("testproject", desc.getName());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   228
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   229
			List<String> natureIds = Helper
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   230
					.toListOfStrings(desc.getNatureIds());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   231
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   232
			assertTrue(natureIds.contains("com.symbian.smt.gui.nature"));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   233
		} catch (CoreException e) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   234
			throw new AssertionFailedError(
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   235
					"Problem encountered in obtaining the project's description.");
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   236
		}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   237
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   238
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   239
	private final void testDefaultResourcesFromPage(
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   240
			NewProjectWizardTabbedPropertiesPage page) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   241
		String[] expected = { TestConstants.SHAPES_RESOURCE_FILE_PATH };
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   242
		String[] actual = page.getDefaultShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   243
		String message = "Error in default shapes files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   244
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   245
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   246
		expected = new String[] { "Auto" };
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   247
		actual = page.getDefaultLevelsFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   248
		message = "Error in default level files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   249
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   250
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   251
		expected = new String[] { TestConstants.LOCALISATION_RESOURCE_FILE_PATH };
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   252
		actual = page.getDefaultLocalisationFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   253
		message = "Error in default localisation files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   254
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   255
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   256
		expected = new String[] {};
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   257
		actual = page.getDefaultDependenciesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   258
		message = "Error in default dependencies files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   259
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   260
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   261
		expected = new String[] {};
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   262
		actual = page.getDefaultSystemInfoFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   263
		message = "Error in default system info files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   264
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   265
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   266
		expected = new String[] {};
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   267
		actual = page.getDefaultColoursFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   268
		message = "Error in default colours files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   269
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   270
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   271
		expected = new String[] {};
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   272
		actual = page.getDefaultBorderStylesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   273
		message = "Error in default border styles files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   274
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   275
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   276
		expected = new String[] {};
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   277
		actual = page.getDefaultBorderShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   278
		message = "Error in default border shapes files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   279
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   280
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   281
		expected = new String[] {};
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   282
		actual = page.getDefaultPatternsFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   283
		message = "Error in default patters files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   284
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   285
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   286
		expected = new String[] {};
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   287
		actual = page.getDefaultS12XmlFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   288
		message = "Error in default S12 files.";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   289
		testResourceName(message, expected, actual);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   290
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   291
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   292
	/**
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   293
	 * Test method for
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   294
	 * {@link com.symbian.smt.gui.wizard.NewSMTProjectWizard#performFinish()}.
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   295
	 */
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   296
	public final void testPerformFinish() {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   297
		NewProjectCreationPageCaseInsensitive page = (NewProjectCreationPageCaseInsensitive) wizard
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   298
				.getPage("page1");
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   299
		IProject newProject = page.getProjectHandle();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   300
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   301
		wizard.performFinish();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   302
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   303
		testPersistedSelectedItems(newProject);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   304
		testPersistedItems(newProject);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   305
		testWorkspaceContents(newProject);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   306
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   307
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   308
	private final void testPersistedItems(IProject project) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   309
		AbstractPersistentDataStore dataStore = getPersistDataStore(project);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   310
		String[] options = dataStore.getAdvancedOptions();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   311
		assertEquals(0, options.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   312
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   313
		Boolean fixsize = dataStore.getFixItemSize();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   314
		assertFalse(fixsize);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   315
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   316
		options = dataStore.getDistributionTexts();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   317
		assertEquals(4, options.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   318
		assertEquals("secret", options[0]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   319
		assertEquals("confidential", options[1]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   320
		assertEquals("internal", options[2]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   321
		assertEquals("unrestricted", options[3]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   322
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   323
		options = dataStore.getModelVersionTexts();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   324
		assertEquals(3, options.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   325
		assertEquals("draft", options[0]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   326
		assertEquals("build", options[1]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   327
		assertEquals("issued", options[2]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   328
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   329
		options = dataStore.getPrintedDpis();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   330
		assertEquals(2, options.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   331
		assertEquals("300", options[0]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   332
		assertEquals("600", options[1]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   333
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   334
		String[] filenames = dataStore.getBorderShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   335
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   336
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   337
		filenames = dataStore.getBorderStylesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   338
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   339
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   340
		filenames = dataStore.getColoursFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   341
		assertEquals(1, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   342
		assertEquals(prependPathAndMakeLowerCase("system_model_colors.xml"),
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   343
				filenames[0].toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   344
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   345
		filenames = dataStore.getDependenciesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   346
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   347
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   348
		filenames = dataStore.getLevelsFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   349
		assertEquals(3, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   350
		assertEquals("Auto", filenames[0]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   351
		assertEquals(prependPathAndMakeLowerCase("Levels.xml"), filenames[1]
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   352
				.toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   353
		assertEquals(prependPathAndMakeLowerCase("Levels91.xml"), filenames[2]
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   354
				.toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   355
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   356
		filenames = dataStore.getLocalisationFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   357
		assertEquals(1, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   358
		assertEquals(prependPathAndMakeLowerCase("display-names.xml"),
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   359
				filenames[0].toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   360
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   361
		filenames = dataStore.getPatternsFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   362
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   363
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   364
		filenames = dataStore.getS12XmlFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   365
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   366
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   367
		filenames = dataStore.getShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   368
		assertEquals(2, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   369
		assertEquals(prependPathAndMakeLowerCase("Shapes.xml"), filenames[0]
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   370
				.toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   371
		assertEquals(prependPathAndMakeLowerCase("Example-shapes.xml"),
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   372
				filenames[1].toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   373
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   374
		filenames = dataStore.getSystemInfoFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   375
		assertEquals(1, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   376
		assertEquals(prependPathAndMakeLowerCase("SystemInfo.xml"),
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   377
				filenames[0].toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   378
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   379
		filenames = dataStore.getBorderShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   380
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   381
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   382
		filenames = dataStore.getBorderShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   383
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   384
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   385
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   386
	private final void testPersistedSelectedItems(IProject project) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   387
		AbstractPersistentDataStore dataStore = getPersistDataStore(project);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   388
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   389
		String[] filenames = dataStore.getSelectedBorderShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   390
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   391
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   392
		filenames = dataStore.getSelectedBorderStylesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   393
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   394
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   395
		filenames = dataStore.getSelectedColoursFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   396
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   397
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   398
		filenames = dataStore.getSelectedDependenciesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   399
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   400
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   401
		filenames = dataStore.getSelectedLevelsFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   402
		assertEquals(1, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   403
		assertEquals("Auto", filenames[0]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   404
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   405
		filenames = dataStore.getSelectedLocalisationFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   406
		assertEquals(1, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   407
		assertEquals(prependPathAndMakeLowerCase("display-names.xml"),
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   408
				filenames[0].toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   409
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   410
		filenames = dataStore.getSelectedPatternsFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   411
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   412
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   413
		filenames = dataStore.getSelectedS12XmlFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   414
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   415
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   416
		filenames = dataStore.getSelectedShapesFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   417
		assertEquals(1, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   418
		assertEquals(prependPathAndMakeLowerCase("Shapes.xml"), filenames[0]
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   419
				.toLowerCase());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   420
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   421
		filenames = dataStore.getSelectedSystemInfoFiles();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   422
		assertEquals(0, filenames.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   423
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   424
		String distributionText = dataStore.getSelectedDistributionText();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   425
		assertEquals("secret", distributionText);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   426
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   427
		String modelVersionText = dataStore.getSelectedModelVersionText();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   428
		assertEquals("draft", modelVersionText);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   429
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   430
		String dpi = dataStore.getSelectedPrintedDpi();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   431
		assertEquals("600", dpi);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   432
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   433
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   434
	private final void testResourceName(String message, String[] expected,
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   435
			String[] actual) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   436
		assertEquals(message, expected.length, actual.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   437
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   438
		for (int i = 0; i < expected.length; i++) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   439
			assertEquals(message, Helper.relative2AbsolutePaths(expected[i],
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   440
					smgFolder, SEPARATOR), actual[i]);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   441
		}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   442
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   443
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   444
	private final void testWorkspaceContents(IProject project) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   445
		String folderName = "";
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   446
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   447
		try {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   448
			folderName = BORDER_SHAPES.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   449
			IFolder folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   450
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   451
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   452
			IResource[] children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   453
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   454
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   455
			folderName = BORDER_STYLES.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   456
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   457
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   458
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   459
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   460
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   461
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   462
			folderName = COLOURS.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   463
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   464
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   465
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   466
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   467
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   468
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   469
			folderName = DEPENDENCIES.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   470
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   471
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   472
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   473
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   474
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   475
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   476
			folderName = LEVELS.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   477
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   478
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   479
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   480
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   481
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   482
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   483
			folderName = LOCALISATION.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   484
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   485
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   486
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   487
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   488
			assertEquals(1, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   489
			assertEquals("display-names.xml", children[0].getName());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   490
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   491
			folderName = PATTERNS.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   492
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   493
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   494
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   495
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   496
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   497
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   498
			folderName = S12_XML.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   499
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   500
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   501
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   502
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   503
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   504
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   505
			folderName = SHAPES.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   506
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   507
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   508
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   509
			// TODO:BRS:Check why assertions below fail.
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   510
			// assertEquals(1, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   511
			// assertEquals("Shapes.xml", children[0].getName());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   512
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   513
			folderName = SYSTEM_INFO.arg();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   514
			folder = project.getFolder(new Path(folderName));
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   515
			assertFalse("Folder [" + folderName
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   516
					+ "] does not exist in project.", !folder.exists());
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   517
			children = folder.members();
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   518
			assertEquals(0, children.length);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   519
		} catch (CoreException e) {
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   520
			assertFalse("Exception while looking for the contents of folder ["
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   521
					+ folderName + "].", true);
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   522
		}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   523
	}
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   524
522a326673b6 Moved swconfigapps content under oss repository.
terytkon
parents:
diff changeset
   525
}