/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
> label=master&label=experimental&product=chrome&product=firefox&product=safari&aligned&view=interop&q=label%3Ainterop-2023-property
)#");
result.Trim(" \n");
test.Trim(" \n");
ASSERT_TRUE(test.Equals(result))
<< "Shouldn't hang with format=flowed: " << NS_ConvertUTF16toUTF8(test).get();
}
// Test for CJK with format=flowed; delsp=yes
TEST(PlainTextSerializer, CJKWithFlowedDelSp)
{
nsString test;
nsString result;
test.AssignLiteral("<html><body>"); for (uint32_t i = 0; i < 40; i++) { // Insert Kanji (U+5341)
test.Append(0x5341);
}
test.AppendLiteral("</body></html>");
// create result case for (uint32_t i = 0; i < 36; i++) {
result.Append(0x5341);
}
result.AppendLiteral(" \r\n"); for (uint32_t i = 0; i < 4; i++) {
result.Append(0x5341);
}
result.AppendLiteral("\r\n");
ASSERT_TRUE(test.Equals(result))
<< "Wrong HTML to CJK text serialization with format=flowed; delsp=yes";
}
// Test for CJK with DisallowLineBreaking
TEST(PlainTextSerializer, CJKWithDisallowLineBreaking)
{
nsString test;
nsString result;
test.AssignLiteral("<html><body>"); for (uint32_t i = 0; i < 400; i++) { // Insert Kanji (U+5341)
test.Append(0x5341);
}
test.AppendLiteral("</body></html>");
// create result case for (uint32_t i = 0; i < 400; i++) {
result.Append(0x5341);
}
result.AppendLiteral("\r\n");
ASSERT_TRUE(test.Equals(result))
<< "Wrong HTML to CJK text serialization with OutputDisallowLineBreaking";
}
// Test for Latin with DisallowLineBreaking
TEST(PlainTextSerializer, LatinWithDisallowLineBreaking)
{
nsString test;
test.AssignLiteral("<html><body>"); for (uint32_t i = 0; i < 400; i++) { // Insert á (Latin Small Letter a with Acute) (U+00E1)
test.Append(0x00E1);
}
test.AppendLiteral("</body></html>\r\n");
// Create expect case.
nsString expect; for (uint32_t i = 0; i < 400; i++) {
expect.Append(0x00E1);
}
expect.AppendLiteral(" \r\n\r\n");
ASSERT_TRUE(test.Equals(expect))
<< "Wrong HTML to Latin text serialization with OutputDisallowLineBreaking";
}
// Test for ASCII with format=flowed; and quoted lines in preformatted span.
TEST(PlainTextSerializer, PreformatFlowedQuotes)
{
nsString test;
nsString result;
ASSERT_EQ(test, result) << "Wrong HTML to ASCII text serialization " "with format=flowed; and quoted " "lines using OutputFormatted";
}
// Test for ASCII with format=flowed; and not using OutputFormatted.
TEST(PlainTextSerializer, OutputFormatFlowedAndWrapped)
{
nsString test;
nsString result;
ConvertBufToPlainText(test, 0, kDefaultWrapColumn);
ASSERT_TRUE(test.EqualsLiteral("first" NS_LINEBREAK "second" NS_LINEBREAK))
<< "Wrong prettyprinted html to text serialization";
}
ConvertBufToPlainText(test, 0, kDefaultWrapColumn);
ASSERT_TRUE(test.EqualsLiteral("first" NS_LINEBREAK "second" NS_LINEBREAK))
<< "Wrong prettyprinted html to text serialization";
}
TEST(PlainTextSerializer, PreWrapElementForThunderbird)
{ // This test examines the magic pre-wrap setup that Thunderbird relies on.
nsString test;
test.AppendLiteral("<html>" NS_LINEBREAK "<body style=\"white-space: pre-wrap;\">" NS_LINEBREAK "<pre>" NS_LINEBREAK " first line is too long" NS_LINEBREAK " second line is even loooonger " NS_LINEBREAK "</pre>" NS_LINEBREAK "</body>" NS_LINEBREAK "</html>");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.