зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
f72009a953
Коммит
23c8029288
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче