X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8899b155a1e4fa5f4b90e1f3bebe28088ea46bc9..fbfe2d4e7caa118e1b609151bc72e7e5c7ac0f32:/tests/regex/regextest.cpp?ds=sidebyside diff --git a/tests/regex/regextest.cpp b/tests/regex/regextest.cpp index c146caf672..042741ed3e 100644 --- a/tests/regex/regextest.cpp +++ b/tests/regex/regextest.cpp @@ -158,7 +158,7 @@ int wxWcscmp(const wchar_t* s1, const wchar_t* s2) if (nLen1 != nLen2) return nLen1 - nLen2; - return wxTmemcmp(s1, s2, nLen1); + return memcmp(s1, s2, nLen1*sizeof(wchar_t)); } // convert a string from UTF8 to the internal encoding @@ -178,8 +178,9 @@ wxString RegExTestCase::Conv(const char *str) // void RegExTestCase::parseFlags(const wxString& flags) { - for (const wxChar *p = flags; *p; p++) { - switch (*p) { + for ( wxString::const_iterator p = flags.begin(); p != flags.end(); ++p ) + { + switch ( (*p).GetValue() ) { // noop case '-': break; @@ -256,34 +257,43 @@ void RegExTestCase::doTest(int flavor) return; // check wxRegEx has correctly counted the number of subexpressions - failIf(m_expected.size() != re.GetMatchCount(), - wxString::Format(_T("GetMatchCount() == %d, expected %d"), - re.GetMatchCount(), m_expected.size())); - - wxString result; - size_t start, len; + wxString msg; + msg << _T("GetMatchCount() == ") << re.GetMatchCount() + << _T(", expected ") << m_expected.size(); + failIf(m_expected.size() != re.GetMatchCount(), msg); for (size_t i = 0; i < m_expected.size(); i++) { - failIf(!re.GetMatch(&start, &len, i), wxString::Format( - _T("wxRegEx::GetMatch failed for match %d"), i)); + wxString result; + size_t start, len; + + msg.clear(); + msg << _T("wxRegEx::GetMatch failed for match ") << i; + failIf(!re.GetMatch(&start, &len, i), msg); // m - check the match returns the strings given if (m_mode == 'm') + { if (start < INT_MAX) result = m_data.substr(start, len); else result = _T(""); + } // i - check the match returns the offsets given else if (m_mode == 'i') - if (start < INT_MAX) - result = wxString::Format(_T("%d %d"), start, start + len - 1); - else + { + if (start > INT_MAX) result = _T("-1 -1"); + else if (start + len > 0) + result << start << _T(" ") << start + len - 1; + else + result << start << _T(" -1"); + } - failIf(result != m_expected[i], wxString::Format( - _T("match(%d) == %s, expected == %s"), i, - quote(result).c_str(), quote(m_expected[i]).c_str())); + msg.clear(); + msg << _T("match(") << i << _T(") == ") << quote(result) + << _T(", expected == ") << quote(m_expected[i]); + failIf(result != m_expected[i], msg); } } @@ -318,7 +328,7 @@ wxString RegExTestCase::quote(const wxString& arg) wxString str; for (size_t i = 0; i < arg.length(); i++) { - wxUChar ch = arg[i]; + wxChar ch = (wxChar)arg[i]; const wxChar *p = wxStrchr(needEscape, ch); if (p) @@ -326,7 +336,7 @@ wxString RegExTestCase::quote(const wxString& arg) else if (wxIscntrl(ch)) str += wxString::Format(_T("\\%03o"), ch); else - str += ch; + str += (wxChar)ch; } return str.length() == arg.length() && str.find(' ') == wxString::npos ?