tzdata/ZoneTest.java
Patsy Griffin d6e5ca0e11 Update to tzdata-2024b
- System V names are now obsolescent.
    - The main data format now uses %z.
    - The code now conforms to RFC 8536 for early timestamps.
    - Support POSIX.1-2024, which removes asctime_r and ctime_r.
    - Assume POSIX.2-1992 or later for shell scripts.
    - SUPPORT_C89 now defaults to 1.
    - Include two upstream patches for month names as in April vs Apr.

    Harden against links to removed zones.

    Resolves: #2310315
2024-12-20 08:49:34 -05:00

42 lines
1.6 KiB
Java

/* Smoke test to ensure that tzdb.data can be loaded.
Copyright (c) 2024 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
import java.time.zone.ZoneRulesProvider;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Set;
import java.util.TimeZone;
public class ZoneTest {
public static void main(String[] args) {
// This is what failed in OpenJDK's build.tools.cldrconverter.
new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles"),
Locale.US).get(Calendar.YEAR);
// In some OpenJDK versions, this exercises a different parser.
Set<String> available = ZoneRulesProvider.getAvailableZoneIds();
boolean errors = false;
if (available.contains("ROC"))
System.out.println("error: ROC zone is present");
if (!available.contains("America/New_York"))
System.out.println("error: America/New_York is missing");
if (errors)
System.exit(1);
}
}