Changeset View
Changeset View
Standalone View
Standalone View
src/tests/quick-tests/tst_RoomTimelineView.qml
- This file was added.
| /* | |||||
| * This file is part of kazv. | |||||
| * SPDX-FileCopyrightText: 2024 tusooa <tusooa@kazv.moe> | |||||
| * SPDX-License-Identifier: AGPL-3.0-or-later | |||||
| */ | |||||
| import QtQuick 2.15 | |||||
| import QtQuick.Layouts 1.15 | |||||
| import QtTest 1.0 | |||||
| import moe.kazv.mxc.kazv 0.0 as MK | |||||
| import org.kde.kirigami 2.13 as Kirigami | |||||
| import '../../contents/ui' as Kazv | |||||
| import 'test-helpers.js' as Helpers | |||||
| import 'test-helpers' as TestHelpers | |||||
| Item { | |||||
| id: item | |||||
| width: 800 | |||||
| height: 600 | |||||
| property var mockHelper: TestHelpers.MockHelper {} | |||||
| property var makeLocalEcho: (i) => ({ | |||||
| eventId: '', | |||||
| sender: '', | |||||
| type: 'm.room.message', | |||||
| stateKey: '', | |||||
| content: { | |||||
| msgtype: 'm.text', | |||||
| body: 'some body' + i, | |||||
| }, | |||||
| encrypted: false, | |||||
| isState: false, | |||||
| unsignedData: {}, | |||||
| isLocalEcho: true, | |||||
| isSending: true, | |||||
| isFailed: false, | |||||
| txnId: 'some-txn-id' + i, | |||||
| }) | |||||
| property var makeTextEvent: (i) => ({ | |||||
| eventId: '$' + i, | |||||
| sender: '@foo:tusooa.xyz', | |||||
| type: 'm.room.message', | |||||
| stateKey: '', | |||||
| content: { | |||||
| msgtype: 'm.text', | |||||
| body: 'some body', | |||||
| }, | |||||
| formattedTime: '4:06 P.M.', | |||||
| }) | |||||
| Kazv.RoomTimelineView { | |||||
| anchors.fill: parent | |||||
| id: roomTimelineView | |||||
| timeline: item.timeline | |||||
| } | |||||
| property var timeline: ListModel { | |||||
| ListElement {} | |||||
| ListElement {} | |||||
| function at(index) { | |||||
| if (index < 1) { | |||||
| return makeLocalEcho(index); | |||||
| } else { | |||||
| return makeTextEvent(index); | |||||
| } | |||||
| } | |||||
| } | |||||
| TestCase { | |||||
| id: roomTimelineViewTest | |||||
| name: 'RoomTimelineViewTest' | |||||
| when: windowShown | |||||
| function test_selected() { | |||||
| tryVerify(() => roomTimelineView.itemAtIndex(0)); | |||||
| tryVerify(() => roomTimelineView.itemAtIndex(1)); | |||||
| const localEcho = roomTimelineView.itemAtIndex(0); | |||||
| verify(!localEcho.isSelected); | |||||
| const sentMessage = roomTimelineView.itemAtIndex(1); | |||||
| verify(!sentMessage.isSelected); | |||||
| roomTimelineView.selectedEventId = '$1'; | |||||
| verify(sentMessage.isSelected); | |||||
| } | |||||
| } | |||||
| } | |||||