Back to index

lightning-sunbird  0.9+nobinonly
Functions | Variables
TestHTMLTagLookup.cpp File Reference
#include <stdio.h>
#include "plstr.h"
#include "nsHTMLTags.h"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 The Xalan testcases app.

Variables

static const char * kJunkNames []

Function Documentation

int main ( int  argc,
char **  argv 
)

The Xalan testcases app.

Definition at line 50 of file TestHTMLTagLookup.cpp.

{
  PRInt32 id;

  // First make sure we can find all of the tags that are supposed to
  // be in the table. Futz with the case to make sure any case will
  // work
  const nsHTMLTags::NameTableEntry* et = &nsHTMLTags::kNameTable[0];
  const nsHTMLTags::NameTableEntry* end = &nsHTMLTags::kNameTable[TAG_MAX];
  while (et < end) {
    char tagName[100];
    id = nsHTMLTags::LookupName(et->name);
    if (id < 0) {
      printf("bug: can't find '%s'\n", et->name);
    }
    if (et->id != id) {
      printf("bug: name='%s' et->id=%d id=%d\n", et->name, et->id, id);
    }

    // fiddle with the case to make sure we can still find it
    PL_strcpy(tagName, et->name);
    tagName[0] = tagName[0] - 32;
    id = nsHTMLTags::LookupName(tagName);
    if (id < 0) {
      printf("bug: can't find '%s'\n", tagName);
    }
    if (et->id != id) {
      printf("bug: name='%s' et->id=%d id=%d\n", et->name, et->id, id);
    }
    et++;
  }

  // Now make sure we don't find some garbage
  for (int i = 0; i < sizeof(kJunkNames) / sizeof(const char*); i++) {
    const char* tag = kJunkNames[i];
    id = nsHTMLTags::LookupName(tag);
    if (id >= 0) {
      printf("bug: found '%s'\n", tag ? tag : "(null)");
    }
  }

  return 0;
}

Variable Documentation

const char* kJunkNames[] [static]
Initial value:
 {
  nsnull,
  "",
  "123",
  "ab",
  "zzzzzz",
  "#@$&@#*@*$@$#"
}

Definition at line 41 of file TestHTMLTagLookup.cpp.