|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.openidex.search; import java.io.File; import java.io.IOException; import java.io.PrintStream; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import junit.textui.TestRunner; import org.netbeans.junit.NbTestCase; import org.netbeans.junit.NbTestSuite; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.loaders.DataObject; import org.openidex.search.SearchInfo; import org.openidex.search.SearchInfoFactory; /** * * @author Marian Petras */ public final class SearchIteratorTest extends NbTestCase { /** */ private FileObject dataDir; /** */ FileObject projectRoot; /** */ public SearchIteratorTest(String name) { super(name); } /** */ public static void main(String args[]) { TestRunner.run(new NbTestSuite(SearchIteratorTest.class)); } /** */ protected void setUp() throws Exception { dataDir = FileUtil.toFileObject(getDataDir()); assert dataDir != null; projectRoot = dataDir.getFileObject("projects/Project1"); //NOI18N assert projectRoot != null; FileObject testDir; testDir = projectRoot; ensureTildeCopyExists(testDir, "build", "xml"); //NOI18N testDir = projectRoot.getFileObject("src/foo/bar/baz"); //NOI18N ensureTildeCopyExists(testDir, "SampleClass", "java"); //NOI18N } /** */ private void ensureTildeCopyExists(FileObject folder, String name, String ext) throws IOException { String tildeExt = ext + '~'; FileObject orig = folder.getFileObject(name, ext); assert orig != null; FileObject copy = folder.getFileObject(name, tildeExt); if (copy == null) { orig.copy(folder, name, tildeExt); } } /** */ public void testPlainSearchInfo() throws Exception { generateSearchableFileNames(projectRoot, true, //recursive false, //check visibility? false, //check sharability? getRef()); compareReferenceFiles(); } /** */ public void testVisibilitySearchInfo() throws Exception { generateSearchableFileNames(projectRoot, true, //recursive true, //check visibility? false, //check sharability? getRef()); compareReferenceFiles(); } /** */ public void testSharabilitySearchInfo() throws Exception { generateSearchableFileNames(projectRoot, true, //recursive false, //check visibility? true, //check sharability? getRef()); compareReferenceFiles(); } /** */ public void testVisibSharSearchInfo() throws Exception { generateSearchableFileNames(projectRoot, true, //recursive true, //check visibility? true, //check sharability? getRef()); compareReferenceFiles(); } public void testNonRecursiveSearchInfo() throws Exception { generateSearchableFileNames(projectRoot, false, //not recursive false, false, getRef()); compareReferenceFiles(); } /** */ private void generateSearchableFileNames( FileObject folder, boolean recursive, boolean checkVisibility, boolean checkSharability, PrintStream refPrintStream) { FileObjectFilter[] filters; int filtersCount = 0; if (checkVisibility) { filtersCount++; } if (checkSharability) { filtersCount++; } if (filtersCount == 0) { filters = null; } else { filters = new FileObjectFilter[filtersCount]; int i = 0; if (checkVisibility) { filters[i++] = SearchInfoFactory.VISIBILITY_FILTER; } if (checkSharability) { filters[i++] = SearchInfoFactory.SHARABILITY_FILTER; } } SearchInfo searchInfo = SearchInfoFactory.createSearchInfo( folder, recursive, filters); assertTrue("project root not searchable", searchInfo.canSearch()); List foundFilesPaths = new ArrayList(16); for (Iterator i = searchInfo.objectsToSearch(); i.hasNext(); ) { FileObject primaryFile = ((DataObject) i.next()).getPrimaryFile(); String relativePath = FileUtil.getRelativePath(projectRoot, primaryFile); foundFilesPaths.add(relativePath); } Collections.sort(foundFilesPaths); for (Iterator i = foundFilesPaths.iterator(); i.hasNext(); ) { refPrintStream.println((String) i.next()); } } /** */ protected void tearDown() throws Exception { } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.