[libcalamares] Test the spot-patch for Johannesburg
- Add a note about notation, degrees-minutes
This commit is contained in:
parent
e35992cf0b
commit
5e5701363c
@ -54,6 +54,7 @@ private Q_SLOTS:
|
||||
void testTZIterator();
|
||||
void testLocationLookup_data();
|
||||
void testLocationLookup();
|
||||
void testLocationLookup2();
|
||||
};
|
||||
|
||||
LocaleTests::LocaleTests() {}
|
||||
@ -423,6 +424,37 @@ LocaleTests::testLocationLookup()
|
||||
QCOMPARE( zone->zone(), name );
|
||||
}
|
||||
|
||||
void
|
||||
LocaleTests::testLocationLookup2()
|
||||
{
|
||||
// Official
|
||||
// ZA -2615+02800 Africa/Johannesburg
|
||||
// Spot patch
|
||||
// "ZA -3230+02259 Africa/Johannesburg\n";
|
||||
|
||||
const CalamaresUtils::Locale::ZonesModel zones;
|
||||
const auto* zone = zones.find( -26.15, 28.00 );
|
||||
QCOMPARE( zone->zone(), QString( "Johannesburg" ) );
|
||||
// The TZ data sources use minutes-and-seconds notation,
|
||||
// so "2615" is 26 degrees, 15 minutes, and 15 minutes is
|
||||
// one-quarter of a degree.
|
||||
QCOMPARE( zone->latitude(), -26.25 );
|
||||
QCOMPARE( zone->longitude(), 28.00 );
|
||||
|
||||
// Elsewhere in South Africa
|
||||
const auto* altzone = zones.find( -32.0, 22.0 );
|
||||
QCOMPARE( altzone, zone ); // same pointer
|
||||
QCOMPARE( altzone->zone(), QString( "Johannesburg" ) );
|
||||
QCOMPARE( altzone->latitude(), -26.25 );
|
||||
QCOMPARE( altzone->longitude(), 28.00 );
|
||||
|
||||
altzone = zones.find( -29.0, 27.0 );
|
||||
QCOMPARE( altzone->zone(), QString( "Maseru" ) );
|
||||
// -2928, that's -29 and 28/60 of a degree, is almost half, but we don't want
|
||||
// to fall foul of variations in double-precision
|
||||
QCOMPARE( trunc( altzone->latitude() * 1000.0 ), -29466 );
|
||||
}
|
||||
|
||||
|
||||
QTEST_GUILESS_MAIN( LocaleTests )
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user