/******************************************************************************* * Copyright (c) 2005, 2006 Eclipse Foundation * 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: * Bjorn Freeman-Benson - initial implementation * Ward Cunningham - initial implementation *******************************************************************************/ package org.eclipse.eclipsemonkey.doms.resources; import java.io.ByteArrayInputStream; import java.io.InputStream; import junit.framework.TestCase; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; /** * Run this class with Run As... JUnit Plug-in Test */ public class ResourcesTests extends TestCase { /** * @param args */ public static void main(String[] args) { junit.textui.TestRunner.run(ResourcesTests.class); } /** * @see junit.framework.TestCase#setUp() */ public void setUp() throws Exception { IWorkspace w = ResourcesPlugin.getWorkspace(); IProject project = w.getRoot().getProject( "Aptana Scripting Resources DOM Test"); //$NON-NLS-1$ if (!project.exists()) project.create(null); project.open(null); IFolder folder = project.getFolder("if_i_ran_the_zoo"); //$NON-NLS-1$ folder.create(IResource.NONE, true, null); IFile file = folder.getFile("lunk.java"); //$NON-NLS-1$ byte[] buf = new byte[0]; InputStream stream = new ByteArrayInputStream(buf); file.create(stream, false, null); stream.close(); file = folder.getFile("joat.txt"); //$NON-NLS-1$ String s = "I'll load up five boats with a family of Joats\n" //$NON-NLS-1$ + "Whose feet are like cows', but wear squirrel-skin coats\n"; //$NON-NLS-1$ stream = new ByteArrayInputStream(s.getBytes()); file.create(stream, false, null); stream.close(); } /** * @see junit.framework.TestCase#tearDown() */ public void tearDown() throws Exception { IWorkspace w = ResourcesPlugin.getWorkspace(); IProject project = w.getRoot().getProject( "Aptana Scripting Resources DOM Test"); //$NON-NLS-1$ if (project.exists()) project.delete(true, true, null); } /** * @throws Exception */ public void testFilesMatching() throws Exception { Resources resources = (Resources) new ResourcesDOMFactory() .getDOMroot(); Object[] result = resources.filesMatching(".*\\.java"); //$NON-NLS-1$ assertEquals(1, result.length); assertTrue(result[0] instanceof File); assertEquals("lunk.java", ((File) result[0]).getEclipseObject() //$NON-NLS-1$ .getName()); } /** * * @throws Exception */ public void testGetLines() throws Exception { Resources resources = (Resources) new ResourcesDOMFactory() .getDOMroot(); Object[] result = resources.filesMatching(".*\\.txt"); //$NON-NLS-1$ File file = (File) result[0]; Line[] lines = file.getLines(); assertEquals(2, lines.length); assertEquals( "Whose feet are like cows', but wear squirrel-skin coats", //$NON-NLS-1$ lines[1].getString()); } }