summaryrefslogtreecommitdiffstats
path: root/dom/base/test/test_encodeToStringWithRequiresReinitAfterOutput.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /dom/base/test/test_encodeToStringWithRequiresReinitAfterOutput.html
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--dom/base/test/test_encodeToStringWithRequiresReinitAfterOutput.html87
1 files changed, 87 insertions, 0 deletions
diff --git a/dom/base/test/test_encodeToStringWithRequiresReinitAfterOutput.html b/dom/base/test/test_encodeToStringWithRequiresReinitAfterOutput.html
new file mode 100644
index 0000000000..a1d2749ef8
--- /dev/null
+++ b/dom/base/test/test_encodeToStringWithRequiresReinitAfterOutput.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1352882
+-->
+<head>
+ <meta charset="utf-8">
+ <title>Test for Bug 1352882 - RequiresReinitAfterOutput</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+ <script type="application/javascript">
+ function getEncoder() {
+ // Create a plaintext encoder without flags.
+ var encoder = SpecialPowers.Cu.createDocumentEncoder("text/plain");
+ encoder.init(document, "text/plain", encoder.RequiresReinitAfterOutput);
+ return encoder;
+ }
+
+ function testPlaintextSerializerWithRequiresReinitAfterOutput() {
+ var encoder = getEncoder();
+
+ var str = encoder.encodeToString();
+ ok(str, "encodingToString should be successful");
+
+ SimpleTest.doesThrow(() => {
+ encoder.encodeToString();
+ }, 'encodeToString should throw exception if it has RequiresReinitAfterOutput and it is called twice');
+
+ encoder.init(document, "text/plain", encoder.RequiresReinitAfterOutput);
+ str = encoder.encodeToString();
+ ok(str, "encodingToString should be successful after calling init again");
+
+ encoder = getEncoder();
+
+ str = encoder.encodeToStringWithMaxLength(1000);
+ ok(str, "encodingToString should be successful");
+
+ SimpleTest.doesThrow(() => {
+ encoder.encodeToStringWithMaxLength(1000);
+ }, 'encodeToStringWithMaxLength should throw exception if it has RequiresReinitAfterOutput and it is called twice');
+
+ encoder.init(document, "text/plain", encoder.RequiresReinitAfterOutput);
+ str = encoder.encodeToStringWithMaxLength(1000);
+ ok(str, "encodingToStringWithMaxLength should be successful after calling init again");
+
+ encoder = getEncoder();
+
+ const UINT32_MAX = 4294967295;
+ let pipe = SpecialPowers.Cc["@mozilla.org/pipe;1"].createInstance(SpecialPowers.Ci.nsIPipe);
+ pipe.init(true, true, 0, UINT32_MAX, null);
+ let stream = pipe.outputStream;
+
+ encoder.setCharset("utf-8");
+ encoder.encodeToStream(stream);
+ ok(str, "encodingToStream should be successful");
+
+ SimpleTest.doesThrow(() => {
+ encoder.encodeToStream(stream);
+ }, 'encodeToStream should throw exception if it has RequiresReinitAfterOutput and it is called twice');
+
+ encoder.init(document, "text/plain", encoder.RequiresReinitAfterOutput);
+ encoder.encodeToStream(stream);
+ ok(true, "encodingToStream should be successful after calling init again");
+
+ stream.close();
+
+ SimpleTest.finish();
+ }
+
+ addLoadEvent(testPlaintextSerializerWithRequiresReinitAfterOutput);
+ SimpleTest.waitForExplicitFinish();
+ </script>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1352882">Mozilla Bug 1352882</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+The <em>Mozilla</em> project is a global community of <strong>people</strong> who believe that openness, innovation, and opportunity are key to the continued health of the Internet. We have worked together since 1998 to ensure that the Internet is developed in a way that benefits everyone. We are best known for creating the Mozilla Firefox web browser.
+
+The Mozilla project uses a community-based approach to create world-class open source software and to develop new types of collaborative activities. We create communities of people involved in making the Internet experience better for all of us.
+
+As a result of these efforts, we have distilled a set of principles that we believe are critical for the Internet to continue to benefit the public good as well as commercial aspects of life. We set out these principles below.
+</div>
+<pre id="test">
+</pre>
+</body>
+</html>