aboutsummaryrefslogtreecommitdiff
path: root/tests/test-wttrin--format-location-line.el
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-wttrin--format-location-line.el')
-rw-r--r--tests/test-wttrin--format-location-line.el35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test-wttrin--format-location-line.el b/tests/test-wttrin--format-location-line.el
new file mode 100644
index 0000000..28a9af8
--- /dev/null
+++ b/tests/test-wttrin--format-location-line.el
@@ -0,0 +1,35 @@
+;;; test-wttrin--format-location-line.el --- Tests for the buffer Location line -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2024-2026 Craig Jennings
+
+;;; Commentary:
+;; Unit tests for `wttrin--format-location-line', the "Location: ADDRESS" line
+;; shown in the weather buffer when a geolocation command supplies an address.
+
+;;; Code:
+
+(require 'ert)
+(require 'wttrin)
+
+(ert-deftest test-wttrin--format-location-line-normal-builds-line ()
+ "Normal: a non-empty address becomes a \"Location: ...\" line."
+ (let ((line (wttrin--format-location-line "Westerly, Rhode Island, USA")))
+ (should (stringp line))
+ (should (string-prefix-p "Location: Westerly, Rhode Island, USA" line))))
+
+(ert-deftest test-wttrin--format-location-line-normal-uses-face ()
+ "Normal: the line carries the staleness-header face."
+ (let ((line (wttrin--format-location-line "Westerly, RI")))
+ (should (eq 'wttrin-staleness-header
+ (get-text-property 0 'face line)))))
+
+(ert-deftest test-wttrin--format-location-line-boundary-nil-returns-nil ()
+ "Boundary: a nil address yields no line."
+ (should (null (wttrin--format-location-line nil))))
+
+(ert-deftest test-wttrin--format-location-line-boundary-empty-returns-nil ()
+ "Boundary: an empty address yields no line."
+ (should (null (wttrin--format-location-line ""))))
+
+(provide 'test-wttrin--format-location-line)
+;;; test-wttrin--format-location-line.el ends here