Package com.dmarcotte.handlebars.editor.actions

Source Code of com.dmarcotte.handlebars.editor.actions.HbCommentActionTest

package com.dmarcotte.handlebars.editor.actions;

import com.dmarcotte.handlebars.HbLanguage;
import com.dmarcotte.handlebars.config.HbConfig;
import com.intellij.lang.Language;

public class HbCommentActionTest extends HbActionHandlerTest {

  private Language myPrevCommenterLang;

  @Override
  protected void setUp()
    throws Exception {
    super.setUp();

    myPrevCommenterLang = HbConfig.getCommenterLanguage();

    // ensure that no commenter is selected to make sure that we test defaulting to HTML comments
    HbConfig.setCommenterLanguage(null);
  }

  public void testInsertLineComment1() {
    doLineCommentTest(

      "{{#foo}}<caret>",

      "<!--{{#foo}}<caret>-->"
    );
  }

  public void testInsertLineComment2() {
    doLineCommentTest(

      "{{#foo}}\n" +
      "<caret>    {{bar}}\n" +
      "{{/foo}}",

      "{{#foo}}\n" +
      "    <!--{{bar}}-->\n" +
      "<caret>{{/foo}}"
    );
  }

  public void testInsertBlockComment1() {
    doBlockCommentTest(

      "{{#foo}}<caret>",

      "{{#foo}}<!--<caret>-->"
    );
  }

  public void testInsertBlockComment2() {
    doBlockCommentTest(

      "{{#foo}}\n" +
      "    <caret>{{bar}}\n" +
      "{{/foo}",

      "{{#foo}}\n" +
      "    <!--<caret>-->{{bar}}\n" +
      "{{/foo}"
    );
  }

  public void testInsertBlockCommentWithSelection() {
    doBlockCommentTest(

      "<selection><caret>{{#foo}}" +
      "    {{bar}}</selection>" +
      "{{/foo}",

      "<selection><!--<caret>{{#foo}}" +
      "    {{bar}}--></selection>" +
      "{{/foo}"
    );
  }

  public void _testInsertNonDefaultLineComment() {
    Language prevCommenterLanguage = HbConfig.getCommenterLanguage();
    // TODO HbConfig.setCommenterLanguage(JavaLanguage.INSTANCE);

    doLineCommentTest(

      "{{#foo}}<caret>",

      "//{{#foo}}<caret>"
    );

    HbConfig.setCommenterLanguage(prevCommenterLanguage);
  }

  public void _testInsertNonDefaultBlockComment() {
    Language prevCommenterLanguage = HbConfig.getCommenterLanguage();
    // TODO HbConfig.setCommenterLanguage(JavaLanguage.INSTANCE);

    doBlockCommentTest(

      "{{#foo}}<caret>",

      "{{#foo}}/*<caret>*/"
    );

    HbConfig.setCommenterLanguage(prevCommenterLanguage);
  }

  public void testNativeInsertLineComment1() {
    Language prevCommenterLang = HbConfig.getCommenterLanguage();
    HbConfig.setCommenterLanguage(HbLanguage.INSTANCE);

    doLineCommentTest(

      "{{#foo}}<caret>",

      "{{!--{{#foo}}<caret>--}}"
    );

    HbConfig.setCommenterLanguage(prevCommenterLang);
  }

  public void testNativeInsertLineComment2() {
    Language prevCommenterLang = HbConfig.getCommenterLanguage();
    HbConfig.setCommenterLanguage(HbLanguage.INSTANCE);

    doLineCommentTest(

      "{{#foo}}\n" +
      "<caret>    {{bar}}\n" +
      "{{/foo}}",

      "{{#foo}}\n" +
      "    {{!--{{bar}}--}}\n" +
      "<caret>{{/foo}}"
    );

    HbConfig.setCommenterLanguage(prevCommenterLang);
  }

  public void testNativeInsertBlockComment1() {
    Language prevCommenterLang = HbConfig.getCommenterLanguage();
    HbConfig.setCommenterLanguage(HbLanguage.INSTANCE);

    doBlockCommentTest(

      "{{#foo}}<caret>",

      "{{#foo}}{{!--<caret>--}}"
    );

    HbConfig.setCommenterLanguage(prevCommenterLang);
  }

  public void testNativeInsertBlockComment2() {
    Language prevCommenterLang = HbConfig.getCommenterLanguage();
    HbConfig.setCommenterLanguage(HbLanguage.INSTANCE);

    doBlockCommentTest(

      "{{#foo}}\n" +
      "    <caret>{{bar}}\n" +
      "{{/foo}",

      "{{#foo}}\n" +
      "    {{!--<caret>--}}{{bar}}\n" +
      "{{/foo}"
    );

    HbConfig.setCommenterLanguage(prevCommenterLang);
  }

  public void testNativeInsertBlockCommentWithSelection() {
    Language prevCommenterLang = HbConfig.getCommenterLanguage();
    HbConfig.setCommenterLanguage(HbLanguage.INSTANCE);

    doBlockCommentTest(

      "<selection><caret>{{#foo}}" +
      "    {{bar}}</selection>" +
      "{{/foo}",

      "<selection>{{!--<caret>{{#foo}}" +
      "    {{bar}}--}}</selection>" +
      "{{/foo}"
    );

    HbConfig.setCommenterLanguage(prevCommenterLang);
  }

  @Override
  protected void tearDown()
    throws Exception {
    HbConfig.setCommenterLanguage(myPrevCommenterLang);
    super.tearDown();
  }
}
TOP

Related Classes of com.dmarcotte.handlebars.editor.actions.HbCommentActionTest

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.