diff -r d382dacfd73f -r 3d1612be40bc rt/vm/src/test/java/org/apidesign/vm4brwsr/ByteCodeToJavaScriptTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/ByteCodeToJavaScriptTest.java Tue Feb 26 16:54:16 2013 +0100 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/ByteCodeToJavaScriptTest.java Thu Nov 07 09:41:45 2013 +0100 @@ -52,4 +52,15 @@ assertTrue(returnType[0] != 'V', "Returns string"); assertEquals(ret, "toJavaScript__Ljava_lang_String_2_3B"); } + + @Test public void mangleJsCallbackToAType() throws Exception { + String res = ByteCodeToJavaScript.mangleJsCallbacks( + "org.apidesign.bck2brwsr.vmtest.impl.HtmlAnnotations", + "onError", "Ljava/lang/Object;", false + ); + assertEquals(res, + "org_1apidesign_1bck2brwsr_1vmtest_1impl_1HtmlAnnotations$onError$Ljava_1lang_1Object_12__Ljava_lang_Object_2Lorg_apidesign_bck2brwsr_vmtest_impl_HtmlAnnotations_2Ljava_lang_Object_2", + "Pretty long method name" + ); + } }