diff --git a/mozilla/parser/htmlparser/src/nsHTMLTags.cpp b/mozilla/parser/htmlparser/src/nsHTMLTags.cpp
index b4dc7abbd4b..219a4dc68d9 100644
--- a/mozilla/parser/htmlparser/src/nsHTMLTags.cpp
+++ b/mozilla/parser/htmlparser/src/nsHTMLTags.cpp
@@ -40,6 +40,7 @@
#include "nsReadableUtils.h"
#include "nsString.h"
#include "nsStaticAtom.h"
+#include "nsUnicharUtils.h"
// C++ sucks! There's no way to do this with a macro, at least not
// that I know, if you know how to do this with a macro then please do
@@ -442,6 +443,7 @@ nsHTMLTags::TestTagTable()
{
const PRUnichar *tag;
nsHTMLTag id;
+ nsCOMPtr atom;
nsHTMLTags::AddRefTable();
// Make sure we can find everything we are supposed to
@@ -451,6 +453,16 @@ nsHTMLTags::TestTagTable()
NS_ASSERTION(id != eHTMLTag_userdefined, "can't find tag id");
const PRUnichar* check = GetStringValue(id);
NS_ASSERTION(0 == nsCRT::strcmp(check, tag), "can't map id back to tag");
+
+ nsAutoString uname(tag);
+ ToUpperCase(uname);
+ NS_ASSERTION(id == LookupTag(uname), "wrong id");
+
+ NS_ASSERTION(id == CaseSensitiveLookupTag(tag), "wrong id");
+
+ atom = do_GetAtom(tag);
+ NS_ASSERTION(id == CaseSensitiveLookupTag(atom), "wrong id");
+ NS_ASSERTION(atom == GetAtom(id), "can't map id back to atom");
}
// Make sure we don't find things that aren't there
@@ -459,6 +471,13 @@ nsHTMLTags::TestTagTable()
id = LookupTag(NS_LITERAL_STRING("zzzzz"));
NS_ASSERTION(id == eHTMLTag_userdefined, "found zzzzz");
+ atom = do_GetAtom("@");
+ id = CaseSensitiveLookupTag(atom);
+ NS_ASSERTION(id == eHTMLTag_userdefined, "found @");
+ atom = do_GetAtom("zzzzz");
+ id = CaseSensitiveLookupTag(atom);
+ NS_ASSERTION(id == eHTMLTag_userdefined, "found zzzzz");
+
tag = GetStringValue((nsHTMLTag) 0);
NS_ASSERTION(!tag, "found enum 0");
tag = GetStringValue((nsHTMLTag) -1);
@@ -466,6 +485,13 @@ nsHTMLTags::TestTagTable()
tag = GetStringValue((nsHTMLTag) (NS_HTML_TAG_MAX + 1));
NS_ASSERTION(!tag, "found past max enum");
+ atom = GetAtom((nsHTMLTag) 0);
+ NS_ASSERTION(!atom, "found enum 0");
+ atom = GetAtom((nsHTMLTag) -1);
+ NS_ASSERTION(!atom, "found enum -1");
+ atom = GetAtom((nsHTMLTag) (NS_HTML_TAG_MAX + 1));
+ NS_ASSERTION(!atom, "found past max enum");
+
ReleaseTable();
}