aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qmltest/text/tst_text.qml
blob: 407238b0f3d11d69965bf7c3f8f5166f225fd17b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick 2.0
import QtTest 1.1

Item {
    id: top

    Text {
        id: emptyText
    }

    Text {
        id: txtfamily
        text: "Hello world!"
        font.family: "Courier"
    }

    Text {
        id: txtcolor
        text: "Hello world!"
        color: "red"
    }

    Text {
        id: txtelide
        text: "Hello world!"
        elide: Text.ElideRight
    }

    Text {
        property string first: "Hello world!"
        property string second: "Hello\nworld!"
        property string third: "Hello\nworld\n!"

        id: txtlinecount
        text: first
        width: 120
        wrapMode: Text.WrapAnywhere
        font.pixelSize: 18
    }

    Text {
        id: txtlines
        property string styledtextvalue: "Line 1<br>Line 2<br>Line 3"
        text: "Line 1\nLine 2\nLine 3"
        textFormat: Text.PlainText
    }

    TestCase {
        name: "Text"

        function test_empty() {
            compare(emptyText.text, "")
        }

        function test_family() {
            compare(txtfamily.font.family, "Courier")
            txtfamily.font.family = "Helvetica";
            compare(txtfamily.font.family, "Helvetica")
        }

        function test_color() {
            compare(txtcolor.color, "#ff0000")
            txtcolor.color = "blue";
            compare(txtcolor.color, "#0000ff")
        }

        function test_elide() {
            compare(txtelide.elide, Text.ElideRight)
            txtelide.elide = Text.ElideLeft;
            compare(txtelide.elide, Text.ElideLeft)
            txtelide.elide = Text.ElideMiddle;
            compare(txtelide.elide, Text.ElideMiddle)
        }

        function test_linecount() {
            compare(txtlinecount.lineCount, 1)
            txtlinecount.text = txtlinecount.second;
            compare(txtlinecount.lineCount, 2)
            txtlinecount.text = txtlinecount.third;
            compare(txtlinecount.lineCount, 3)
            console.log(txtlinecount.width)
            txtlinecount.text = txtlinecount.first;
            compare(txtlinecount.lineCount, 1)
            txtlinecount.width = 44;
            compare(txtlinecount.lineCount, 3)
        }
        function test_linecounts() {
            compare(txtlines.lineCount, 3)
            txtlines.text = txtlines.styledtextvalue;
            compare(txtlines.text, "Line 1<br>Line 2<br>Line 3")
            tryCompare(txtlines, 'lineCount', 1)
            txtlines.textFormat = Text.StyledText;
            tryCompare(txtlines, 'lineCount', 3)
            txtlines.textFormat = Text.RichText;
            tryCompare(txtlines, 'lineCount', 3)
        }

    }
}