void testCharCatDigits() {
    assert(charCat('0') == DIGIT);
    assert(charCat('1') == DIGIT);
    assert(charCat('2') == DIGIT);
    assert(charCat('3') == DIGIT);
    assert(charCat('4') == DIGIT);
    assert(charCat('5') == DIGIT);
    assert(charCat('6') == DIGIT);
    assert(charCat('7') == DIGIT);
    assert(charCat('8') == DIGIT);
    assert(charCat('9') == DIGIT);
}
Beispiel #2
0
bool Parser::lexNCName(String& name)
{
    int startPos = m_nextPos;
    if (m_nextPos >= m_data.length())
        return false;

    if (charCat(m_data[m_nextPos]) != NameStart)
        return false;

    // Keep going until we get a character that's not good for names.
    for (; m_nextPos < m_data.length(); ++m_nextPos)
        if (charCat(m_data[m_nextPos]) == NotPartOfName)
            break;

    name = m_data.substring(startPos, m_nextPos - startPos);
    return true;
}
void testCharCatLetters() {
    assert(charCat('A') == LETTER);
    assert(charCat('Z') == LETTER);
    assert(charCat('a') == LETTER);
    assert(charCat('z') == LETTER);
}
void testCharCatWhitespace() {
    assert(charCat(' ') == WHITESPACE);
    assert(charCat('\n') == WHITESPACE);
    assert(charCat('\t') == WHITESPACE);
}
void testCharCatPunctuation() {
    assert(charCat('.') == PUNCT);
    assert(charCat('!') == PUNCT);
    assert(charCat('?') == PUNCT);
}