9
9
class ExtractURITest : public CxxTest::TestSuite
12
void checkOne( char const* str, char const* expected )
14
gchar* result = extract_uri( str );
15
TS_ASSERT_EQUALS( ( result == NULL ), ( expected == NULL ) );
16
if ( result && expected ) {
17
TS_ASSERT_EQUALS( std::string(result), std::string(expected) );
18
} else if ( result ) {
19
TS_FAIL( std::string("Expected null, found (") + result + ")" );
20
} else if ( expected ) {
21
TS_FAIL( std::string("Expected (") + expected + "), found null" );
14
28
char const* cases[][2] = {
15
29
{ "url(#foo)", "#foo" },
16
{ "url foo ", "foo" },
20
34
{ "url ( ) ", NULL },
21
{ "url foo bar ", "foo bar" }
24
for ( size_t i = 0; i < G_N_ELEMENTS(cases); i++ )
26
char const* result = extract_uri( cases[i][0] );
28
TS_ASSERT_EQUALS( ( result == NULL ), ( cases[i][1] == NULL ) );
31
TS_ASSERT_EQUALS( std::string(result), std::string(cases[i][1]) );
35
{ "url foo bar ", NULL },
38
for ( size_t i = 0; i < G_N_ELEMENTS(cases); i++ )
40
checkOne( cases[i][0], cases[i][1] );
44
void testWithTrailing()
46
char const* cases[][2] = {
47
{ "url(#foo) bar", "#foo" },
48
{ "url() bar", NULL },
49
{ "url ( ) bar ", NULL }
52
for ( size_t i = 0; i < G_N_ELEMENTS(cases); i++ )
54
checkOne( cases[i][0], cases[i][1] );
60
char const* cases[][2] = {
61
{ "url('#foo')", "#foo" },
62
{ "url(\"#foo\")", "#foo" },
63
{ "url('#f o o')", "#f o o" },
64
{ "url(\"#f o o\")", "#f o o" },
65
{ "url('#fo\"o')", "#fo\"o" },
66
{ "url(\"#fo'o\")", "#fo'o" },
69
for ( size_t i = 0; i < G_N_ELEMENTS(cases); i++ )
71
checkOne( cases[i][0], cases[i][1] );