slint/sixtyfps_compiler/tests/syntax/lookup/enum.60
2021-07-02 15:55:54 +02:00

35 lines
1.3 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 */
TestCase := Text {
// allow unqualified enum when we can infer the type from the property assigned to
horizontal-alignment: right;
callback change_alignment();
change_alignment => {
// allow qualified enum lookup
self.horizontal_alignment = TextHorizontalAlignment.left;
//typo
self.horizontal_alignment =
TextHorizontalAlignment.lefti;
// ^error{'lefti' is not a member of the enum TextHorizontalAlignment}
}
vertical_alignment: TextVerticalAlignment.top.right;
// ^error{Cannot access the field 'right' of enum TextVerticalAlignment}
Text {
horizontal-alignment: right.foo;
// ^error{Cannot access the field 'foo' of enum TextHorizontalAlignment}
vertical_alignment: TextVerticalAlignment;
// ^error{Cannot take reference to an enum}
}
}