ide/editor/src/test/java/org/apidesign/bck2brwsr/ide/editor/DejsniReaderTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Wed, 13 Feb 2013 12:08:00 +0100
branchide
changeset 717 58ce0cd13d26
child 718 b93760cedf02
permissions -rw-r--r--
Igor's dejsni files and tests. Modified to compile.
     1 /**
     2  * Back 2 Browser Bytecode Translator
     3  * Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
     4  *
     5  * This program is free software: you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation, version 2 of the License.
     8  *
     9  * This program is distributed in the hope that it will be useful,
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12  * GNU General Public License for more details.
    13  *
    14  * You should have received a copy of the GNU General Public License
    15  * along with this program. Look for COPYING file in the top folder.
    16  * If not, see http://opensource.org/licenses/GPL-2.0.
    17  */
    18 package org.apidesign.bck2brwsr.ide.editor;
    19 
    20 import org.apidesign.bck2brwsr.core.JavaScriptBody;
    21 import org.netbeans.modules.java.hints.test.api.HintTest;
    22 import org.openide.filesystems.FileUtil;
    23 import org.testng.annotations.Test;
    24 
    25 public class DejsniReaderTest {
    26 
    27     @Test
    28     public void test1() throws Exception {
    29         String s = "class Test {\n" +
    30                 "    /** javadoc */\n" +
    31                 "    public native void test() /*-{\n" +
    32                 "        // body\n" +
    33                 "    }-*/;\n" +
    34                 "}\n";
    35 
    36         String expected = "class Test {\n" +
    37                 "\n" +
    38                 "    /** javadoc */\n" +
    39                 "    @org.apidesign.bck2brwsr.core.JavaScriptBody(args = {  }, body = \"\\n        // body\\n  \")\n" +
    40                 "    public native void test();\n" +
    41                 "}\n";
    42         
    43           HintTest.create()
    44                 .input(s)
    45                 .classpath(FileUtil.getArchiveRoot(JavaScriptBody.class.getProtectionDomain().getCodeSource().getLocation()))
    46                 .run(JSNI2JavaScriptBody.class)
    47                 .findWarning("2:23-2:26:verifier:" + Bundle.ERR_JSNI2JavaScriptBody())
    48                 .applyFix()
    49                 .assertCompilable()
    50                 .assertOutput(expected);
    51     }
    52 
    53 
    54     @Test
    55     public void test2() throws Exception {
    56         String s = "class Test {\n" +
    57                 "    /** javadoc */\n" +
    58                 "    @SuppressWarnings(\"unused\")\n" +
    59                 "    // comment\n" +
    60                 "    public native void test() /*-{\n" +
    61                 "        // body\n" +
    62                 "    }-*/;\n" +
    63                 "}\n";
    64 
    65         String expected = "class Test {\n" +
    66                 "\n" +
    67                 "    /** javadoc */\n" +
    68                 "    @SuppressWarnings(\"unused\")\n" +
    69                 "    @org.apidesign.bck2brwsr.core.JavaScriptBody(args = {  }, body = \"\\n        // body\\n  \")\n" +
    70                 "    public native void test();\n" +
    71                 "}\n";
    72           HintTest.create()
    73                 .input(s)
    74                 .classpath(FileUtil.getArchiveRoot(JavaScriptBody.class.getProtectionDomain().getCodeSource().getLocation()))
    75                 .run(JSNI2JavaScriptBody.class)
    76                 .findWarning("2:23-2:26:verifier:" + Bundle.ERR_JSNI2JavaScriptBody())
    77                 .applyFix()
    78                 .assertCompilable()
    79                 .assertOutput(expected);
    80     }
    81 }