< prev index next >
test/jdk/java/util/Locale/LocaleProviders.java
Print this page
rev 59374 : [mq]: 8245241
*** 21,34 ****
--- 21,40 ----
* questions.
*/
import java.text.*;
import java.text.spi.*;
import java.util.*;
+ import java.util.logging.Level;
+ import java.util.logging.LogManager;
+ import java.util.logging.LogRecord;
+ import java.util.logging.StreamHandler;
import java.util.spi.*;
import java.util.stream.IntStream;
import sun.util.locale.provider.LocaleProviderAdapter;
+ import static java.util.logging.LogManager.*;
+
public class LocaleProviders {
private static final boolean IS_WINDOWS = System.getProperty("os.name").startsWith("Windows");
private static final boolean IS_MAC = System.getProperty("os.name").startsWith("Mac");
*** 90,99 ****
--- 96,109 ----
case "bug8232860Test":
bug8232860Test();
break;
+ case "bug8245241Test":
+ bug8245241Test(args[1]);
+ break;
+
default:
throw new RuntimeException("Test method '"+methodName+"' not found.");
}
}
*** 225,235 ****
try {
// Throws a NullPointerException if the test fails.
System.out.println(new SimpleDateFormat("z", new Locale(lang, ctry)).parse("UTC"));
} catch (ParseException pe) {
// ParseException is fine in this test, as it's not "UTC"
! }
}
static void bug8013903Test() {
if (IS_WINDOWS) {
Date sampleDate = new Date(0x10000000000L);
--- 235,245 ----
try {
// Throws a NullPointerException if the test fails.
System.out.println(new SimpleDateFormat("z", new Locale(lang, ctry)).parse("UTC"));
} catch (ParseException pe) {
// ParseException is fine in this test, as it's not "UTC"
! }
}
static void bug8013903Test() {
if (IS_WINDOWS) {
Date sampleDate = new Date(0x10000000000L);
*** 372,377 ****
--- 382,407 ----
"Default format locale is not Locale.US: " + defLoc + ", or\n" +
"OS is neither macOS/Windows, or\n" +
"provider is not HOST: " + type);
}
}
+
+ static void bug8245241Test(String expected) {
+ LogRecord[] lra = new LogRecord[1];
+ StreamHandler handler = new StreamHandler() {
+ @Override
+ public void publish(LogRecord record) {
+ lra[0] = record;
+ }
+ };
+ getLogManager().getLogger("").addHandler(handler);
+
+ DateFormat.getDateInstance(); // this will init LocaleProviderAdapter
+ handler.flush();
+
+ if (lra[0] == null ||
+ lra[0].getLevel() != Level.INFO ||
+ !lra[0].getMessage().equals(expected)) {
+ throw new RuntimeException("Expected log was not emitted. LogRecord: " + lra[0]);
+ }
+ }
}
< prev index next >