Skip to content

Commit

Permalink
Work-around for GCC 8
Browse files Browse the repository at this point in the history
  • Loading branch information
d-frey committed Jun 2, 2020
1 parent 135d3aa commit b002bc5
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions src/test/pegtl/verify_file.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@

#include "test.hpp"

#if defined( _MSC_VER )
#define TAO_PEGTL_TEST_FILENAME u"src/test/pegtl/file_äöü𝄞_data.txt"
#else
#define TAO_PEGTL_TEST_FILENAME "src/test/pegtl/file_äöü𝄞_data.txt"
#endif

namespace TAO_PEGTL_NAMESPACE
{
struct file_content
Expand Down Expand Up @@ -52,42 +58,41 @@ namespace TAO_PEGTL_NAMESPACE
{
{
try {
T in( u"src/test/pegtl/no_such_file.txt" );
T in( "src/test/pegtl/no_such_file.txt" );
parse< file_grammar >( in );
TAO_PEGTL_TEST_ASSERT( !"no error on opening non-existing file" );
}
catch( const std::system_error& ) {
}
}
{
T in( u"src/test/pegtl/file_data.txt" );
T in( "src/test/pegtl/file_data.txt" );
std::cout << in.source() << std::endl;
TAO_PEGTL_TEST_ASSERT( in.source() == "src/test/pegtl/file_data.txt" );
TAO_PEGTL_TEST_ASSERT( parse< file_grammar >( in ) );
TAO_PEGTL_TEST_ASSERT( in.source() == "src/test/pegtl/file_data.txt" );
}
{
T in( u"src/test/pegtl/file_äöü𝄞_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = true;
TAO_PEGTL_TEST_ASSERT( in.source() == "src/test/pegtl/file_äöü𝄞_data.txt" );
TAO_PEGTL_TEST_ASSERT( parse< file_grammar >( in, flag ) );
TAO_PEGTL_TEST_ASSERT( flag == true );
}
{
T in( u"src/test/pegtl/file_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = false;
TAO_PEGTL_TEST_ASSERT( parse< file_grammar >( in, flag ) );
TAO_PEGTL_TEST_ASSERT( flag == false );
}
{
T in( u"src/test/pegtl/file_äöü𝄞_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = false;
const bool result = parse< file_grammar, file_action >( in, flag );
TAO_PEGTL_TEST_ASSERT( result );
TAO_PEGTL_TEST_ASSERT( flag == true );
}
{
T in( u"src/test/pegtl/file_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = false;
const bool result = parse< file_grammar, nothing, file_control >( in, flag );
TAO_PEGTL_TEST_ASSERT( result );
Expand All @@ -96,30 +101,30 @@ namespace TAO_PEGTL_NAMESPACE
const char* foo = "foo";
const memory_input m( foo, foo + 3, foo );
{
T in( u"src/test/pegtl/file_äöü𝄞_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
TAO_PEGTL_TEST_ASSERT( parse_nested< file_grammar >( m, in ) );
}
{
T in( u"src/test/pegtl/file_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = true;
TAO_PEGTL_TEST_ASSERT( parse_nested< file_grammar >( m, in, flag ) );
TAO_PEGTL_TEST_ASSERT( flag == true );
}
{
T in( u"src/test/pegtl/file_äöü𝄞_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = false;
TAO_PEGTL_TEST_ASSERT( parse_nested< file_grammar >( m, in, flag ) );
TAO_PEGTL_TEST_ASSERT( flag == false );
}
{
T in( u"src/test/pegtl/file_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = false;
const bool result = parse_nested< file_grammar, file_action >( m, in, flag );
TAO_PEGTL_TEST_ASSERT( result );
TAO_PEGTL_TEST_ASSERT( flag == true );
}
{
T in( u"src/test/pegtl/file_äöü𝄞_data.txt" );
T in( TAO_PEGTL_TEST_FILENAME );
bool flag = false;
const bool result = parse_nested< file_grammar, nothing, file_control >( m, in, flag );
TAO_PEGTL_TEST_ASSERT( result );
Expand Down

0 comments on commit b002bc5

Please sign in to comment.