+= for strings

This commit is contained in:
Dmitry Jemerov
2011-04-28 16:27:13 +02:00
parent bca39bf21f
commit da6b4a9595
5 changed files with 75 additions and 17 deletions
@@ -259,6 +259,13 @@ public class NamespaceGenTest extends CodegenTestCase {
assertEquals("jet Lang", main.invoke(null, "jet", " ", "Lang"));
}
public void testStringPlusEq() throws Exception {
loadText("fun foo(s: String) { val result = s; result += s; return result; } ");
System.out.println(generateToText());
final Method main = generateFunction();
assertEquals("JarJar", main.invoke(null, "Jar"));
}
public void testStringCompare() throws Exception {
loadText("fun foo(s1: String, s2: String) = s1 < s2");
System.out.println(generateToText());
@@ -81,6 +81,15 @@ public class PropertyGenTest extends CodegenTestCase {
assertEquals(value, "IntelliJ IDEA");
}
public void testFieldSetterPlusEq() throws Exception {
loadFile("fieldSetterPlusEq.jet");
System.out.println(generateToText());
final Method method = generateFunction("append");
method.invoke(null, "IntelliJ ");
String value = (String) method.invoke(null, "IDEA");
assertEquals(value, "IntelliJ IDEA");
}
public void testAccessorsWithoutBody() throws Exception {
loadText("class AccessorsWithoutBody() { public var foo: Int = 349\n get\n private set\n fun setter() { foo = 610; } } ");
final Class aClass = loadImplementationClass(generateClassesInFile(), "AccessorsWithoutBody");