diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/mailnews/base/test/unit/test_folderStringProperties.js | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.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 'comm/mailnews/base/test/unit/test_folderStringProperties.js')
-rw-r--r-- | comm/mailnews/base/test/unit/test_folderStringProperties.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/comm/mailnews/base/test/unit/test_folderStringProperties.js b/comm/mailnews/base/test/unit/test_folderStringProperties.js new file mode 100644 index 0000000000..8f508625b7 --- /dev/null +++ b/comm/mailnews/base/test/unit/test_folderStringProperties.js @@ -0,0 +1,41 @@ +/* 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/. */ + +/* + * Test the nsIMsgFolder .(get|set)StringProperty methods. + */ + +add_task(function test_string_properties() { + localAccountUtils.loadLocalMailAccount(); + let root = localAccountUtils.incomingServer.rootMsgFolder; + + // Ensure unset properties return an error. + Assert.throws(function () { + root.getStringProperty("this-property-doesnt-exist"); + }, /NS_ERROR_.*/); + + // Check basic set/get operation. + root.setStringProperty("test-property", "wibble"); + Assert.equal(root.getStringProperty("test-property"), "wibble"); + + // Keys are case-sensitive. + Assert.throws(function () { + root.getStringProperty("TEST-PROPERTY"); + }, /NS_ERROR_.*/); + + // Values with non-latin chars? + root.setStringProperty("test-property", "日本語"); + Assert.equal(root.getStringProperty("test-property"), "日本語"); + + // Check that things stay as strings, even if they are values that could + // be misinterpreted in JSON. + root.setStringProperty("test-property", ""); + Assert.equal(root.getStringProperty("test-property"), ""); + + root.setStringProperty("test-property", "null"); + Assert.equal(root.getStringProperty("test-property"), "null"); + + root.setStringProperty("test-property", "0"); + Assert.equal(root.getStringProperty("test-property"), "0"); +}); |