// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial

export 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}
    }

}
