From c0914825d988701dce22d4e4157915b0244cb18e Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Wed, 28 Dec 2016 13:59:55 +0700 Subject: [PATCH] backend/tests: add disabled test 'fields2' Checks properties with custom accessors and backing fields. --- backend.native/tests/build.gradle | 14 +++++++++ .../tests/codegen/object/fields2.kt | 31 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 backend.native/tests/codegen/object/fields2.kt diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index a80dd5da3a1..4f8678d75fa 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -125,6 +125,20 @@ task fields(type: RunKonanTest) { task fields1(type: RunKonanTest) { source = "codegen/object/fields1.kt" } + +task fields2(type: RunKonanTest) { + disabled = true + goldValue = + "Set global = 1\n" + + "Set member = 42\n" + + "Get member = 42\n" + + "Set global = 42\n" + + "Get global = 42\n" + + "Set member = 42\n" + + source = "codegen/object/fields2.kt" +} + // This test checks object layout can't be done in // RunKonanTest paradigm //task constructor(type: UnitKonanTest) { diff --git a/backend.native/tests/codegen/object/fields2.kt b/backend.native/tests/codegen/object/fields2.kt new file mode 100644 index 00000000000..070fd6ba170 --- /dev/null +++ b/backend.native/tests/codegen/object/fields2.kt @@ -0,0 +1,31 @@ +var global: Int = 0 + get() { + println("Get global = $field") + return field + } + set(value) { + println("Set global = $value") + field = value + } + +class Test { + var member: Int = 0 + get() { + println("Get member = $field") + return field + } + set(value) { + println("Set member = $value") + field = value + } +} + +fun main(args:Array) { + global = 1 + + val test = Test() + test.member = 42 + + global = test.member + test.member = global +} \ No newline at end of file