Search in sources :

Example 6 with ContextRegion

use of org.eclipse.wst.sse.core.internal.parser.ContextRegion in project webtools.sourceediting by eclipse.

the class TestRegionList method test_toArray.

public void test_toArray() {
    ITextRegion[] regions = new ITextRegion[3];
    TextRegionListImpl impl = new TextRegionListImpl();
    boolean added = impl.add(regions[0] = new ContextRegion(REGION_TYPE, 0, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 1, impl.size());
    added = impl.add(regions[1] = new ContextRegion(REGION_TYPE, 1, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 2, impl.size());
    added = impl.add(regions[2] = new ContextRegion(REGION_TYPE, 2, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 3, impl.size());
    assertEquals("wrong object", 0, impl.indexOf(regions[0]));
    assertEquals("wrong object", 1, impl.indexOf(regions[1]));
    assertEquals("wrong object", 2, impl.indexOf(regions[2]));
    assertTrue("wrong array", Arrays.equals(regions, impl.toArray()));
    impl.remove(regions[1]);
    assertTrue("wrong array", Arrays.equals(new ITextRegion[] { regions[0], regions[2] }, impl.toArray()));
}
Also used : TextRegionListImpl(org.eclipse.wst.sse.core.internal.text.TextRegionListImpl) ITextRegion(org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion) ContextRegion(org.eclipse.wst.sse.core.internal.parser.ContextRegion)

Example 7 with ContextRegion

use of org.eclipse.wst.sse.core.internal.parser.ContextRegion in project webtools.sourceediting by eclipse.

the class TestRegionList method test_getUnder.

public void test_getUnder() {
    ITextRegion[] regions = new ITextRegion[3];
    TextRegionListImpl impl = new TextRegionListImpl();
    boolean added = impl.add(regions[0] = new ContextRegion(REGION_TYPE, 0, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 1, new Accessor(impl, TextRegionListImpl.class).getInt("fRegionsCount"));
    added = impl.add(regions[1] = new ContextRegion(REGION_TYPE, 1, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 2, new Accessor(impl, TextRegionListImpl.class).getInt("fRegionsCount"));
    added = impl.add(regions[2] = new ContextRegion(REGION_TYPE, 2, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 3, new Accessor(impl, TextRegionListImpl.class).getInt("fRegionsCount"));
    assertEquals("wrong object", regions[0], impl.get(0));
    assertEquals("wrong object", regions[1], impl.get(1));
    assertEquals("wrong object", regions[2], impl.get(2));
    ArrayIndexOutOfBoundsException e = null;
    try {
        impl.get(-1);
    } catch (ArrayIndexOutOfBoundsException e2) {
        e = e2;
    }
    assertNotNull("no ArrayIndexOutOfBoundsException thrown when expected", e);
}
Also used : TextRegionListImpl(org.eclipse.wst.sse.core.internal.text.TextRegionListImpl) ITextRegion(org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion) ContextRegion(org.eclipse.wst.sse.core.internal.parser.ContextRegion) Accessor(org.eclipse.wst.sse.core.tests.util.Accessor)

Example 8 with ContextRegion

use of org.eclipse.wst.sse.core.internal.parser.ContextRegion in project webtools.sourceediting by eclipse.

the class TestRegionList method test_iterator2.

public void test_iterator2() {
    TextRegionListImpl impl = new TextRegionListImpl();
    boolean added = impl.add(new ContextRegion(REGION_TYPE, 0, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 1, new Accessor(impl, TextRegionListImpl.class).getInt("fRegionsCount"));
    added = impl.add(new ContextRegion(REGION_TYPE, 1, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 2, new Accessor(impl, TextRegionListImpl.class).getInt("fRegionsCount"));
    added = impl.add(new ContextRegion(REGION_TYPE, 2, 1, 1));
    assertTrue("region not added", added);
    assertEquals("count was wrong", 3, new Accessor(impl, TextRegionListImpl.class).getInt("fRegionsCount"));
    Iterator it = null;
    assertNotNull("no iterator returned", it = (Iterator) new Accessor(impl, TextRegionListImpl.class).invoke("iterator", new Object[0]));
    assertTrue(it.hasNext());
    assertNotNull(it.next());
    assertNotNull(it.next());
    assertNotNull(it.next());
    assertFalse(it.hasNext());
}
Also used : TextRegionListImpl(org.eclipse.wst.sse.core.internal.text.TextRegionListImpl) Iterator(java.util.Iterator) ContextRegion(org.eclipse.wst.sse.core.internal.parser.ContextRegion) Accessor(org.eclipse.wst.sse.core.tests.util.Accessor)

Example 9 with ContextRegion

use of org.eclipse.wst.sse.core.internal.parser.ContextRegion in project webtools.sourceediting by eclipse.

the class TestRegionList method test_addAllToPosition.

public void test_addAllToPosition() {
    ITextRegion[] regions = new ITextRegion[3];
    TextRegionListImpl impl = new TextRegionListImpl();
    boolean added = impl.add(regions[0] = new ContextRegion(REGION_TYPE, 0, 1, 1));
    assertTrue("region not added", added);
    TextRegionListImpl impl2 = new TextRegionListImpl();
    added = impl2.add(regions[1] = new ContextRegion(REGION_TYPE, 1, 1, 1));
    assertTrue("region not added", added);
    added = impl2.add(regions[2] = new ContextRegion(REGION_TYPE, 2, 1, 1));
    assertTrue("region not added", added);
    added = impl.addAll(0, impl2);
    assertTrue("regions not added", added);
    assertEquals("count was wrong", 3, new Accessor(impl, TextRegionListImpl.class).getInt("fRegionsCount"));
    assertEquals("object was wrong", regions[1], ((ITextRegion[]) new Accessor(impl, TextRegionListImpl.class).get("fRegions"))[0]);
    assertEquals("object was wrong", regions[2], ((ITextRegion[]) new Accessor(impl, TextRegionListImpl.class).get("fRegions"))[1]);
    assertEquals("object was wrong", regions[0], ((ITextRegion[]) new Accessor(impl, TextRegionListImpl.class).get("fRegions"))[2]);
}
Also used : TextRegionListImpl(org.eclipse.wst.sse.core.internal.text.TextRegionListImpl) ITextRegion(org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion) ContextRegion(org.eclipse.wst.sse.core.internal.parser.ContextRegion) Accessor(org.eclipse.wst.sse.core.tests.util.Accessor)

Example 10 with ContextRegion

use of org.eclipse.wst.sse.core.internal.parser.ContextRegion in project webtools.sourceediting by eclipse.

the class NodeFormatter method removeRegionSpaces.

protected void removeRegionSpaces(IDOMNode node, IStructuredDocumentRegion flatNode, ITextRegion region) {
    if ((region != null) && (region instanceof ContextRegion || region instanceof TagNameRegion) && (flatNode.getEndOffset(region) > flatNode.getTextEndOffset(region))) {
        IDOMModel structuredModel = node.getModel();
        IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
        replace(structuredDocument, flatNode.getTextEndOffset(region), flatNode.getEndOffset(region) - flatNode.getTextEndOffset(region), EMPTY_STRING);
    }
}
Also used : IDOMModel(org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel) ContextRegion(org.eclipse.wst.sse.core.internal.parser.ContextRegion) IStructuredDocument(org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument) TagNameRegion(org.eclipse.wst.xml.core.internal.parser.regions.TagNameRegion)

Aggregations

ContextRegion (org.eclipse.wst.sse.core.internal.parser.ContextRegion)22 TextRegionListImpl (org.eclipse.wst.sse.core.internal.text.TextRegionListImpl)19 Accessor (org.eclipse.wst.sse.core.tests.util.Accessor)17 ITextRegion (org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion)15 Iterator (java.util.Iterator)4 IStructuredDocument (org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument)1 TagNameRegion (org.eclipse.wst.xml.core.internal.parser.regions.TagNameRegion)1 IDOMModel (org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel)1