diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-04-22 00:18:25 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-04-26 13:31:06 +0000 |
commit | 67f3da65d7d11af025a9bdd54d08ca0bf764c3ce (patch) | |
tree | 9fc5e79e31a82d39d25f8a00835a1115b55b08a7 /tests/auto/controls/data/tst_textarea.qml | |
parent | 1780a817fce77f4875f001c2b95b41cd2cd06f2b (diff) |
Allow attaching TextArea to a Flickable
It is not always possible to let TextArea grow infinitely, but in
some cases it should be scrollable on its own. Even though it is not
a built-in feature of TextArea like in Qt Quick Controls 1, this change
makes it straight-forward to attach TextArea to a Flickable. This makes
TextArea behave like a standalone scrollable editor.
Change-Id: I8181e8ebe0edbcdfef2c30c9e102db7cbe4ff705
Task-number: QTBUG-51677
Task-number: QTBUG-52169
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'tests/auto/controls/data/tst_textarea.qml')
-rw-r--r-- | tests/auto/controls/data/tst_textarea.qml | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_textarea.qml b/tests/auto/controls/data/tst_textarea.qml index 4e49c8fc..f09304b0 100644 --- a/tests/auto/controls/data/tst_textarea.qml +++ b/tests/auto/controls/data/tst_textarea.qml @@ -56,6 +56,15 @@ TestCase { } Component { + id: flickable + Flickable { + width: 200 + height: 200 + TextArea.flickable: TextArea { } + } + } + + Component { id: signalSpy SignalSpy { } } @@ -137,4 +146,28 @@ TestCase { control.destroy() } + + function test_flickable() { + var control = flickable.createObject(testCase, {text:"line0"}) + verify(control) + + var textArea = control.TextArea.flickable + verify(textArea) + + for (var i = 1; i <= 100; ++i) + textArea.text += "line\n" + i + + verify(textArea.contentWidth > 0) + verify(textArea.contentHeight > 200) + + compare(control.contentWidth, textArea.contentWidth + textArea.leftPadding + textArea.rightPadding) + compare(control.contentHeight, textArea.contentHeight + textArea.topPadding + textArea.bottomPadding) + + control.destroy() + } + + function test_warning() { + ignoreWarning(Qt.resolvedUrl("tst_textarea.qml") + ":45:1: QML TestCase: TextArea must be attached to a Flickable") + testCase.TextArea.flickable = null + } } |