aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls/data/tst_textarea.qml
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-04-22 00:18:25 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-04-26 13:31:06 +0000
commit67f3da65d7d11af025a9bdd54d08ca0bf764c3ce (patch)
tree9fc5e79e31a82d39d25f8a00835a1115b55b08a7 /tests/auto/controls/data/tst_textarea.qml
parent1780a817fce77f4875f001c2b95b41cd2cd06f2b (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.qml33
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
+ }
}