1#![allow(deprecated)]slint::slint!{#[include_path=r#"/input/slint/tests/driver/driverlib/../../cases/bindings"#]
2// Copyright © SixtyFPS GmbH <info@slint.dev>
3// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.1 OR LicenseRef-Slint-commercial
4
5OtherComp := Rectangle {
6 property <string> t <=> text.text;
7 property <string> get_text <=> text.text;
8 text := Text {
9 text: "to be overridden";
10 }
11 property <int> some_value: 42;
12 property <int> some_value_alias <=> some_value;
13}
14
15TestCase := Rectangle {
16
17 property <string> text1: "Hello";
18 property <string> text2: "Blah";
19 property <string> ti1_text: ti1.text;
20 property <string> ti2_text: ti2.text;
21 property <string> text_item_text: text_item.text;
22 property <string> othercomp_t: "real value";
23 property <string> othercomp_get_text: other_comp.get_text;
24 property <int> othercomp_some_value;
25 property <int> othercomp_some_value_alias <=> other_comp.some_value_alias;
26 property <int> othercomp_some_value_alias2;
27
28 ti1 := TextInput {
29 text <=> text1;
30 }
31
32 ti2 := TextInput {
33 text <=> text_item.text;
34 }
35
36 text_item := Text {
37 text: text2;
38 }
39
40 Text {
41 text <=> text1;
42 }
43
44 other_comp := OtherComp {
45 t <=> root.othercomp_t;
46 some_value <=> othercomp_some_value;
47 some_value_alias <=> othercomp_some_value_alias2;
48 }
49
50 callback set_ti1(string);
51 set_ti1(a) => { ti1.text = a; }
52 callback set_ti2(string);
53 set_ti2(a) => { ti2.text = a; }
54}
55
56
57/*
58
59```rust
60let instance = TestCase::new().unwrap();
61assert_eq!(instance.get_text1(), slint::SharedString::from("Hello"));
62assert_eq!(instance.get_text2(), slint::SharedString::from("Blah"));
63assert_eq!(instance.get_ti1_text(), slint::SharedString::from("Hello"));
64assert_eq!(instance.get_ti2_text(), slint::SharedString::from("Blah"));
65assert_eq!(instance.get_text_item_text(), slint::SharedString::from("Blah"));
66assert_eq!(instance.get_othercomp_t(), instance.get_othercomp_get_text());
67assert_eq!(instance.get_othercomp_t(), slint::SharedString::from("real value"));
68assert_eq!(instance.get_othercomp_get_text(), slint::SharedString::from("real value"));
69
70instance.set_text1(slint::SharedString::from("Text1New"));
71instance.set_text2(slint::SharedString::from("Text2New"));
72assert_eq!(instance.get_text1(), slint::SharedString::from("Text1New"));
73assert_eq!(instance.get_text2(), slint::SharedString::from("Text2New"));
74assert_eq!(instance.get_ti1_text(), slint::SharedString::from("Text1New"));
75assert_eq!(instance.get_ti2_text(), slint::SharedString::from("Text2New"));
76assert_eq!(instance.get_text_item_text(), slint::SharedString::from("Text2New"));
77
78instance.invoke_set_ti1(slint::SharedString::from("Hallo"));
79instance.invoke_set_ti2(slint::SharedString::from("Bonjour"));
80assert_eq!(instance.get_text1(), slint::SharedString::from("Hallo"));
81assert_eq!(instance.get_text2(), slint::SharedString::from("Text2New"));
82assert_eq!(instance.get_ti1_text(), slint::SharedString::from("Hallo"));
83assert_eq!(instance.get_ti2_text(), slint::SharedString::from("Bonjour"));
84assert_eq!(instance.get_text_item_text(), slint::SharedString::from("Bonjour"));
85
86assert_eq!(instance.get_othercomp_some_value(), 0);
87assert_eq!(instance.get_othercomp_some_value_alias(), 0);
88assert_eq!(instance.get_othercomp_some_value_alias2(), 0);
89instance.set_othercomp_some_value(88);
90assert_eq!(instance.get_othercomp_some_value(), 88);
91assert_eq!(instance.get_othercomp_some_value_alias(), 88);
92assert_eq!(instance.get_othercomp_some_value_alias2(), 88);
93instance.set_othercomp_some_value_alias(81);
94assert_eq!(instance.get_othercomp_some_value(), 81);
95assert_eq!(instance.get_othercomp_some_value_alias(), 81);
96assert_eq!(instance.get_othercomp_some_value_alias2(), 81);
97instance.set_othercomp_some_value_alias2(1);
98assert_eq!(instance.get_othercomp_some_value(), 1);
99assert_eq!(instance.get_othercomp_some_value_alias(), 1);
100assert_eq!(instance.get_othercomp_some_value_alias2(), 1);
101
102```
103
104
105
106```cpp
107auto handle = TestCase::create();
108const TestCase &instance = *handle;
109assert_eq(instance.get_text1(), slint::SharedString("Hello"));
110assert_eq(instance.get_text2(), slint::SharedString("Blah"));
111assert_eq(instance.get_ti1_text(), slint::SharedString("Hello"));
112assert_eq(instance.get_ti2_text(), slint::SharedString("Blah"));
113assert_eq(instance.get_text_item_text(), slint::SharedString("Blah"));
114assert_eq(instance.get_othercomp_t(), instance.get_othercomp_get_text());
115assert_eq(instance.get_othercomp_t(), slint::SharedString("real value"));
116assert_eq(instance.get_othercomp_get_text(), slint::SharedString("real value"));
117
118
119instance.set_text1(slint::SharedString("Text1New"));
120instance.set_text2(slint::SharedString("Text2New"));
121assert_eq(instance.get_text1(), slint::SharedString("Text1New"));
122assert_eq(instance.get_text2(), slint::SharedString("Text2New"));
123assert_eq(instance.get_ti1_text(), slint::SharedString("Text1New"));
124assert_eq(instance.get_ti2_text(), slint::SharedString("Text2New"));
125assert_eq(instance.get_text_item_text(), slint::SharedString("Text2New"));
126
127instance.invoke_set_ti1(slint::SharedString("Hallo"));
128instance.invoke_set_ti2(slint::SharedString("Bonjour"));
129assert_eq(instance.get_text1(), slint::SharedString("Hallo"));
130assert_eq(instance.get_text2(), slint::SharedString("Text2New"));
131assert_eq(instance.get_ti1_text(), slint::SharedString("Hallo"));
132assert_eq(instance.get_ti2_text(), slint::SharedString("Bonjour"));
133assert_eq(instance.get_text_item_text(), slint::SharedString("Bonjour"));
134
135assert_eq(instance.get_othercomp_some_value(), 0);
136assert_eq(instance.get_othercomp_some_value_alias(), 0);
137assert_eq(instance.get_othercomp_some_value_alias2(), 0);
138instance.set_othercomp_some_value(88);
139assert_eq(instance.get_othercomp_some_value(), 88);
140assert_eq(instance.get_othercomp_some_value_alias(), 88);
141assert_eq(instance.get_othercomp_some_value_alias2(), 88);
142instance.set_othercomp_some_value_alias(81);
143assert_eq(instance.get_othercomp_some_value(), 81);
144assert_eq(instance.get_othercomp_some_value_alias(), 81);
145assert_eq(instance.get_othercomp_some_value_alias2(), 81);
146instance.set_othercomp_some_value_alias2(1);
147assert_eq(instance.get_othercomp_some_value(), 1);
148assert_eq(instance.get_othercomp_some_value_alias(), 1);
149assert_eq(instance.get_othercomp_some_value_alias2(), 1);
150```
151
152
153```js
154let instance = new slint.TestCase({});
155assert.equal(instance.text1, "Hello");
156assert.equal(instance.text2, "Blah");
157assert.equal(instance.ti1_text, "Hello");
158assert.equal(instance.ti2_text, "Blah");
159assert.equal(instance.text_item_text, "Blah");
160assert.equal(instance.othercomp_t, instance.othercomp_get_text);
161assert.equal(instance.othercomp_t, "real value");
162assert.equal(instance.othercomp_get_text, "real value");
163
164instance.text1 = "Text1New";
165instance.text2 = "Text2New";
166assert.equal(instance.text1, "Text1New");
167assert.equal(instance.text2, "Text2New");
168assert.equal(instance.ti1_text, "Text1New");
169assert.equal(instance.ti2_text, "Text2New");
170assert.equal(instance.text_item_text, "Text2New");
171
172instance.set_ti1("Hallo");
173instance.set_ti2("Bonjour");
174assert.equal(instance.text1, "Hallo");
175assert.equal(instance.text2, "Text2New");
176assert.equal(instance.ti1_text, "Hallo");
177assert.equal(instance.ti2_text, "Bonjour");
178assert.equal(instance.text_item_text, "Bonjour");
179
180assert.equal(instance.othercomp_some_value, 0);
181assert.equal(instance.othercomp_some_value_alias, 0);
182assert.equal(instance.othercomp_some_value_alias2, 0);
183instance.othercomp_some_value = 88;
184assert.equal(instance.othercomp_some_value, 88);
185assert.equal(instance.othercomp_some_value_alias, 88);
186assert.equal(instance.othercomp_some_value_alias2, 88);
187instance.othercomp_some_value_alias = 81;
188assert.equal(instance.othercomp_some_value, 81);
189assert.equal(instance.othercomp_some_value_alias, 81);
190assert.equal(instance.othercomp_some_value_alias2, 81);
191instance.othercomp_some_value_alias2 = 1;
192assert.equal(instance.othercomp_some_value, 1);
193assert.equal(instance.othercomp_some_value_alias, 1);
194assert.equal(instance.othercomp_some_value_alias2, 1);
195```
196
197*/
198}
199
200#[test] fn t_0() -> std::result::Result<(), std::boxed::Box<dyn std::error::Error>> {
201 use i_slint_backend_testing as slint_testing;
202 slint_testing::init();
203 let instance = TestCase::new().unwrap();
204 assert_eq!(instance.get_text1(), slint::SharedString::from("Hello"));
205 assert_eq!(instance.get_text2(), slint::SharedString::from("Blah"));
206 assert_eq!(instance.get_ti1_text(), slint::SharedString::from("Hello"));
207 assert_eq!(instance.get_ti2_text(), slint::SharedString::from("Blah"));
208 assert_eq!(instance.get_text_item_text(), slint::SharedString::from("Blah"));
209 assert_eq!(instance.get_othercomp_t(), instance.get_othercomp_get_text());
210 assert_eq!(instance.get_othercomp_t(), slint::SharedString::from("real value"));
211 assert_eq!(instance.get_othercomp_get_text(), slint::SharedString::from("real value"));
212
213 instance.set_text1(slint::SharedString::from("Text1New"));
214 instance.set_text2(slint::SharedString::from("Text2New"));
215 assert_eq!(instance.get_text1(), slint::SharedString::from("Text1New"));
216 assert_eq!(instance.get_text2(), slint::SharedString::from("Text2New"));
217 assert_eq!(instance.get_ti1_text(), slint::SharedString::from("Text1New"));
218 assert_eq!(instance.get_ti2_text(), slint::SharedString::from("Text2New"));
219 assert_eq!(instance.get_text_item_text(), slint::SharedString::from("Text2New"));
220
221 instance.invoke_set_ti1(slint::SharedString::from("Hallo"));
222 instance.invoke_set_ti2(slint::SharedString::from("Bonjour"));
223 assert_eq!(instance.get_text1(), slint::SharedString::from("Hallo"));
224 assert_eq!(instance.get_text2(), slint::SharedString::from("Text2New"));
225 assert_eq!(instance.get_ti1_text(), slint::SharedString::from("Hallo"));
226 assert_eq!(instance.get_ti2_text(), slint::SharedString::from("Bonjour"));
227 assert_eq!(instance.get_text_item_text(), slint::SharedString::from("Bonjour"));
228
229 assert_eq!(instance.get_othercomp_some_value(), 0);
230 assert_eq!(instance.get_othercomp_some_value_alias(), 0);
231 assert_eq!(instance.get_othercomp_some_value_alias2(), 0);
232 instance.set_othercomp_some_value(88);
233 assert_eq!(instance.get_othercomp_some_value(), 88);
234 assert_eq!(instance.get_othercomp_some_value_alias(), 88);
235 assert_eq!(instance.get_othercomp_some_value_alias2(), 88);
236 instance.set_othercomp_some_value_alias(81);
237 assert_eq!(instance.get_othercomp_some_value(), 81);
238 assert_eq!(instance.get_othercomp_some_value_alias(), 81);
239 assert_eq!(instance.get_othercomp_some_value_alias2(), 81);
240 instance.set_othercomp_some_value_alias2(1);
241 assert_eq!(instance.get_othercomp_some_value(), 1);
242 assert_eq!(instance.get_othercomp_some_value_alias(), 1);
243 assert_eq!(instance.get_othercomp_some_value_alias2(), 1);
244
245 Ok(())
246}