X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.test/src/net/sourceforge/phpdt/internal/formatter/CodeFormatterTest.java b/net.sourceforge.phpeclipse.test/src/net/sourceforge/phpdt/internal/formatter/CodeFormatterTest.java new file mode 100644 index 0000000..d3befec --- /dev/null +++ b/net.sourceforge.phpeclipse.test/src/net/sourceforge/phpdt/internal/formatter/CodeFormatterTest.java @@ -0,0 +1,164 @@ +/* + * Created on 28.04.2003 + * + */ +package net.sourceforge.phpdt.internal.formatter; + +import java.util.Map; + +import junit.framework.TestCase; +import net.sourceforge.phpdt.core.JavaCore; +import net.sourceforge.phpdt.internal.corext.codemanipulation.StubUtility; +import net.sourceforge.phpdt.internal.corext.util.Strings; +import net.sourceforge.phpdt.internal.formatter.CodeFormatter; +import net.sourceforge.phpdt.internal.ui.preferences.CodeFormatterPreferencePage; +import net.sourceforge.phpeclipse.phpeditor.php.test.DummyDocument; + +import org.eclipse.jface.text.IDocument; + +/** + * Testcase for the PHP CodeFormatter + * + * @author Stefan Langer + * @version $Revision: 1.7 $ + */ +public class CodeFormatterTest extends TestCase { + private CodeFormatter fFormatter; + + private IDocument fDocument; + + private String fInitialIndentation; + + /* + * (non-Javadoc) + * + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception { + Map options = JavaCore.getOptions(); + fFormatter = new CodeFormatter(options); + fDocument = new DummyDocument(); + } + + public void testFormatter0() { + System.out.println("----- testFormatter0 -----"); + String text = ""; + fDocument.set(text); + String lineDelimiter = StubUtility.getLineDelimiterFor(fDocument); + int indent = 0; + if (fInitialIndentation != null) { + indent = Strings.computeIndent(fInitialIndentation, + CodeFormatterPreferencePage.getTabSize()); + } + String formatedString = fFormatter.format(text, indent, null, + lineDelimiter); + String testResult = ""; + junit.framework.Assert.assertEquals(formatedString, testResult); + } + + public void testFormatter1() { + System.out.println("----- testFormatter1 -----"); + String text = ""; + fDocument.set(text); + String lineDelimiter = StubUtility.getLineDelimiterFor(fDocument); + int indent = 0; + if (fInitialIndentation != null) { + indent = Strings.computeIndent(fInitialIndentation, + CodeFormatterPreferencePage.getTabSize()); + } + String formatedString = fFormatter.format(text, indent, null, + lineDelimiter); + String testResult = ""; + junit.framework.Assert.assertEquals(formatedString, testResult); + } + + public void testFormatter2() { + // bug 741752 + System.out.println("----- testFormatter2 -----"); + String text = ""; + fDocument.set(text); + String lineDelimiter = StubUtility.getLineDelimiterFor(fDocument); + int indent = 0; + if (fInitialIndentation != null) { + indent = Strings.computeIndent(fInitialIndentation, + CodeFormatterPreferencePage.getTabSize()); + } + String formatedString = fFormatter.format(text, indent, null, + lineDelimiter); + String testResult = ""; + junit.framework.Assert.assertEquals(formatedString, testResult); + } + + public void testFormatter3() { + System.out.println("----- testFormatter1 -----"); + String text = ""; + fDocument.set(text); + String lineDelimiter = StubUtility.getLineDelimiterFor(fDocument); + int indent = 0; + if (fInitialIndentation != null) { + indent = Strings.computeIndent(fInitialIndentation, + CodeFormatterPreferencePage.getTabSize()); + } + String formatedString = fFormatter.format(text, indent, null, + lineDelimiter); + String testResult = ""; + junit.framework.Assert.assertEquals(formatedString, testResult); + } + + public void testArrayFormatting() throws Exception { + System.out.println("-----testArrayFormatting-----"); + String text = " 'ok','snd' => 'right','3th' => 'super');\n" + + "?>"; + fDocument.set(text); + String lineDelimiter = StubUtility.getLineDelimiterFor(fDocument); + int indent = 0; + if (fInitialIndentation != null) { + indent = Strings.computeIndent(fInitialIndentation, + CodeFormatterPreferencePage.getTabSize()); + } + String formatedString = fFormatter.format(text, indent, null, + lineDelimiter); + String testResult = " 'ok'," + lineDelimiter + + "\t'snd' => 'right'," + lineDelimiter + "\t'3th' => 'super'" + + lineDelimiter + ");" + lineDelimiter + "?>"; + junit.framework.Assert.assertEquals(formatedString, testResult); + } + + public void testDoubleArrayFormatting() throws Exception { + System.out.println("-----testDoubleArrayFormatting-----"); + String text = " 'ok', 'snd' => array ('1' => '11','2' => '22'),'3th' => 'super');\n" + + "?>"; + fDocument.set(text); + String lineDelimiter = StubUtility.getLineDelimiterFor(fDocument); + int indent = 0; + if (fInitialIndentation != null) { + indent = Strings.computeIndent(fInitialIndentation, + CodeFormatterPreferencePage.getTabSize()); + } + String formatedString = fFormatter.format(text, indent, null, + lineDelimiter); + String testResult = " 'ok'," + lineDelimiter + + "\t'snd' => array (" + lineDelimiter + "\t\t'1' => '11'," + + lineDelimiter + "\t\t'2' => '22'" + lineDelimiter + "\t)," + + lineDelimiter + "\t'3th' => 'super'" + lineDelimiter + ");" + + lineDelimiter + "?>"; + junit.framework.Assert.assertEquals(formatedString, testResult); + } + +} \ No newline at end of file