aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vmime/parameter.hpp20
-rw-r--r--tests/parser/parameterTest.cpp4
2 files changed, 22 insertions, 2 deletions
diff --git a/src/vmime/parameter.hpp b/src/vmime/parameter.hpp
index a97408b9..d1e6ea72 100644
--- a/src/vmime/parameter.hpp
+++ b/src/vmime/parameter.hpp
@@ -44,8 +44,26 @@ private:
public:
- explicit parameter(const string& name);
+ /** Construct a parameter with no value.
+ * Charset is set to the current locale charset.
+ *
+ * @param name parameter name
+ */
+ parameter(const string& name);
+
+ /** Construct a parameter given a name and a value.
+ *
+ * @param name parameter name
+ * @param value parameter value
+ */
parameter(const string& name, const word& value);
+
+ /** Construct a parameter given a name and a string value
+ * expressed in the current locale charset.
+ *
+ * @param name parameter name
+ * @param value parameter value
+ */
parameter(const string& name, const string& value);
diff --git a/tests/parser/parameterTest.cpp b/tests/parser/parameterTest.cpp
index cf8f8477..41af3fdd 100644
--- a/tests/parser/parameterTest.cpp
+++ b/tests/parser/parameterTest.cpp
@@ -467,7 +467,9 @@ VMIME_TEST_SUITE_BEGIN(parameterTest)
void testEncodeTSpecialsInRFC2231()
{
VASSERT_EQ("1", "filename*=UTF-8''my_file_name_%C3%B6%C3%A4%C3%BC_%281%29.txt",
- vmime::make_shared <vmime::parameter>("filename", "my_file_name_\xc3\xb6\xc3\xa4\xc3\xbc_(1).txt")->generate());
+ vmime::make_shared <vmime::parameter>
+ ("filename",
+ vmime::word("my_file_name_\xc3\xb6\xc3\xa4\xc3\xbc_(1).txt", "UTF-8"))->generate());
}
void testWhitespaceBreaksTheValue()