Goktug Gokdogan has submitted this change and it was merged.
Change subject: Add hasClassName method in com.google.gwt.dom.client.Element
......................................................................
Add hasClassName method in com.google.gwt.dom.client.Element
Fixes issue 7550
Change-Id: Ia09567b8c58cac02f8126c33ef169b26def3d19c
---
M user/src/com/google/gwt/dom/client/Element.java
M user/test/com/google/gwt/dom/client/ElementTest.java
2 files changed, 29 insertions(+), 9 deletions(-)
Approvals:
Colin Alworth: Looks good to me, but someone else must approve
Leeroy Jenkins: Verified
Goktug Gokdogan: Looks good to me, approved
diff --git a/user/src/com/google/gwt/dom/client/Element.java
b/user/src/com/google/gwt/dom/client/Element.java
index 7d1fd5b..f8768e4 100644
--- a/user/src/com/google/gwt/dom/client/Element.java
+++ b/user/src/com/google/gwt/dom/client/Element.java
@@ -89,10 +89,7 @@
* @see #setClassName(String)
*/
public final boolean addClassName(String className) {
- assert (className != null) : "Unexpectedly null class name";
-
- className = className.trim();
- assert (className.length() != 0) : "Unexpectedly empty class name";
+ className = trimClassName(className);
// Get the current style string.
String oldClassName = getClassName();
@@ -498,6 +495,18 @@
}
/**
+ * Checks if this element's class property contains specified class name.
+ *
+ * @param className the class name to be added
+ * @return <code>true</code> if this element has the specified class name
+ */
+ public final boolean hasClassName(String className) {
+ className = trimClassName(className);
+ int idx = indexOfName(getClassName(), className);
+ return idx != -1;
+ }
+
+ /**
* Determines whether this element has the given tag name.
*
* @param tagName the tag name, including namespace-prefix (if present)
@@ -524,10 +533,7 @@
* @see #setClassName(String)
*/
public final boolean removeClassName(String className) {
- assert (className != null) : "Unexpectedly null class name";
-
- className = className.trim();
- assert (className.length() != 0) : "Unexpectedly empty class name";
+ className = trimClassName(className);
// Get the current style string.
String oldStyle = getClassName();
@@ -581,6 +587,13 @@
return idx;
}
+ private static String trimClassName(String className) {
+ assert (className != null) : "Unexpectedly null class name";
+ className = className.trim();
+ assert !className.isEmpty() : "Unexpectedly empty class name";
+ return className;
+ }
+
/**
* Replace one class name with another.
*
diff --git a/user/test/com/google/gwt/dom/client/ElementTest.java
b/user/test/com/google/gwt/dom/client/ElementTest.java
index a1e6145..907f736 100644
--- a/user/test/com/google/gwt/dom/client/ElementTest.java
+++ b/user/test/com/google/gwt/dom/client/ElementTest.java
@@ -34,7 +34,7 @@
return "com.google.gwt.dom.DOMTest";
}
- public void testAddRemoveReplaceClassName() {
+ public void testAddRemoveReplaceHasClassName() {
DivElement div = Document.get().createDivElement();
div.setClassName("foo");
@@ -64,6 +64,13 @@
assertTrue(div.removeClassName("foo"));
assertEquals("", div.getClassName());
+
+ div.setClassName("foo bar");
+ assertTrue(div.hasClassName("bar"));
+ assertTrue(div.hasClassName("foo"));
+ div.removeClassName("foo");
+ assertFalse(div.hasClassName("foo"));
+ assertTrue(div.hasClassName("bar"));
}
public void testIndexOfName() {
--
To view, visit https://gwt-review.googlesource.com/3070
To unsubscribe, visit https://gwt-review.googlesource.com/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ia09567b8c58cac02f8126c33ef169b26def3d19c
Gerrit-PatchSet: 6
Gerrit-Project: gwt
Gerrit-Branch: master
Gerrit-Owner: Andrey Korzhevskiy <[email protected]>
Gerrit-Reviewer: Colin Alworth <[email protected]>
Gerrit-Reviewer: Daniel Kurka <[email protected]>
Gerrit-Reviewer: Goktug Gokdogan <[email protected]>
Gerrit-Reviewer: Leeroy Jenkins <[email protected]>
Gerrit-Reviewer: Stephen Haberman <[email protected]>
Gerrit-Reviewer: Thomas Broyer <[email protected]>
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors
---
You received this message because you are subscribed to the Google Groups "GWT Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.