slint/tests/cases/comparison_expr.60
Olivier Goffart ab7ae9f3e2 Some refactoring of the rust generated code
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
2020-07-13 16:37:54 +02:00

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);
```
*/