Adding a default return value to eventGetTypeInt.
http://gwt-code-reviews.appspot.com/222801

Review by: rice@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7737 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/DOM.java b/user/src/com/google/gwt/user/client/DOM.java
index 7cc2660..a1ff3c4 100644
--- a/user/src/com/google/gwt/user/client/DOM.java
+++ b/user/src/com/google/gwt/user/client/DOM.java
@@ -585,7 +585,7 @@
    * Gets the enumerated type of this event (as defined in {@link Event}).
    * 
    * @param evt the event to be tested
-   * @return the event's enumerated type
+   * @return the event's enumerated type, or -1 if not defined
    */
   public static int eventGetType(Event evt) {
     return impl.eventGetTypeInt(evt);
diff --git a/user/src/com/google/gwt/user/client/Event.java b/user/src/com/google/gwt/user/client/Event.java
index 5228aa6..dedf387 100644
--- a/user/src/com/google/gwt/user/client/Event.java
+++ b/user/src/com/google/gwt/user/client/Event.java
@@ -485,7 +485,7 @@
    * Gets the enumerated type of this event given a valid event type name.
    * 
    * @param typeName the typeName to be tested
-   * @return the event's enumerated type
+   * @return the event's enumerated type, or -1 if not defined
    */
   public static int getTypeInt(String typeName) {
     return DOM.impl.eventGetTypeInt(typeName);
diff --git a/user/src/com/google/gwt/user/client/impl/DOMImpl.java b/user/src/com/google/gwt/user/client/impl/DOMImpl.java
index cf641bc..3f89763 100644
--- a/user/src/com/google/gwt/user/client/impl/DOMImpl.java
+++ b/user/src/com/google/gwt/user/client/impl/DOMImpl.java
@@ -84,6 +84,7 @@
     case "DOMMouseScroll": return 0x20000;
     case "contextmenu": return 0x40000;
     case "paste": return 0x80000;
+    default: return -1;
     }
   }-*/; 
   
diff --git a/user/test/com/google/gwt/user/client/EventTest.java b/user/test/com/google/gwt/user/client/EventTest.java
index 70e4902..a4c3545 100644
--- a/user/test/com/google/gwt/user/client/EventTest.java
+++ b/user/test/com/google/gwt/user/client/EventTest.java
@@ -381,6 +381,24 @@
     assertTrue(Event.fireNativePreviewEvent(null));
   }
 
+  public void testGetTypeInt() {
+    assertEquals(Event.ONBLUR, Event.getTypeInt("blur"));
+    assertEquals(Event.ONCHANGE, Event.getTypeInt("change"));
+    assertEquals(Event.ONCLICK, Event.getTypeInt("click"));
+    assertEquals(Event.ONERROR, Event.getTypeInt("error"));
+    assertEquals(Event.ONFOCUS, Event.getTypeInt("focus"));
+    assertEquals(Event.ONKEYDOWN, Event.getTypeInt("keydown"));
+    assertEquals(Event.ONKEYPRESS, Event.getTypeInt("keypress"));
+    assertEquals(Event.ONKEYUP, Event.getTypeInt("keyup"));
+    assertEquals(Event.ONLOAD, Event.getTypeInt("load"));
+    assertEquals(Event.ONMOUSEDOWN, Event.getTypeInt("mousedown"));
+    assertEquals(Event.ONMOUSEMOVE, Event.getTypeInt("mousemove"));
+    assertEquals(Event.ONMOUSEOUT, Event.getTypeInt("mouseout"));
+    assertEquals(Event.ONMOUSEOVER, Event.getTypeInt("mouseover"));
+    assertEquals(Event.ONMOUSEUP, Event.getTypeInt("mouseup"));
+    assertEquals(-1, Event.getTypeInt("undefined"));
+  }
+
   /**
    * Test that legacy EventPreview and NativePreviewHandlers can both cancel the
    * event.