From 8a5e811c7fbc3eb660e8705cab306d317a379326 Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Sat, 26 Jan 2013 20:04:05 +0000 Subject: [PATCH] Add test for long substring. --- test/junit/org/luaj/vm2/StringTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/junit/org/luaj/vm2/StringTest.java b/test/junit/org/luaj/vm2/StringTest.java index 9463689b..300bec75 100644 --- a/test/junit/org/luaj/vm2/StringTest.java +++ b/test/junit/org/luaj/vm2/StringTest.java @@ -210,4 +210,16 @@ public class StringTest extends TestCase { assertSame(sub1, sub2); assertFalse(src.m_bytes == sub1.m_bytes); } + + public void testShortSubstringOfVeryLongStringGetsNewBacking() { + LuaString src = LuaString.valueOf( + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ); + LuaString sub1 = src.substring(10, 50); + LuaString sub2 = src.substring(10, 50); + assertEquals(sub1.m_offset, 0); + assertEquals(sub1.m_length, 40); + assertFalse(sub1 == sub2); + assertFalse(src.m_bytes == sub1.m_bytes); + } }