ko/bck2brwsr/src/test/java/org/apidesign/bck2brwsr/ko2brwsr/MinifiedIT.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Wed, 15 Apr 2015 17:21:28 +0200
changeset 1825 e678bb6beb1f
parent 1809 javaquery/demo-calculator/src/test/java/org/apidesign/bck2brwsr/demo/calc/staticcompilation/MinifiedTest.java@72a0dbfa2ae8
permissions -rw-r--r--
Never include @JavaScriptResource files in generated library wrappers
     1 /**
     2  * Back 2 Browser Bytecode Translator
     3  * Copyright (C) 2012-2015 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.ko2brwsr;
    19 
    20 import java.io.File;
    21 import java.io.InputStream;
    22 import java.net.URL;
    23 import java.util.Enumeration;
    24 import java.util.jar.JarEntry;
    25 import java.util.jar.JarFile;
    26 import org.testng.annotations.Test;
    27 import static org.testng.Assert.*;
    28 import org.testng.annotations.BeforeMethod;
    29 import org.testng.reporters.Files;
    30 
    31 public class MinifiedIT {
    32     private File file;
    33     
    34     @BeforeMethod public void findPrecompiledLibraries() throws Exception {
    35         File dir = new File(getClass().getProtectionDomain().getCodeSource().getLocation().toURI()).getParentFile();
    36         for (File f : dir.listFiles()) {
    37             if (f.getName().endsWith("-bck2brwsr.jar")) {
    38                 file = f;
    39                 return;
    40             }
    41         }
    42         fail("Cannot find precompiled libraries in " + dir);
    43     }
    44     
    45     @Test public void minifiedVersionDoesNotContainFQN() throws Exception {
    46         JarFile jf = new JarFile(file);
    47         Enumeration<JarEntry> en = jf.entries();
    48         while (en.hasMoreElements()) {
    49             JarEntry e = en.nextElement();
    50             String content;
    51             try (InputStream is = jf.getInputStream(e)) {
    52                 content = Files.readFile(is);
    53             }
    54             if (content.contains("registerResource']('org/netbeans/html/ko4j/knockout")) {
    55                 fail("@JavaScriptResource resource should be missing: "+ e.getName() + " in " + file);
    56             }
    57         }
    58     }
    59     
    60 }