1// Copyright © SixtyFPS GmbH <info@slint.dev>
2// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
3
4
5
6TestCase := Rectangle {
7 width: 100phx;
8 height: 100phx;
9
10 property <int> creation-count: 0;
11
12 property <length> test-height: preferred-height;
13
14 property <int> repeater-count: -10;
15
16 VerticalLayout {
17 for _ in repeater-count: Rectangle {
18 preferred-height: 10px;
19 init => {
20 creation-count += 1;
21 }
22 }
23 }
24
25}
26
27
28/*
29```cpp
30auto handle = TestCase::create();
31const TestCase &instance = *handle;
32
33assert_eq(instance.get_creation_count(), 0);
34assert_eq(instance.get_test_height(), 0.);
35assert_eq(instance.get_creation_count(), 0);
36instance.set_repeater_count(2);
37assert_eq(instance.get_test_height(), 20.);
38assert_eq(instance.get_creation_count(), 2);
39```
40
41
42```rust
43let instance = TestCase::new().unwrap();
44
45assert_eq!(instance.get_creation_count(), 0);
46assert_eq!(instance.get_test_height(), 0.);
47assert_eq!(instance.get_creation_count(), 0);
48instance.set_repeater_count(2);
49assert_eq!(instance.get_test_height(), 20.);
50assert_eq!(instance.get_creation_count(), 2);
51```
52
53```js
54var instance = new slint.TestCase();
55
56assert.equal(instance.creation_count, 0);
57assert.equal(instance.test_height, 0.);
58assert.equal(instance.creation_count, 0);
59instance.repeater_count = 2;
60assert.equal(instance.test_height, 20.);
61assert.equal(instance.creation_count, 2);
62```
63*/
64