From 4a27cec8d3468fffb36e640b9782adefcccae414 Mon Sep 17 00:00:00 2001 From: Colin Patrick McCabe Date: Fri, 1 Apr 2011 16:09:27 -0700 Subject: [PATCH] confutils: test unicode parsing Signed-off-by: Colin McCabe --- src/test/confutils.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/confutils.cc b/src/test/confutils.cc index 73e359ed1cbf9..d7e356881a8f1 100644 --- a/src/test/confutils.cc +++ b/src/test/confutils.cc @@ -196,6 +196,14 @@ const char illegal_conf3[] = "\ keyring = osd_keyring ; osd's keyring\n\ "; +// unicode config file +const char unicode_config_1[] = "\ +[global]\n\ + log file = \x66\xd1\x86\xd1\x9d\xd3\xad\xd3\xae \n\ + pid file = foo-bar\n\ +[osd0]\n\ +"; + TEST(ParseFiles1, ConfUtils) { std::string simple_conf_1_f(next_tempfile(simple_conf_1)); ConfFile cf1(simple_conf_1_f.c_str()); @@ -254,6 +262,12 @@ TEST(ReadFiles2, ConfUtils) { ASSERT_EQ(val, "/quite/a/long/path/for/a/log/file"); ASSERT_EQ(cf1.read("global", "pid file", val), 0); ASSERT_EQ(val, "spork"); + + std::string unicode_config_1f(next_tempfile(unicode_config_1)); + ConfFile cf2(unicode_config_1f.c_str()); + ASSERT_EQ(cf2.parse(), 0); + ASSERT_EQ(cf2.read("global", "log file", val), 0); + ASSERT_EQ(val, "\x66\xd1\x86\xd1\x9d\xd3\xad\xd3\xae"); } // FIXME: illegal configuration files don't return a parse error currently. -- 2.39.5