Skip to main content
summaryrefslogtreecommitdiffstats
blob: 844a0f4b40c003ae593812dc29cadc78e5e48efc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
/*******************************************************************************
 * 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";
}

Back to the top