scontinue use of JavaScript's Date.toGMTString with an
implementation that will always match the format specified in
java.util.Date's JavaDocs. This resolves issue 1099.
Patch by: bobv
Review by: jgw
Issue: 1099
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1202 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/super/com/google/gwt/emul/java/util/Date.java b/user/super/com/google/gwt/emul/java/util/Date.java
index 12d04fc..4342486 100644
--- a/user/super/com/google/gwt/emul/java/util/Date.java
+++ b/user/super/com/google/gwt/emul/java/util/Date.java
@@ -213,7 +213,18 @@
}-*/;
public native String toGMTString() /*-{
- return this.jsdate.toGMTString();
+ var d = this.jsdate;
+ var padTwo = @java.util.Date::padTwo(I);
+ var month =
+ @java.util.Date::monthToString(I)(this.jsdate.getUTCMonth());
+
+ return d.getUTCDate() + " " +
+ month + " " +
+ d.getUTCFullYear() + " " +
+ padTwo(d.getUTCHours()) + ":" +
+ padTwo(d.getUTCMinutes()) + ":" +
+ padTwo(d.getUTCSeconds()) +
+ " GMT";
}-*/;
public native String toLocaleString() /*-{
diff --git a/user/test/com/google/gwt/emultest/java/util/DateTest.java b/user/test/com/google/gwt/emultest/java/util/DateTest.java
index 587a791..d4753de 100644
--- a/user/test/com/google/gwt/emultest/java/util/DateTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/DateTest.java
@@ -477,16 +477,14 @@
// /////////////////////////////
Date accum1 = create(PAST);
String a1 = accum1.toGMTString();
- a1 = a1.replaceAll("UTC", "GMT");
- assertTrue(a1.indexOf("5 Jan 1880 00:00:00") != -1);
+ assertEquals("5 Jan 1880 00:00:00 GMT", a1);
// /////////////////////////////
// Future
// /////////////////////////////
Date accum2 = create(FUTURE);
String a2 = accum2.toGMTString();
- a2 = a2.replaceAll("UTC", "GMT");
- assertTrue(a2.indexOf("30 Dec 2010 03:04:05 GMT") != -1);
+ assertEquals("30 Dec 2010 03:04:05 GMT", a2);
}
/** Testing for public java.lang.String java.util.Date.toLocaleString()* */