/** * 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.correctionassist.heuristics; import java.util.List; import junit.framework.TestCase; import org.eclipse.jface.text.Document; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.python.pydev.core.TestCaseUtils; import org.python.pydev.core.docutils.PySelection; /** * @author fabioz * */ public class AssistSurroundWithTest extends TestCase { public static void main(String[] args) { try { AssistSurroundWithTest builtins = new AssistSurroundWithTest(); builtins.setUp(); builtins.testSurround(); builtins.tearDown(); junit.textui.TestRunner.run(AssistSurroundWithTest.class); } catch (Exception e) { e.printStackTrace(); } } public void testSurround2() throws Exception { AssistSurroundWith assistSurroundWith = new AssistSurroundWith(); IDocument doc = new Document("" + "def m1():\n" + "\n" + "#c\n" + " a = 10\n" + "\n" + "\n"); PySelection ps = new PySelection(doc, 1, 0, 13); int offset = ps.getAbsoluteCursorOffset(); List<ICompletionProposal> props = assistSurroundWith.getProps(ps, null, null, null, null, offset); props.get(0).apply(doc); TestCaseUtils.assertContentsEqual("" + "def m1():\n" + " try:\n" + " \n" + " #c\n" + " a = 10\n" + " except${cursor}:\n" + " raise\n" + "\n" + "\n" + "", doc.get()); } public void testSurround3() throws Exception { AssistSurroundWith assistSurroundWith = new AssistSurroundWith(); IDocument doc = new Document("" + "def m1():\n" + "\n" + "#c\n" + "# a = 10\n" + "\n" + "\n"); PySelection ps = new PySelection(doc, 1, 0, 14); int offset = ps.getAbsoluteCursorOffset(); List<ICompletionProposal> props = assistSurroundWith.getProps(ps, null, null, null, null, offset); props.get(0).apply(doc); TestCaseUtils.assertContentsEqual("" + "def m1():\n" + "try:\n" + " \n" + " #c\n" + " # a = 10\n" + "except${cursor}:\n" + " raise\n" + "\n" + "\n" + "", doc.get()); } public void testSurround() throws Exception { AssistSurroundWith assistSurroundWith = new AssistSurroundWith(); int offset = 0; IDocument doc = new Document("a = 10"); PySelection ps = new PySelection(doc, 0, 0, 3); List<ICompletionProposal> props = assistSurroundWith.getProps(ps, null, null, null, null, offset); props.get(0).apply(doc); TestCaseUtils.assertContentsEqual("" + "try:\n" + " a = 10\n" + "except${cursor}:\n" + " raise" + "", doc.get()); doc = new Document("" + "def m1():\n" + "\n" + "\n" + " a = 10\n" + "\n" + "\n"); ps = new PySelection(doc, 1, 0, 11); props = assistSurroundWith.getProps(ps, null, null, null, null, offset); props.get(0).apply(doc); TestCaseUtils.assertContentsEqual("" + "def m1():\n" + " try:\n" + " \n" + " \n" + " a = 10\n" + " except${cursor}:\n" + " raise\n" + "\n" + "\n" + "", doc.get()); doc = new Document("" + "\n" + "\n" + "\n"); ps = new PySelection(doc, 1, 0, 1); props = assistSurroundWith.getProps(ps, null, null, null, null, offset); assertEquals(0, props.size()); } }