commit 0c89daeb02ec6e8c8dea606f2fc9846c4068b7f6
parent 9cd914772c16b17de0336f36d36d7da0aa5c00a8
Author: Chris Peterson <cpeterson@mozilla.com>
Date: Thu, 30 Oct 2025 16:53:15 +0000
Bug 1997025 - Replace u8"" string literals in TestUriTemplate test. r=necko-reviewers,sunil
u8"" strings have type const char[] in C++17, but type const char8_t[] in C++20. Since most Firefox code is written assuming char or char16_t strings, char8_t strings cause type mismatches that would require additional overloads or string conversions.
Because Firefox .cpp files are compiled as UTF-8, "" string literals are already UTF-8 encoded and the explicit u8 prefix is unnecessary.
```
netwerk/test/gtest/TestUriTemplate.cpp:79:49: error: no matching literal operator for call to 'operator""_ns' with arguments of types 'const char8_t *' and 'unsigned long', and no matching literal operator template
79 | ASSERT_EQ(builder->Set("name"_ns, u8"München"_ns), NS_OK);
```
Differential Revision: https://phabricator.services.mozilla.com/D270452
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/netwerk/test/gtest/TestUriTemplate.cpp b/netwerk/test/gtest/TestUriTemplate.cpp
@@ -76,7 +76,7 @@ TEST(UriTemplate, UnicodeIsUTF8PercentEncoded)
ASSERT_TRUE(builder);
// "München" contains 'ü' (U+00FC) -> UTF-8 0xC3 0xBC -> %C3%BC
- ASSERT_EQ(builder->Set("name"_ns, u8"München"_ns), NS_OK);
+ ASSERT_EQ(builder->Set("name"_ns, "München"_ns), NS_OK);
nsCString result;
builder->Build(&result);