blob: 1b20f5d109b694358e77e30d5f7f4e8db9d15106 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 xored software, Inc.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* xored software, Inc. - initial API and Implementation (Alex Panchenko)
*******************************************************************************/
package org.eclipse.dltk.javascript.core.tests.contentassist;
import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
import org.eclipse.dltk.compiler.env.IModuleSource;
import org.eclipse.dltk.core.tests.CodeAssistUtil;
import org.eclipse.osgi.util.NLS;
public abstract class AbstractContentAssistTest extends TestCase {
protected IModuleSource createModule(String moduleName) {
return new TestModule(getClass().getResource(moduleName));
}
protected CodeAssistUtil getModule(String moduleName) {
return CodeAssistUtil.on(createModule(moduleName));
}
public static int lastPositionInFile(String string, IModuleSource source) {
return lastPositionInFile(string, source, true);
}
public static int lastPositionInFile(String string, IModuleSource source,
boolean after) {
int position = source.getSourceContents().lastIndexOf(string);
if (position >= 0) {
if (after) {
position += string.length();
}
return position;
} else {
throw new AssertionFailedError(NLS.bind(
"Pattern \"{0}\" not found in {1}", string,
source.getFileName()));
}
}
public static int firstPositionInFile(String string, IModuleSource source,
boolean after) {
int position = source.getSourceContents().indexOf(string);
if (position >= 0) {
if (after) {
position += string.length();
}
return position;
} else {
throw new AssertionFailedError("Not found");
}
}
}