mirror of
https://github.com/wallabag/ios-app.git
synced 2026-05-19 15:10:34 +00:00
0c182f2eb1
* Fix reading time display affected by 12/24-hour system setting (#451) Reading time was incorrectly displayed as time-of-day (e.g., "12:45:00 AM" on 12-hour format devices) instead of as a duration. This occurred because DateFormatter was being used to format what should be a duration value, causing it to apply system time format preferences. Replaced DateFormatter with simple duration calculation that formats as HH:MM:SS regardless of device settings. Added comprehensive unit tests covering basic durations, hour boundaries, fractional minutes, and edge cases. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Add GitHub Action to run SharedLib tests --------- Co-authored-by: Claude <noreply@anthropic.com>
36 lines
1.2 KiB
Swift
36 lines
1.2 KiB
Swift
import XCTest
|
|
|
|
class DoubleTests: XCTestCase {
|
|
func testReadingTime() {
|
|
// Basic minute tests
|
|
XCTAssertEqual("00:01:00", 1.0.readingTime)
|
|
XCTAssertEqual("00:02:00", 2.0.readingTime)
|
|
XCTAssertEqual("00:05:00", 5.0.readingTime)
|
|
XCTAssertEqual("00:10:00", 10.0.readingTime)
|
|
XCTAssertEqual("00:30:00", 30.0.readingTime)
|
|
XCTAssertEqual("00:45:00", 45.0.readingTime)
|
|
|
|
// Hour boundary tests
|
|
XCTAssertEqual("01:00:00", 60.0.readingTime)
|
|
XCTAssertEqual("01:01:00", 61.0.readingTime)
|
|
XCTAssertEqual("01:30:00", 90.0.readingTime)
|
|
|
|
// Multiple hours
|
|
XCTAssertEqual("02:00:00", 120.0.readingTime)
|
|
XCTAssertEqual("02:15:00", 135.0.readingTime)
|
|
XCTAssertEqual("03:45:00", 225.0.readingTime)
|
|
|
|
// Fractional minutes (should truncate seconds properly)
|
|
XCTAssertEqual("00:01:30", 1.5.readingTime)
|
|
XCTAssertEqual("00:02:15", 2.25.readingTime)
|
|
XCTAssertEqual("00:05:45", 5.75.readingTime)
|
|
|
|
// Edge cases
|
|
XCTAssertEqual("00:00:00", 0.0.readingTime)
|
|
|
|
// Long reading times
|
|
XCTAssertEqual("10:00:00", 600.0.readingTime)
|
|
XCTAssertEqual("24:00:00", 1440.0.readingTime)
|
|
}
|
|
}
|