diff --git a/t/core/data_test.c b/t/core/data_test.c
index fb3b1145bac8001458b95b598a348c92dc15ca20..649a7df4bece545e9689953ec31ea39e52f55018 100644 (file)
--- a/t/core/data_test.c
+++ b/t/core/data_test.c
"sdb_data_format() used wrong format: %s; expected: %s",
string, expected);
+ datum.data.string = "now using special \\ \" characters";
+ sdb_strbuf_clear(buf);
+ check = sdb_data_format(&datum, buf);
+ fail_unless(! check,
+ "sdb_data_format(STRING) = %d; expected: 0", check);
+ string = sdb_strbuf_string(buf);
+ expected = "\"now using special \\\\ \\\" characters\"";
+ fail_unless(! strcmp(string, expected),
+ "sdb_data_format() used wrong format: %s; expected: %s",
+ string, expected);
+
+ datum.data.string = NULL;
+ sdb_strbuf_clear(buf);
+ check = sdb_data_format(&datum, buf);
+ fail_unless(! check,
+ "sdb_data_format(STRING) = %d; expected: 0", check);
+ string = sdb_strbuf_string(buf);
+ expected = "\"NULL\"";
+ fail_unless(! strcmp(string, expected),
+ "sdb_data_format() used wrong format: %s; expected: %s",
+ string, expected);
+
datum.type = SDB_TYPE_DATETIME;
datum.data.datetime = 471147114711471100;
sdb_strbuf_clear(buf);
fail_unless(! check,
"sdb_data_format(DATETIME) = %d; expected: 0", check);
string = sdb_strbuf_string(buf);
- expected = "1984-12-06 02:11:54 +0000";
+ expected = "\"1984-12-06 02:11:54 +0000\"";
fail_unless(! strcmp(string, expected),
"sdb_data_format() used wrong format: %s; expected: %s",
string, expected);
fail_unless(! check,
"sdb_data_format(BINARY) = %d; expected: 0", check);
string = sdb_strbuf_string(buf);
- expected = "\"\\62\\69\\6e\\61\\72\\79\\0\\63\\72\\61\\70\\42\"";
+ expected =
+ "\"\\x62\\x69\\x6e\\x61\\x72\\x79\\x0\\x63\\x72\\x61\\x70\\x42\"";
+ fail_unless(! strcmp(string, expected),
+ "sdb_data_format() used wrong format: %s; expected: %s",
+ string, expected);
+
+ datum.data.binary.datum = NULL;
+ datum.data.binary.length = 0;
+ sdb_strbuf_clear(buf);
+ check = sdb_data_format(&datum, buf);
+ fail_unless(! check,
+ "sdb_data_format(BINARY) = %d; expected: 0", check);
+ string = sdb_strbuf_string(buf);
+ expected = "\"\"";
fail_unless(! strcmp(string, expected),
"sdb_data_format() used wrong format: %s; expected: %s",
string, expected);