2
0
mirror of https://github.com/boostorg/spirit.git synced 2026-01-19 04:42:11 +00:00

Annotate, clean up, and group extended ASCII tests

This commit is contained in:
Nikita Kniazev
2019-03-01 21:49:05 +03:00
parent ddd4619987
commit 0ab06abfc6
21 changed files with 26 additions and 197 deletions

View File

@@ -119,7 +119,7 @@ before_install:
toolset.flags clang-linux.compile OPTIONS <known-warnings>suppress :
-Wno-unused-command-line-argument # Sometimes it barks on -I and -stdlib
-Wno-nested-anon-types # Boost.Random
-Wno-uninitialized -Wno-invalid-source-encoding : unchecked ;
-Wno-uninitialized : unchecked ;
- |
# Determining the root branch

View File

@@ -3,9 +3,6 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/config/warning_disable.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/workaround.hpp>

View File

@@ -3,9 +3,6 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/config/warning_disable.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/workaround.hpp>
@@ -95,11 +92,7 @@ main()
BOOST_TEST(test(L"\t", upper[upper[space]], L'\t'));
}
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
{
{ // test extended ASCII characters
using namespace boost::spirit::iso8859_1;
BOOST_TEST(test("\xE4\xE4", lower["\xC4\xE4"]));
@@ -108,9 +101,6 @@ main()
BOOST_TEST(test("\xC4\xC4", upper["\xC4\xE4"]));
BOOST_TEST(test("\xC4\xC4", upper["\xC4\xE4"]));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
{
using namespace boost::spirit::ascii;

View File

@@ -3,9 +3,6 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/config/warning_disable.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/workaround.hpp>
@@ -25,11 +22,7 @@ main()
{
using namespace boost::spirit;
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
{
{ // test extended ASCII characters
using namespace boost::spirit::iso8859_1;
BOOST_TEST(test("\xE4", lower['\xC4']));
@@ -38,9 +31,6 @@ main()
BOOST_TEST(test("\xC4", upper['\xC4']));
BOOST_TEST(test("\xC4", upper['\xE4']));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
{
using namespace boost::spirit::ascii;

View File

@@ -3,9 +3,6 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/config/warning_disable.hpp>
#include <boost/detail/lightweight_test.hpp>
@@ -140,16 +137,10 @@ int main()
BOOST_TEST(!test("", xdigit, 'g'));
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
// test extended ASCII characters
BOOST_TEST(test("\xE9", alpha, '\xE9'));
BOOST_TEST(test("\xE9", lower, '\xE9'));
BOOST_TEST(!test("", upper, '\xE9'));
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
}
{

View File

@@ -4,9 +4,6 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/include/karma_char.hpp>
#include <boost/spirit/include/karma_string.hpp>
@@ -29,12 +26,7 @@ main()
encoding<char_encoding::iso8859_1> iso8859_1;
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("french")
#endif
{
{ // test extended ASCII characters
BOOST_TEST(test("\xE1", iso8859_1[lower['\xE1']]));
BOOST_TEST(test("\xC1", iso8859_1[upper['\xE1']]));
BOOST_TEST(test("\xE1", iso8859_1[lower[char_('\xE1')]]));
@@ -51,26 +43,13 @@ main()
BOOST_TEST(test("\xC1", iso8859_1[upper[lit('\xC1')]]));
BOOST_TEST(test("\xE1", iso8859_1[lower[char_]], '\xC1'));
BOOST_TEST(test("\xC1", iso8859_1[upper[char_]], '\xC1'));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
{
BOOST_TEST(test("\xE4\xE4", iso8859_1[lower["\xC4\xE4"]]));
BOOST_TEST(test("\xE4\xE4", iso8859_1[lower[lit("\xC4\xE4")]]));
BOOST_TEST(test("\xC4\xC4", iso8859_1[upper["\xC4\xE4"]]));
BOOST_TEST(test("\xC4\xC4", iso8859_1[upper[lit("\xC4\xE4")]]));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
return boost::report_errors();
}

View File

@@ -3,9 +3,6 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/config/warning_disable.hpp>
#include <boost/detail/lightweight_test.hpp>
@@ -108,9 +105,6 @@ int main()
BOOST_TEST(test_delimited("a 10 12.4 ", start, space));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("french")
#endif
{ // specifying the encoding
using karma::lower;
using karma::upper;
@@ -142,10 +136,6 @@ int main()
BOOST_TEST(test("\xC1\xC1", r));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
return boost::report_errors();
}

View File

@@ -6,9 +6,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#define BOOST_SPIRIT_UNICODE
#include <boost/detail/lightweight_test.hpp>
@@ -112,16 +109,10 @@ main()
BOOST_TEST(test("f", xdigit));
BOOST_TEST(!test("g", xdigit));
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
// test extended ASCII characters
BOOST_TEST(test("\xE9", alpha));
BOOST_TEST(test("\xE9", lower));
BOOST_TEST(!test("\xE9", upper));
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
}
{
@@ -201,17 +192,10 @@ main()
BOOST_TEST(test(L"f", xdigit));
BOOST_TEST(!test(L"g", xdigit));
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
// TODO: these tests are suspicious, they do not test unicode
BOOST_TEST(test("\xE9", alpha));
BOOST_TEST(test("\xE9", lower));
BOOST_TEST(!test("\xE9", upper));
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
}
{ // test attribute extraction

View File

@@ -6,9 +6,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/include/qi_char.hpp>
#include <boost/spirit/include/qi_string.hpp>
@@ -33,30 +30,16 @@ main()
encoding<char_encoding::iso8859_1> iso8859_1;
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("french")
#endif
{
{ // test extended ASCII characters
BOOST_TEST(test("\xC1", iso8859_1[no_case['\xE1']]));
BOOST_TEST(test("\xC1", iso8859_1[no_case[char_('\xE1')]]));
}
{
BOOST_TEST(test("\xC9", iso8859_1[no_case[char_("\xE5-\xEF")]]));
BOOST_TEST(!test("\xFF", iso8859_1[no_case[char_("\xE5-\xEF")]]));
}
{
BOOST_TEST(test("\xC1\xE1", iso8859_1[no_case["\xE1\xC1"]]));
BOOST_TEST(test("\xC1\xE1", iso8859_1[no_case[lit("\xE1\xC1")]]));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
return boost::report_errors();
}

View File

@@ -6,9 +6,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/include/qi_char.hpp>
#include <boost/spirit/include/qi_string.hpp>
@@ -52,26 +49,22 @@ main()
BOOST_TEST(!test("z", no_case['x']));
}
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("french")
#endif
{
using namespace boost::spirit::iso8859_1;
BOOST_TEST(test("\xC1", no_case[char_('\xE1')]));
}
{
using namespace boost::spirit::iso8859_1;
BOOST_TEST(test("X", no_case[char_("a-z")]));
BOOST_TEST(!test("1", no_case[char_("a-z")]));
}
{ // test extended ASCII characters
using namespace boost::spirit::iso8859_1;
BOOST_TEST(test("\xC1", no_case[char_('\xE1')]));
BOOST_TEST(test("\xC9", no_case[char_("\xE5-\xEF")]));
BOOST_TEST(!test("\xFF", no_case[char_("\xE5-\xEF")]));
BOOST_TEST(test("\xC1\xE1", no_case[lit("\xE1\xC1")]));
BOOST_TEST(test("\xE1\xE1", no_case[no_case[lit("\xE1\xC1")]]));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
{
using namespace boost::spirit::ascii;
@@ -80,18 +73,6 @@ main()
BOOST_TEST(!test("Vavoo", no_case[lit("bochi bochi")]));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("french")
#endif
{
using namespace boost::spirit::iso8859_1;
BOOST_TEST(test("\xC1\xE1", no_case[lit("\xE1\xC1")]));
BOOST_TEST(test("\xE1\xE1", no_case[no_case[lit("\xE1\xC1")]]));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
{
// should work!
using namespace boost::spirit::ascii;

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/include/qi_operator.hpp>
#include <boost/spirit/include/qi_char.hpp>

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/include/qi_operator.hpp>
#include <boost/spirit/include/qi_char.hpp>

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/include/qi_operator.hpp>
#include <boost/spirit/include/qi_char.hpp>

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/include/qi_operator.hpp>
#include <boost/spirit/include/qi_char.hpp>
@@ -107,9 +104,6 @@ main()
BOOST_TEST(!test("[123,456]", r));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("french")
#endif
{ // specifying the encoding
typedef boost::spirit::char_encoding::iso8859_1 iso8859_1;
@@ -130,10 +124,6 @@ main()
BOOST_TEST(test("\xC1\xE1", r));
}
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
{
typedef boost::variant<double, int> v_type;
rule<const char*, v_type()> r1 = int_;

View File

@@ -6,9 +6,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/home/x3.hpp>

View File

@@ -6,9 +6,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#define BOOST_SPIRIT_X3_UNICODE
#include <boost/detail/lightweight_test.hpp>
@@ -103,16 +100,10 @@ main()
BOOST_TEST(test("f", xdigit));
BOOST_TEST(!test("g", xdigit));
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
// test extended ASCII characters
BOOST_TEST(test("\xE9", alpha));
BOOST_TEST(test("\xE9", lower));
BOOST_TEST(!test("\xE9", upper));
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
}
{
@@ -199,17 +190,10 @@ main()
BOOST_TEST(test(L" ", ~braille));
// $$$ TODO $$$ Add more unicode tests
// needed for VC7.1 only
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("german")
#endif
// TODO: these tests are suspicious, they do not test unicode
BOOST_TEST(test("\xE9", alpha));
BOOST_TEST(test("\xE9", lower));
BOOST_TEST(!test("\xE9", upper));
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
#pragma setlocale("")
#endif
}
{ // test attribute extraction

View File

@@ -6,9 +6,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file intentionally contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/home/x3.hpp>
@@ -46,18 +43,21 @@ main()
BOOST_TEST(!test("z", no_case['x']));
}
{
using namespace boost::spirit::x3::iso8859_1;
BOOST_TEST(test("\xC1", no_case[char_('\xE1')]));
}
{
using namespace boost::spirit::x3::iso8859_1;
BOOST_TEST(test("X", no_case[char_("a-z")]));
BOOST_TEST(!test("1", no_case[char_("a-z")]));
}
{ // test extended ASCII characters
using namespace boost::spirit::x3::iso8859_1;
BOOST_TEST(test("\xC1", no_case[char_('\xE1')]));
BOOST_TEST(test("\xC9", no_case[char_("\xE5-\xEF")]));
BOOST_TEST(!test("\xFF", no_case[char_("\xE5-\xEF")]));
BOOST_TEST(test("\xC1\xE1", no_case[lit("\xE1\xC1")]));
BOOST_TEST(test("\xE1\xE1", no_case[no_case[lit("\xE1\xC1")]]));
}
{
@@ -67,12 +67,6 @@ main()
BOOST_TEST(!test("Vavoo", no_case[lit("bochi bochi")]));
}
{
using namespace boost::spirit::x3::iso8859_1;
BOOST_TEST(test("\xC1\xE1", no_case[lit("\xE1\xC1")]));
BOOST_TEST(test("\xE1\xE1", no_case[no_case[lit("\xE1\xC1")]]));
}
{
// should work!
using namespace boost::spirit::x3::ascii;

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/home/x3.hpp>

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/home/x3.hpp>

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/home/x3.hpp>
#include <boost/fusion/include/std_pair.hpp>

View File

@@ -5,9 +5,6 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// this file deliberately contains non-ascii characters
// boostinspect:noascii
#include <boost/detail/lightweight_test.hpp>
#include <boost/spirit/home/x3.hpp>
#include <boost/fusion/include/vector.hpp>