Bug 1316127 - add tests for edge cases for nsUnescapeCount; r=erahm

There are no tests for this piece of code otherwise, and it'd be good to
have cases for non-escape sequences of various flavors.
This commit is contained in:
Nathan Froyd 2016-11-10 23:11:31 -05:00
Родитель f72009a953
Коммит 23c8029288
1 изменённых файлов: 29 добавлений и 0 удалений

Просмотреть файл

@ -38,3 +38,32 @@ TEST(EscapeURL, FallibleEscape)
const char* const kExpected = "data:,Hello%2C%20World!%C4%9F";
EXPECT_STREQ(escaped.BeginReading(), kExpected);
}
TEST(EscapeURL, BadEscapeSequences)
{
{
char bad[] = "%s\0fa";
int32_t count = nsUnescapeCount(bad);
EXPECT_EQ(count, 2);
EXPECT_STREQ(bad, "%s");
}
{
char bad[] = "%a";
int32_t count = nsUnescapeCount(bad);
EXPECT_EQ(count, 2);
EXPECT_STREQ(bad, "%a");
}
{
char bad[] = "%";
int32_t count = nsUnescapeCount(bad);
EXPECT_EQ(count, 1);
EXPECT_STREQ(bad, "%");
}
{
char bad[] = "%s/%s";
int32_t count = nsUnescapeCount(bad);
EXPECT_EQ(count, 5);
EXPECT_STREQ(bad, "%s/%s");
}
}