diff options
author | Vlad Dumitrescu <[email protected]> | 2011-11-13 14:58:06 +0100 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2011-11-24 10:22:57 +0100 |
commit | e01d6f39b940d917ae445d8428b154de87888000 (patch) | |
tree | 1dc7feb83b8ec1c8df0600f4565b6018d6aaccb9 /lib/jinterface | |
parent | a30445c2a40ebc0e449c7b7605fdc202c48e00d8 (diff) | |
download | otp-e01d6f39b940d917ae445d8428b154de87888000.tar.gz otp-e01d6f39b940d917ae445d8428b154de87888000.tar.bz2 otp-e01d6f39b940d917ae445d8428b154de87888000.zip |
add test for Java string bug
Diffstat (limited to 'lib/jinterface')
-rw-r--r-- | lib/jinterface/test/nc_SUITE.erl | 7 | ||||
-rw-r--r-- | lib/jinterface/test/nc_SUITE_data/echo_server.java | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/jinterface/test/nc_SUITE.erl b/lib/jinterface/test/nc_SUITE.erl index da54f5bf51..9c88400c2a 100644 --- a/lib/jinterface/test/nc_SUITE.erl +++ b/lib/jinterface/test/nc_SUITE.erl @@ -296,7 +296,8 @@ lists_roundtrip_2(Config) when is_list(Config) -> {[z,23|24],tail3}, {[z|25],tail3}, {"abc123",sub3atom}, - {"abc",sub3atom} + {"abc",sub3atom}, + {"abcdefg",codepointBug} ], Trans = fun ([_|T], tail) -> @@ -308,7 +309,9 @@ lists_roundtrip_2(Config) when is_list(Config) -> (L, tail3) when is_list(L) -> null; ([_,_,_|L], sub3atom) -> - list_to_atom(L) + list_to_atom(L); + (L, codepointBug) -> + L end, OutTrans = fun ({L,Twist}) -> diff --git a/lib/jinterface/test/nc_SUITE_data/echo_server.java b/lib/jinterface/test/nc_SUITE_data/echo_server.java index 0550e4beb1..5ecb5b72a7 100644 --- a/lib/jinterface/test/nc_SUITE_data/echo_server.java +++ b/lib/jinterface/test/nc_SUITE_data/echo_server.java @@ -202,6 +202,12 @@ public class echo_server { final OtpErlangAtom o = new OtpErlangAtom(s.stringValue() .substring(3)); return o; + } else if (atomValue.equals("codepointBug") + && i instanceof OtpErlangString) { + final OtpErlangString s = (OtpErlangString) i; + final String ss = s.stringValue().substring(3, 6); + final int[] cps = OtpErlangString.stringToCodePoints(ss); + return s; } else if (atomValue.equals("utf8")) { if (i instanceof OtpErlangString) { final OtpErlangString s = (OtpErlangString) i; |