summaryrefslogtreecommitdiff
path: root/tests/qml/tst_icon_utils.qml
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2026-02-07 17:29:48 +0100
committerDawid Rycerz <dawid@rycerz.xyz>2026-02-07 17:29:48 +0100
commit2eda97537b63d68b2e9ba06500e3fb491894d10c (patch)
tree52873ad380cd97f4327765aac24659a2b00079b1 /tests/qml/tst_icon_utils.qml
feat: camper van energy monitoring widget for Plasma 6main
Pure QML KPackage widget with Rust background service for real-time Victron energy system monitoring via MQTT and D-Bus. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'tests/qml/tst_icon_utils.qml')
-rw-r--r--tests/qml/tst_icon_utils.qml91
1 files changed, 91 insertions, 0 deletions
diff --git a/tests/qml/tst_icon_utils.qml b/tests/qml/tst_icon_utils.qml
new file mode 100644
index 0000000..4b0b67b
--- /dev/null
+++ b/tests/qml/tst_icon_utils.qml
@@ -0,0 +1,91 @@
+import QtQuick 6.0
+import QtTest 1.0
+import "../../package/contents/ui" as Ui
+
+TestCase {
+ name: "IconUtils"
+
+ Ui.IconUtils { id: icons }
+
+ // getBatteryIcon — boundary and edge cases
+ function test_battery_undefined() {
+ compare(icons.getBatteryIcon(undefined), "\uf244")
+ }
+
+ function test_battery_null() {
+ compare(icons.getBatteryIcon(null), "\uf244")
+ }
+
+ function test_battery_negative() {
+ compare(icons.getBatteryIcon(-1), "\uf244")
+ }
+
+ function test_battery_zero() {
+ compare(icons.getBatteryIcon(0), "\uf244")
+ }
+
+ function test_battery_low_boundary() {
+ compare(icons.getBatteryIcon(20), "\uf244")
+ }
+
+ function test_battery_quarter() {
+ compare(icons.getBatteryIcon(21), "\uf243")
+ }
+
+ function test_battery_quarter_boundary() {
+ compare(icons.getBatteryIcon(40), "\uf243")
+ }
+
+ function test_battery_half() {
+ compare(icons.getBatteryIcon(41), "\uf242")
+ }
+
+ function test_battery_half_boundary() {
+ compare(icons.getBatteryIcon(60), "\uf242")
+ }
+
+ function test_battery_three_quarter() {
+ compare(icons.getBatteryIcon(61), "\uf241")
+ }
+
+ function test_battery_three_quarter_boundary() {
+ compare(icons.getBatteryIcon(80), "\uf241")
+ }
+
+ function test_battery_full() {
+ compare(icons.getBatteryIcon(81), "\uf240")
+ }
+
+ function test_battery_full_100() {
+ compare(icons.getBatteryIcon(100), "\uf240")
+ }
+
+ // getDirectionIcon — all states
+ function test_direction_charge() {
+ compare(icons.getDirectionIcon("charge"), "\uf185")
+ }
+
+ function test_direction_discharge() {
+ compare(icons.getDirectionIcon("discharge"), "\uf0e7")
+ }
+
+ function test_direction_idle() {
+ compare(icons.getDirectionIcon("idle"), "\uf186")
+ }
+
+ function test_direction_unknown() {
+ compare(icons.getDirectionIcon("bogus"), "")
+ }
+
+ function test_direction_empty() {
+ compare(icons.getDirectionIcon(""), "")
+ }
+
+ function test_direction_null() {
+ compare(icons.getDirectionIcon(null), "")
+ }
+
+ function test_direction_undefined() {
+ compare(icons.getDirectionIcon(undefined), "")
+ }
+}