Revision control
Copy as Markdown
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtTest
import QtQuick.Controls
TestCase {
id: testCase
width: 400
height: 400
visible: true
when: windowShown
name: "Label"
Component {
id: label
Label { }
}
Component {
id: backgroundLabel
Label {
background: Rectangle { }
}
}
Component {
id: rectangle
Rectangle { }
}
Component {
id: signalSpy
SignalSpy { }
}
function init() {
failOnWarning(/.?/)
}
function test_creation() {
let control = createTemporaryObject(label, testCase)
verify(control)
}
function test_font_explicit_attributes_data() {
return [
{tag: "bold", value: true},
{tag: "capitalization", value: Font.Capitalize},
{tag: "family", value: "Tahoma"},
{tag: "italic", value: true},
{tag: "strikeout", value: true},
{tag: "underline", value: true},
{tag: "weight", value: Font.Black},
{tag: "wordSpacing", value: 55}
]
}
function test_font_explicit_attributes(data) {
let control = createTemporaryObject(label, testCase)
verify(control)
let child = label.createObject(control)
verify(child)
let controlSpy = signalSpy.createObject(control, {target: control, signalName: "fontChanged"})
verify(controlSpy.valid)
let childSpy = signalSpy.createObject(child, {target: child, signalName: "fontChanged"})
verify(childSpy.valid)
let defaultValue = control.font[data.tag]
child.font[data.tag] = defaultValue
compare(child.font[data.tag], defaultValue)
compare(childSpy.count, 0)
control.font[data.tag] = data.value
compare(control.font[data.tag], data.value)
compare(controlSpy.count, 1)
compare(child.font[data.tag], defaultValue)
compare(childSpy.count, 0)
}
function test_background() {
let control = createTemporaryObject(backgroundLabel, testCase, {text: "Label"})
verify(control)
compare(control.background.width, control.width)
compare(control.background.height, control.height)
control.background = rectangle.createObject(control)
compare(control.background.width, control.width)
compare(control.background.height, control.height)
// change implicit size (QTBUG-66455)
control.background.implicitWidth = 160
control.background.implicitHeight = 120
compare(control.background.width, control.width)
compare(control.background.height, control.height)
}
function test_inset() {
let control = createTemporaryObject(label, testCase, {background: rectangle.createObject(testCase)})
verify(control)
let topInsetSpy = createTemporaryObject(signalSpy, testCase, {target: control, signalName: "topInsetChanged"})
verify(topInsetSpy.valid)
let leftInsetSpy = createTemporaryObject(signalSpy, testCase, {target: control, signalName: "leftInsetChanged"})
verify(leftInsetSpy.valid)
let rightInsetSpy = createTemporaryObject(signalSpy, testCase, {target: control, signalName: "rightInsetChanged"})
verify(rightInsetSpy.valid)
let bottomInsetSpy = createTemporaryObject(signalSpy, testCase, {target: control, signalName: "bottomInsetChanged"})
verify(bottomInsetSpy.valid)
let topInsetChanges = 0
let leftInsetChanges = 0
let rightInsetChanges = 0
let bottomInsetChanges = 0
compare(control.topInset, 0)
compare(control.leftInset, 0)
compare(control.rightInset, 0)
compare(control.bottomInset, 0)
control.width = 100
control.height = 100
compare(control.background.x, 0)
compare(control.background.y, 0)
compare(control.background.width, 100)
compare(control.background.height, 100)
control.topInset = 10
compare(control.topInset, 10)
compare(control.leftInset, 0)
compare(control.rightInset, 0)
compare(control.bottomInset, 0)
compare(topInsetSpy.count, ++topInsetChanges)
compare(leftInsetSpy.count, leftInsetChanges)
compare(rightInsetSpy.count, rightInsetChanges)
compare(bottomInsetSpy.count, bottomInsetChanges)
compare(control.background.x, 0)
compare(control.background.y, 10)
compare(control.background.width, 100)
compare(control.background.height, 90)
control.leftInset = 20
compare(control.topInset, 10)
compare(control.leftInset, 20)
compare(control.rightInset, 0)
compare(control.bottomInset, 0)
compare(topInsetSpy.count, topInsetChanges)
compare(leftInsetSpy.count, ++leftInsetChanges)
compare(rightInsetSpy.count, rightInsetChanges)
compare(bottomInsetSpy.count, bottomInsetChanges)
compare(control.background.x, 20)
compare(control.background.y, 10)
compare(control.background.width, 80)
compare(control.background.height, 90)
control.rightInset = 30
compare(control.topInset, 10)
compare(control.leftInset, 20)
compare(control.rightInset, 30)
compare(control.bottomInset, 0)
compare(topInsetSpy.count, topInsetChanges)
compare(leftInsetSpy.count, leftInsetChanges)
compare(rightInsetSpy.count, ++rightInsetChanges)
compare(bottomInsetSpy.count, bottomInsetChanges)
compare(control.background.x, 20)
compare(control.background.y, 10)
compare(control.background.width, 50)
compare(control.background.height, 90)
control.bottomInset = 40
compare(control.topInset, 10)
compare(control.leftInset, 20)
compare(control.rightInset, 30)
compare(control.bottomInset, 40)
compare(topInsetSpy.count, topInsetChanges)
compare(leftInsetSpy.count, leftInsetChanges)
compare(rightInsetSpy.count, rightInsetChanges)
compare(bottomInsetSpy.count, ++bottomInsetChanges)
compare(control.background.x, 20)
compare(control.background.y, 10)
compare(control.background.width, 50)
compare(control.background.height, 50)
control.topInset = undefined
compare(control.topInset, 0)
compare(control.leftInset, 20)
compare(control.rightInset, 30)
compare(control.bottomInset, 40)
compare(topInsetSpy.count, ++topInsetChanges)
compare(leftInsetSpy.count, leftInsetChanges)
compare(rightInsetSpy.count, rightInsetChanges)
compare(bottomInsetSpy.count, bottomInsetChanges)
compare(control.background.x, 20)
compare(control.background.y, 0)
compare(control.background.width, 50)
compare(control.background.height, 60)
control.leftInset = undefined
compare(control.topInset, 0)
compare(control.leftInset, 0)
compare(control.rightInset, 30)
compare(control.bottomInset, 40)
compare(topInsetSpy.count, topInsetChanges)
compare(leftInsetSpy.count, ++leftInsetChanges)
compare(rightInsetSpy.count, rightInsetChanges)
compare(bottomInsetSpy.count, bottomInsetChanges)
compare(control.background.x, 0)
compare(control.background.y, 0)
compare(control.background.width, 70)
compare(control.background.height, 60)
control.rightInset = undefined
compare(control.topInset, 0)
compare(control.leftInset, 0)
compare(control.rightInset, 0)
compare(control.bottomInset, 40)
compare(topInsetSpy.count, topInsetChanges)
compare(leftInsetSpy.count, leftInsetChanges)
compare(rightInsetSpy.count, ++rightInsetChanges)
compare(bottomInsetSpy.count, bottomInsetChanges)
compare(control.background.x, 0)
compare(control.background.y, 0)
compare(control.background.width, 100)
compare(control.background.height, 60)
control.bottomInset = undefined
compare(control.topInset, 0)
compare(control.leftInset, 0)
compare(control.rightInset, 0)
compare(control.bottomInset, 0)
compare(topInsetSpy.count, topInsetChanges)
compare(leftInsetSpy.count, leftInsetChanges)
compare(rightInsetSpy.count, rightInsetChanges)
compare(bottomInsetSpy.count, ++bottomInsetChanges)
compare(control.background.x, 0)
compare(control.background.y, 0)
compare(control.background.width, 100)
compare(control.background.height, 100)
}
}