rhino1.7.7.testsrc.org.mozilla.javascript.tests.GeneratedClassNameTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rhino Show documentation
Show all versions of rhino Show documentation
Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically
embedded into Java applications to provide scripting to end users.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.javascript.tests;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.ContextAction;
import org.mozilla.javascript.ContextFactory;
import org.mozilla.javascript.Script;
import junit.framework.TestCase;
/**
* Takes care that the class name of the generated class "looks like"
* the provided script name.
* See https://bugzilla.mozilla.org/show_bug.cgi?id=460283
* @author Marc Guillemot
*/
public class GeneratedClassNameTest extends TestCase
{
public void testGeneratedClassName() throws Exception {
doTest("myScript_js", "myScript.js");
doTest("foo", "foo");
doTest("c", "");
doTest("_1", "1");
doTest("_", "_");
doTest("unnamed_script", null);
doTest("some_dir_some_foo_js", "some/dir/some/foo.js");
doTest("some_dir_some_foo_js", "some\\dir\\some\\foo.js");
doTest("_12_foo_34_js", "12 foo 34.js");
}
private void doTest(final String expectedName, final String scriptName)
throws Exception
{
final Script script = (Script) ContextFactory.getGlobal().call(
new ContextAction() {
public Object run(final Context context) {
return context.compileString("var f = 1", scriptName, 1, null);
}
});
// remove serial number
String name = script.getClass().getSimpleName();
assertEquals(expectedName, name.substring(0, name.lastIndexOf('_')));
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy