mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 06:11:16 +00:00

Always use a Pin<Rc> for the component. (This is required to support repeater within repeater as well anyway) Do not use the context within the binding. We can get along by simply capturing a weak pointer to the component
148 lines
4.1 KiB
Text
148 lines
4.1 KiB
Text
TestCase := Rectangle {
|
|
property<int32> hello: 44;
|
|
|
|
property<bool> t1: hello == 44 || hello == 45;
|
|
property<bool> t2: hello > 44 && hello < 46;
|
|
property<bool> t3: hello >= 44 && hello <= 46;
|
|
property<bool> t4: t1 || (t2 && t3);
|
|
property<bool> t5: t2 || hello + 3 != 4*10+4;
|
|
property<bool> t6: !t1 || 1 == 0;
|
|
|
|
property<string> my_str: "hello";
|
|
property<bool> t7: my_str == "hello";
|
|
}
|
|
/*
|
|
```cpp
|
|
TestCase instance;
|
|
assert(instance.get_t1() == true);
|
|
assert(instance.get_t2() == false);
|
|
assert(instance.get_t3() == true);
|
|
assert(instance.get_t4() == true);
|
|
assert(instance.get_t5() == true);
|
|
assert(instance.get_t6() == false);
|
|
assert(instance.get_t7() == true);
|
|
|
|
instance.set_hello(45);
|
|
assert(instance.get_t1() == true);
|
|
assert(instance.get_t2() == true);
|
|
assert(instance.get_t3() == true);
|
|
assert(instance.get_t4() == true);
|
|
assert(instance.get_t5() == true);
|
|
assert(instance.get_t6() == false);
|
|
|
|
instance.set_hello(46);
|
|
assert(instance.get_t1() == false);
|
|
assert(instance.get_t2() == false);
|
|
assert(instance.get_t3() == true);
|
|
assert(instance.get_t4() == false);
|
|
assert(instance.get_t5() == true);
|
|
assert(instance.get_t6() == true);
|
|
|
|
instance.set_hello(47);
|
|
assert(instance.get_t1() == false);
|
|
assert(instance.get_t2() == false);
|
|
assert(instance.get_t3() == false);
|
|
assert(instance.get_t4() == false);
|
|
assert(instance.get_t5() == true);
|
|
assert(instance.get_t6() == true);
|
|
|
|
instance.set_hello(41);
|
|
assert(instance.get_t1() == false);
|
|
assert(instance.get_t2() == false);
|
|
assert(instance.get_t3() == false);
|
|
assert(instance.get_t4() == false);
|
|
assert(instance.get_t5() == false);
|
|
assert(instance.get_t6() == true);
|
|
|
|
```
|
|
|
|
|
|
```rust
|
|
let instance = TestCase::new();
|
|
let instance = instance.as_ref();
|
|
|
|
assert_eq!(instance.get_t1(), true);
|
|
assert_eq!(instance.get_t2(), false);
|
|
assert_eq!(instance.get_t3(), true);
|
|
assert_eq!(instance.get_t4(), true);
|
|
assert_eq!(instance.get_t5(), true);
|
|
assert_eq!(instance.get_t6(), false);
|
|
assert_eq!(instance.get_t7(), true);
|
|
|
|
instance.set_hello(45);
|
|
assert_eq!(instance.get_t1(), true);
|
|
assert_eq!(instance.get_t2(), true);
|
|
assert_eq!(instance.get_t3(), true);
|
|
assert_eq!(instance.get_t4(), true);
|
|
assert_eq!(instance.get_t5(), true);
|
|
assert_eq!(instance.get_t6(), false);
|
|
|
|
instance.set_hello(46);
|
|
assert_eq!(instance.get_t1(), false);
|
|
assert_eq!(instance.get_t2(), false);
|
|
assert_eq!(instance.get_t3(), true);
|
|
assert_eq!(instance.get_t4(), false);
|
|
assert_eq!(instance.get_t5(), true);
|
|
assert_eq!(instance.get_t6(), true);
|
|
|
|
instance.set_hello(47);
|
|
assert_eq!(instance.get_t1(), false);
|
|
assert_eq!(instance.get_t2(), false);
|
|
assert_eq!(instance.get_t3(), false);
|
|
assert_eq!(instance.get_t4(), false);
|
|
assert_eq!(instance.get_t5(), true);
|
|
assert_eq!(instance.get_t6(), true);
|
|
|
|
instance.set_hello(41);
|
|
assert_eq!(instance.get_t1(), false);
|
|
assert_eq!(instance.get_t2(), false);
|
|
assert_eq!(instance.get_t3(), false);
|
|
assert_eq!(instance.get_t4(), false);
|
|
assert_eq!(instance.get_t5(), false);
|
|
assert_eq!(instance.get_t6(), true);
|
|
|
|
```
|
|
|
|
```js
|
|
var instance = new sixtyfps.TestCase({});
|
|
assert.equal(instance.t1, true);
|
|
assert.equal(instance.t2, false);
|
|
assert.equal(instance.t3, true);
|
|
assert.equal(instance.t4, true);
|
|
assert.equal(instance.t5, true);
|
|
assert.equal(instance.t6, false);
|
|
assert.equal(instance.t7, true);
|
|
|
|
instance.hello = 45;
|
|
assert.equal(instance.t1, true);
|
|
assert.equal(instance.t2, true);
|
|
assert.equal(instance.t3, true);
|
|
assert.equal(instance.t4, true);
|
|
assert.equal(instance.t5, true);
|
|
assert.equal(instance.t6, false);
|
|
|
|
instance.hello = 46;
|
|
assert.equal(instance.t1, false);
|
|
assert.equal(instance.t2, false);
|
|
assert.equal(instance.t3, true);
|
|
assert.equal(instance.t4, false);
|
|
assert.equal(instance.t5, true);
|
|
assert.equal(instance.t6, true);
|
|
|
|
instance.hello = 47;
|
|
assert.equal(instance.t1, false);
|
|
assert.equal(instance.t2, false);
|
|
assert.equal(instance.t3, false);
|
|
assert.equal(instance.t4, false);
|
|
assert.equal(instance.t5, true);
|
|
assert.equal(instance.t6, true);
|
|
|
|
instance.hello = 41;
|
|
assert.equal(instance.t1, false);
|
|
assert.equal(instance.t2, false);
|
|
assert.equal(instance.t3, false);
|
|
assert.equal(instance.t4, false);
|
|
assert.equal(instance.t5, false);
|
|
assert.equal(instance.t6, true);
|
|
```
|
|
*/
|