Exemplo n.º 1
0
TEST( libstdhl_cpp_SourceLocation, empty )
{
    SourceLocation location;

    EXPECT_EQ( location.begin.line, 1 );
    EXPECT_EQ( location.begin.column, 1 );
    EXPECT_EQ( location.begin.fileName, nullptr );
    EXPECT_EQ( location.begin.fileName, location.fileName() );

    EXPECT_EQ( location.end.line, location.begin.line );
    EXPECT_EQ( location.end.column, location.begin.column );
    EXPECT_EQ( location.end.fileName, location.begin.fileName );
    EXPECT_EQ( location.end.fileName, location.fileName() );

    EXPECT_FALSE( location != SourceLocation() );

    location = location + 10;
    location = location - 10;
    EXPECT_TRUE( location == SourceLocation() );

    SourceLocation tmp;
    location += tmp;
    EXPECT_TRUE( location == SourceLocation() + tmp );

    EXPECT_THROW( location.read(), std::domain_error );
}
Exemplo n.º 2
0
bool operator==(const SourceLocation &a, const SourceLocation &b)
{
    return a.line() == b.line()
            && a.column() == b.column()
            && a.offset() == b.offset()
            && a.fileName() == b.fileName()
            ;
}
Exemplo n.º 3
0
QDebug operator<<(QDebug dbg, const SourceLocation &location)
{
    dbg.nospace() << location.fileName()
                  << " ["
                  << location.line()
                  << ":"
                  << location.column()
                  << "("
                  << location.offset()
                  << ")]";
    return dbg.space();
}