blob: 6ac7ea37cbfb48e31cfaacc09570a46eda5e5c2a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.text.tests.link;
import junit.framework.TestCase;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.link.LinkedModeModel;
import org.eclipse.jface.text.link.LinkedPosition;
import org.eclipse.jface.text.link.LinkedPositionGroup;
public class LinkedPositionGroupTest extends TestCase {
public void testIsEmpty() {
LinkedPositionGroup group= new LinkedPositionGroup();
assertTrue(group.isEmpty());
}
public void testIsNotEmtpy() throws BadLocationException {
LinkedPositionGroup group= new LinkedPositionGroup();
group.addPosition(new LinkedPosition(new Document(), 0, 0));
assertFalse(group.isEmpty());
}
public void testGetPositions() throws BadLocationException {
LinkedPositionGroup group= new LinkedPositionGroup();
group.addPosition(new LinkedPosition(new Document(), 0, 0));
group.addPosition(new LinkedPosition(new Document(), 0, 0));
assertEquals(2, group.getPositions().length);
}
public void testAddPosition() throws BadLocationException {
LinkedPositionGroup group= new LinkedPositionGroup();
LinkedPosition p= new LinkedPosition(new Document(), 0, 0);
group.addPosition(p);
assertSame(p, group.getPositions()[0]);
}
public void testAddIllegalState() throws BadLocationException {
LinkedPositionGroup group= new LinkedPositionGroup();
LinkedModeModel env= new LinkedModeModel();
env.addGroup(group);
LinkedPosition p= new LinkedPosition(new Document(), 0, 0);
try {
group.addPosition(p);
} catch (IllegalStateException e) {
return;
}
assertFalse(true);
}
public void testAddBadLocation() throws BadLocationException {
LinkedPositionGroup group= new LinkedPositionGroup();
IDocument doc= new Document(GARTEN);
group.addPosition(new LinkedPosition(doc, 1, 9));
try {
group.addPosition(new LinkedPosition(doc, 3, 9));
} catch (BadLocationException e) {
return;
}
assertFalse(true);
}
public void testAddEqualContent() {
LinkedPositionGroup group= new LinkedPositionGroup();
IDocument doc= new Document(GARTEN);
try {
group.addPosition(new LinkedPosition(doc, 1, 9));
group.addPosition(new LinkedPosition(doc, 68, 9));
} catch (BadLocationException e) {
assertFalse(true);
}
}
public void testAddNotEqualContent() {
LinkedPositionGroup group= new LinkedPositionGroup();
IDocument doc= new Document(GARTEN);
try {
group.addPosition(new LinkedPosition(doc, 1, 9));
group.addPosition(new LinkedPosition(doc, 68, 10));
} catch (BadLocationException e) {
return;
}
assertFalse(true);
}
private static final String GARTEN=
" MARGARETE:\n" +
" Versprich mir, Heinrich!\n" +
" \n" +
" FAUST:\n" +
" Was ich kann!\n" +
" \n" +
" MARGARETE:\n" +
" Nun sag, wie hast du\'s mit der Religion?\n" +
" Du bist ein herzlich guter Mann,\n" +
" Allein ich glaub, du haeltst nicht viel davon.\n" +
" \n" +
" FAUST:\n" +
" Lass das, mein Kind! Du fuehlst, ich bin dir gut;\n" +
" Fuer meine Lieben liess\' ich Leib und Blut,\n" +
" Will niemand sein Gefuehl und seine Kirche rauben.\n" +
" \n" +
" MARGARETE:\n" +
" Das ist nicht recht, man muss dran glauben.\n" +
" \n" +
" FAUST:\n" +
" Muss man?\n" +
" \n" +
" MARGARETE:\n" +
" Ach! wenn ich etwas auf dich konnte! Du ehrst auch nicht die heil\'gen Sakramente.\n" +
" \n" +
" FAUST:\n" +
" Ich ehre sie.\n" +
" \n" +
" MARGARETE:\n" +
" Doch ohne Verlangen. Zur Messe, zur Beichte bist du lange nicht gegangen.\n" +
" Glaubst du an Gott?\n" +
" \n" +
" FAUST:\n" +
" Mein Liebchen, wer darf sagen: Ich glaub an Gott?\n" +
" Magst Priester oder Weise fragen,\n" +
" Und ihre Antwort scheint nur Spott\n" +
" Ueber den Frager zu sein.\n" +
" \n" +
" MARGARETE:\n" +
" So glaubst du nicht?\n" +
" \n" +
" FAUST:\n" +
" Misshoer mich nicht, du holdes Angesicht!\n" +
" Wer darf ihn nennen?\n" +
" Und wer bekennen:\n" +
" \"Ich glaub ihn!\"?\n" +
" Wer empfinden,\n" +
" Und sich unterwinden\n" +
" Zu sagen: \"Ich glaub ihn nicht!\"?\n" +
" Der Allumfasser,\n" +
" Der Allerhalter,\n" +
" Fasst und erhaelt er nicht\n" +
" Dich, mich, sich selbst?\n" +
" Woelbt sich der Himmel nicht da droben?\n" +
" Liegt die Erde nicht hier unten fest?\n" +
" Und steigen freundlich blickend\n" +
" Ewige Sterne nicht herauf?\n" +
" Schau ich nicht Aug in Auge dir,\n" +
" Und draengt nicht alles\n" +
" Nach Haupt und Herzen dir,\n" +
" Und webt in ewigem Geheimnis\n" +
" Unsichtbar sichtbar neben dir?\n" +
" Erfuell davon dein Herz, so gross es ist,\n" +
" Und wenn du ganz in dem Gefuehle selig bist,\n" +
" Nenn es dann, wie du willst,\n" +
" Nenn\'s Glueck! Herz! Liebe! Gott\n" +
" Ich habe keinen Namen\n" +
" Dafuer! Gefuehl ist alles;\n" +
" Name ist Schall und Rauch,\n" +
" Umnebelnd Himmelsglut.\n";
}