Search in sources :

Example 26 with Match

use of org.eclipse.search.ui.text.Match in project eclipse.platform.text by eclipse.

the class TestSearchResult method testBatchedMatchEvent.

@Test
public void testBatchedMatchEvent() {
    final boolean[] wasAdded = { false };
    final boolean[] wasRemoved = { false };
    ISearchQuery query = new NullQuery();
    AbstractTextSearchResult result = (AbstractTextSearchResult) query.getSearchResult();
    result.addListener(new ISearchResultListener() {

        @Override
        public void searchResultChanged(SearchResultEvent e) {
            if (e instanceof MatchEvent) {
                MatchEvent evt = (MatchEvent) e;
                if (evt.getKind() == MatchEvent.ADDED) {
                    wasAdded[0] = true;
                } else {
                    wasRemoved[0] = true;
                }
            }
        }
    });
    // $NON-NLS-1$
    String object = "object";
    Match match1 = new Match(object, 0, 0);
    result.addMatches(new Match[] { match1 });
    assertTrue(wasAdded[0]);
    wasAdded[0] = false;
    result.addMatches(new Match[] { match1 });
    assertFalse(wasAdded[0]);
    Match match2 = new Match(object, 0, 0);
    result.addMatches(new Match[] { match2 });
    assertTrue(wasAdded[0]);
    wasAdded[0] = false;
    result.removeMatches(new Match[] { match2 });
    assertTrue(wasRemoved[0]);
    wasRemoved[0] = false;
    result.removeMatches(new Match[] { match2 });
    assertFalse(wasRemoved[0]);
}
Also used : SearchResultEvent(org.eclipse.search.ui.SearchResultEvent) MatchEvent(org.eclipse.search.ui.text.MatchEvent) ISearchResultListener(org.eclipse.search.ui.ISearchResultListener) AbstractTextSearchResult(org.eclipse.search.ui.text.AbstractTextSearchResult) ISearchQuery(org.eclipse.search.ui.ISearchQuery) Match(org.eclipse.search.ui.text.Match) Test(org.junit.Test)

Example 27 with Match

use of org.eclipse.search.ui.text.Match in project eclipse.platform.text by eclipse.

the class TestSearchResult method testAddMatchOrderPreserving.

@Test
public void testAddMatchOrderPreserving() {
    ISearchQuery query = new NullQuery();
    AbstractTextSearchResult result = (AbstractTextSearchResult) query.getSearchResult();
    // $NON-NLS-1$
    String object = "object";
    Match match1 = new Match(object, 1, 0);
    result.addMatch(match1);
    assertEquals(result.getMatchCount(), 1);
    Match match2 = new Match(object, 1, 0);
    result.addMatch(match2);
    Match[] matches = result.getMatches(object);
    assertTrue("matches[0]", matches[0] == match1);
    assertTrue("matches[1]", matches[1] == match2);
}
Also used : AbstractTextSearchResult(org.eclipse.search.ui.text.AbstractTextSearchResult) ISearchQuery(org.eclipse.search.ui.ISearchQuery) Match(org.eclipse.search.ui.text.Match) Test(org.junit.Test)

Example 28 with Match

use of org.eclipse.search.ui.text.Match in project eclipse.platform.text by eclipse.

the class TestSearchResult method testAddMatchDifferentLength.

@Test
public void testAddMatchDifferentLength() {
    ISearchQuery query = new NullQuery();
    AbstractTextSearchResult result = (AbstractTextSearchResult) query.getSearchResult();
    // $NON-NLS-1$
    String object = "object";
    Match match1 = new Match(object, 1, 1);
    result.addMatch(match1);
    assertEquals(result.getMatchCount(), 1);
    Match match2 = new Match(object, 1, 0);
    result.addMatch(match2);
    Match[] matches = result.getMatches(object);
    assertTrue("matches[0]", matches[0] == match2);
    assertTrue("matches[1]", matches[1] == match1);
}
Also used : AbstractTextSearchResult(org.eclipse.search.ui.text.AbstractTextSearchResult) ISearchQuery(org.eclipse.search.ui.ISearchQuery) Match(org.eclipse.search.ui.text.Match) Test(org.junit.Test)

Example 29 with Match

use of org.eclipse.search.ui.text.Match in project eclipse.platform.text by eclipse.

the class TestSearchResult method testRemoveMatches.

@Test
public void testRemoveMatches() {
    ISearchQuery query = new NullQuery();
    AbstractTextSearchResult result = (AbstractTextSearchResult) query.getSearchResult();
    // $NON-NLS-1$
    String object = "object";
    Match match1 = new Match(object, 0, 0);
    Match match2 = new Match(object, 0, 0);
    result.addMatches(new Match[] { match1, match2 });
    assertEquals(result.getMatchCount(), 2);
    result.removeMatches(new Match[] { match1, match2 });
    assertEquals(result.getMatchCount(), 0);
}
Also used : AbstractTextSearchResult(org.eclipse.search.ui.text.AbstractTextSearchResult) ISearchQuery(org.eclipse.search.ui.ISearchQuery) Match(org.eclipse.search.ui.text.Match) Test(org.junit.Test)

Example 30 with Match

use of org.eclipse.search.ui.text.Match in project eclipse.platform.text by eclipse.

the class TestSearchResult method testAddMatch.

@Test
public void testAddMatch() {
    ISearchQuery query = new NullQuery();
    AbstractTextSearchResult result = (AbstractTextSearchResult) query.getSearchResult();
    // $NON-NLS-1$
    String object = "object";
    Match match1 = new Match(object, 0, 0);
    result.addMatch(match1);
    assertEquals(result.getMatchCount(), 1);
    Match match2 = new Match(object, 0, 0);
    result.addMatch(match2);
    assertEquals(result.getMatchCount(), 2);
    result.addMatch(match1);
    assertEquals(result.getMatchCount(), 2);
}
Also used : AbstractTextSearchResult(org.eclipse.search.ui.text.AbstractTextSearchResult) ISearchQuery(org.eclipse.search.ui.ISearchQuery) Match(org.eclipse.search.ui.text.Match) Test(org.junit.Test)

Aggregations

Match (org.eclipse.search.ui.text.Match)45 AbstractTextSearchResult (org.eclipse.search.ui.text.AbstractTextSearchResult)19 Test (org.junit.Test)14 ISearchQuery (org.eclipse.search.ui.ISearchQuery)11 ITextFileBuffer (org.eclipse.core.filebuffers.ITextFileBuffer)7 IFile (org.eclipse.core.resources.IFile)7 Position (org.eclipse.jface.text.Position)7 Annotation (org.eclipse.jface.text.source.Annotation)6 ArrayList (java.util.ArrayList)5 BadLocationException (org.eclipse.jface.text.BadLocationException)5 IDocument (org.eclipse.jface.text.IDocument)5 HashMap (java.util.HashMap)4 HashSet (java.util.HashSet)4 IAnnotationModel (org.eclipse.jface.text.source.IAnnotationModel)4 ISearchResult (org.eclipse.search.ui.ISearchResult)4 IResource (org.eclipse.core.resources.IResource)3 MatchEvent (org.eclipse.search.ui.text.MatchEvent)3 IStatus (org.eclipse.core.runtime.IStatus)2 Status (org.eclipse.core.runtime.Status)2 IJavaElement (org.eclipse.jdt.core.IJavaElement)2