From 7c5d2cd8318c57c6c82172aca72962ee5983e8a3 Mon Sep 17 00:00:00 2001 From: Jan Koehnlein Date: Thu, 1 Mar 2012 14:47:28 +0100 Subject: [PATCH] [formatter] fixing tests on Windows --- .../parsetree/formatter/FormatterTest.java | 2 ++ .../FormatterTestLanguageRuntimeModule.java | 5 ++++ ...FormatterTestLineSeparatorInformation.java | 30 +++++++++++++++++++ .../formatter/XtextFormatterTest.java | 18 ++++++++++- .../util/LineFilterOutputStreamTest.java | 2 +- 5 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTest.java index 508ae0ca2..60bd94e29 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTest.java @@ -5,6 +5,7 @@ import java.io.IOException; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.formatting.ILineSeparatorInformation; import org.eclipse.xtext.formatting.INodeModelFormatter.IFormattedRegion; import org.eclipse.xtext.formatting.impl.AbstractTokenStream; import org.eclipse.xtext.junit4.AbstractXtextTests; @@ -57,6 +58,7 @@ public class FormatterTest extends AbstractXtextTests { public void setUp() throws Exception { super.setUp(); with(FormatterTestLanguageStandaloneSetup.class); + get(FormatterTestLineSeparatorInformation.class).setLineSeparator("\n"); } // test formatting based on the ParseTreeConstructor diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguageRuntimeModule.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguageRuntimeModule.java index e7689601a..5b873154c 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguageRuntimeModule.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguageRuntimeModule.java @@ -4,6 +4,8 @@ Generated with Xtext package org.eclipse.xtext.parsetree.formatter; import org.eclipse.xtext.formatting.IFormatter; +import org.eclipse.xtext.formatting.ILineSeparatorInformation; +import org.eclipse.xtext.formatting.IWhitespaceInformationProvider; /** * used to register components to be used within the IDE. @@ -21,4 +23,7 @@ public class FormatterTestLanguageRuntimeModule extends return FormatterTestValueConverters.class; } + public Class bindILineSeparatorInformation() { + return FormatterTestLineSeparatorInformation.class; + } } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java new file mode 100644 index 000000000..e503bfaa4 --- /dev/null +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2012 itemis AG (http://www.itemis.eu) 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 + *******************************************************************************/ +package org.eclipse.xtext.parsetree.formatter; + +import org.eclipse.xtext.formatting.ILineSeparatorInformation; + +import com.google.inject.Singleton; + +/** + * @author Jan Koehnlein - Initial contribution and API + */ +@Singleton +public class FormatterTestLineSeparatorInformation implements ILineSeparatorInformation { + + private String lineSeparator; + + public void setLineSeparator(String lineSeparator) { + this.lineSeparator = lineSeparator; + } + + public String getLineSeparator() { + return lineSeparator; + } + +} diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/XtextFormatterTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/XtextFormatterTest.java index ce8875414..7f8894a48 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/XtextFormatterTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/XtextFormatterTest.java @@ -7,6 +7,8 @@ import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.XtextStandaloneSetup; +import org.eclipse.xtext.conversion.impl.DeclarativeValueConverterServiceTest; +import org.eclipse.xtext.formatting.ILineSeparatorInformation; import org.eclipse.xtext.junit4.AbstractXtextTests; import org.eclipse.xtext.parsetree.reconstr.Serializer; import org.eclipse.xtext.resource.SaveOptions; @@ -14,12 +16,26 @@ import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.resource.XtextResourceSet; import org.junit.Test; +import com.google.inject.Guice; +import com.google.inject.Injector; + public class XtextFormatterTest extends AbstractXtextTests { @Override public void setUp() throws Exception { super.setUp(); - with(XtextStandaloneSetup.class); + with(new XtextStandaloneSetup() { + @Override + public Injector createInjector() { + return Guice.createInjector(new org.eclipse.xtext.XtextRuntimeModule() { + @SuppressWarnings("unused") + public Class bindILineSeparatorInformation() { + return FormatterTestLineSeparatorInformation.class; + } + }); + } + }); + get(FormatterTestLineSeparatorInformation.class).setLineSeparator("\n"); } @Test public void testXtextFormatting() throws IOException { diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/LineFilterOutputStreamTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/LineFilterOutputStreamTest.java index 2dc55bcf9..ea53086f4 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/LineFilterOutputStreamTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/LineFilterOutputStreamTest.java @@ -28,7 +28,7 @@ public class LineFilterOutputStreamTest extends Assert { @Before public void setUp() throws Exception { result = new ByteArrayOutputStream(500); - filterStream = new LineFilterOutputStream(result, " * $Id" + "$"); + filterStream = new LineFilterOutputStream(result, " * $Id" + "$", "\n"); input = "/**\n" + " * \n" + " * \n" +