slint/tests/cases/globals/global_binding_const.60
2021-07-02 15:55:54 +02:00

48 lines
1.1 KiB
Text

/* LICENSE BEGIN
This file is part of the SixtyFPS Project -- https://sixtyfps.io
Copyright (c) 2021 Olivier Goffart <olivier.goffart@sixtyfps.io>
Copyright (c) 2021 Simon Hausmann <simon.hausmann@sixtyfps.io>
SPDX-License-Identifier: GPL-3.0-only
This file is also available under commercial licensing terms.
Please contact info@sixtyfps.io for more information.
LICENSE END */
// This tests that constant property from global are properly initialized
global Glob := {
property <int> a: 3;
property <int> b: a + 3;
}
global Glob2 := {
property <int> a: other;
property <int> other: 5;
}
TestCase := Rectangle {
r := Rectangle {
property <int> value1: Glob.b;
property <int> value2: true ? Glob2.a : 88;
}
property <bool> test: r.value1 + r.value2 == 3+3 +5;
}
/*
```rust
let instance = TestCase::new();
assert!(instance.get_test());
```
```cpp
auto handle = TestCase::create();
const TestCase &instance = *handle;
assert(instance.get_test());
```
```js
let instance = new sixtyfps.TestCase({});
assert(instance.test);
```
*/