mirror of
https://github.com/boostorg/regex.git
synced 2025-06-25 11:51:35 +02:00
55 lines
2.7 KiB
C++
55 lines
2.7 KiB
C++
#include <boost/regex.hpp>
|
|
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
#include "test_macros.hpp"
|
|
|
|
|
|
int main()
|
|
{
|
|
// invalid because \k-- is an unterminated token
|
|
{
|
|
char const strdata[] = "\\k--00000000000000000000000000000000000000000000000000000000009223372036854775807\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
{
|
|
char const strdata[] = "\\k-00000000000000000000000000000000000000000000000000000000009223372036854775807\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
{
|
|
char const strdata[] = "\\k00000000000000000000000000000000000000000000000000000000009223372036854775807\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
{
|
|
char const strdata[] = "a(b*)c\\k{--1}d";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
{
|
|
char const strdata[] = "a(b*)c\\k-{-1}d";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
{
|
|
char const strdata[] = "\\k{--00000000000000000000000000000000000000000000000000000000009223372036854775807}\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
{
|
|
char const strdata[] = "\\k{-00000000000000000000000000000000000000000000000000000000009223372036854775807}\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
{
|
|
char const strdata[] = "\\k{00000000000000000000000000000000000000000000000000000000009223372036854775807}\xff\xff\xff\xff\xff\xff\xff\xef""99999999999999999999999999999999999]999999999999999\x90";
|
|
std::string regex_string(strdata, strdata + sizeof(strdata) - 1);
|
|
BOOST_TEST_THROWS((boost::regex(regex_string)), boost::regex_error);
|
|
}
|
|
|
|
return boost::report_errors();
|
|
}
|