/**
* Copyright (c) 2005-2012 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package org.python.pydev.editor;
import java.io.Reader;
import java.util.ArrayList;
import java.util.Iterator;
import org.eclipse.jface.text.TextPresentation;
import org.eclipse.swt.custom.StyleRange;
import org.python.pydev.editor.PyInformationPresenter.PyStyleRange;
import org.python.pydev.shared_core.string.StringUtils;
import junit.framework.TestCase;
public class PyInformationPresenterTest extends TestCase {
public void testStyleRanges() throws Exception {
PyInformationPresenter presenter = new PyInformationPresenter();
TextPresentation presentation = new TextPresentation();
String str = "@foo: <pydev_link link=\"itemPointer\">link</pydev_link> <pydev_hint_bold>bold</pydev_hint_bold>";
Reader reader = presenter.createReader(str, presentation);
String handled = StringUtils.readAll(reader);
assertEquals("@foo: link bold", handled);
Iterator<StyleRange> it = presentation.getAllStyleRangeIterator();
ArrayList<String> tagsReplaced = new ArrayList<String>();
ArrayList<String> expected = new ArrayList<String>();
expected.add("<pydev_link link=\"itemPointer\">");
expected.add("<pydev_hint_bold>");
while (it.hasNext()) {
PyStyleRange next = (PyStyleRange) it.next();
tagsReplaced.add(next.tagReplaced);
}
assertEquals(expected, tagsReplaced);
}
}