Package com.puppetlabs.geppetto.pp.dsl.tests

Source Code of com.puppetlabs.geppetto.pp.dsl.tests.TestWsAndComments

/**
* Copyright (c) 2013 Puppet Labs, Inc. and other contributors, as listed below.
* 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:
*   Puppet Labs
*/
package com.puppetlabs.geppetto.pp.dsl.tests;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;

import org.eclipse.xtext.resource.XtextResource;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
* Tests WS and comments.
* (Warnings from unknown variables ignored - they appear only on stdout which is nulled).
*/
public class TestWsAndComments extends AbstractPuppetTests {
  private PrintStream savedOut;

  // PLACE formatting samples here
  public static final String sample_definitionDocumentation1 = "# 1. sl cmnt1\n" //
      + "# 2. sl cmnt2\n" + //
      "define myDefinition {\n" + //
      "}";

  @Override
  @Before
  public void setUp() throws Exception {
    super.setUp();
    savedOut = System.out;
    OutputStream sink = new OutputStream() {

      @Override
      public void write(int arg0) throws IOException {
        // do nothing
      }

    };
    System.setOut(new PrintStream(sink));
  }

  @Override
  @After
  public void tearDown() throws Exception {
    super.tearDown();
    System.setOut(savedOut);
  }

  @Test
  public void test_Serialize_LeadingComments() throws Exception {
    String code = "# 1. sl cmnt\n" + "# 2. sl cmnt\n" + "$a\n";
    XtextResource r = getResourceFromString(code);
    String s = serialize(r.getContents().get(0));
    assertEquals("serialization should produce same result", code, s);

  }

  @Test
  public void test_Serialize_SmokeTest() throws Exception {
    String code = "$a\n";
    XtextResource r = getResourceFromString(code);
    String s = serializeFormatted(r.getContents().get(0));
    assertEquals("serialization should produce same result", code, s);

    s = serialize(r.getContents().get(0));
    assertEquals("formatted serialization should produce same result", code, s);
  }

  @Test
  public void test_Serialize_SmokeTest2() throws Exception {
    String code = "$a + $b\n";
    XtextResource r = getResourceFromString(code);
    String s = serialize(r.getContents().get(0));
    assertEquals("serialization should produce same result", code, s);
  }

  @Test
  public void test_Serialize_SmokeTest2Formatted() throws Exception {
    String code = "$a + $b\n";
    XtextResource r = getResourceFromString(code);
    String s = serializeFormatted(r.getContents().get(0));
    assertEquals("serialization with formatting should produce same result", code, s);
  }

  @Test
  public void test_Serialize_SmokeTest2Formatted2() throws Exception {
    String code = "$a+$b";
    XtextResource r = getResourceFromString(code);
    String s = serializeFormatted(r.getContents().get(0));
    assertEquals("serialization with formatting should add space around +", "$a + $b\n", s);
  }

  @Test
  public void test_Serialize_SmokeTest2WithComment() throws Exception {
    String code = "$x = $a/* add a */+/* with b */$b\n";
    XtextResource r = getResourceFromString(code);
    String s = serializeFormatted(r.getContents().get(0));
    assertEquals(
      "serialization with formatting should add space around +", "$x = $a /* add a */ + /* with b */ $b\n", s);
  }

  @Test
  public void test_Serialize_SmokeTest3() throws Exception {
    String code = "$a + 'apa'\n";
    XtextResource r = getResourceFromString(code);
    String s = serialize(r.getContents().get(0));
    assertEquals("serialization should produce same result", code, s);
  }

  @Test
  public void test_SerializeCommentMix() throws Exception {
    String code = "/* 1 */ class /* 2 */ a /* 3 */ { /* 4 */\n" + //
        "  /* 5 */ $b /* 6 */ = /* 7 */ 10 /* 8 */\n" + //
        "/* 9 */ } /* 10 */\n" + //
        "/* 11 */\n";
    XtextResource r = getResourceFromString(code);
    String s = serialize(r.getContents().get(0));
    assertEquals("serialization should produce same result", code, s);
  }
}
TOP

Related Classes of com.puppetlabs.geppetto.pp.dsl.tests.TestWsAndComments

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.