summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2013-09-25 16:36:50 +0800
committerPeng Wu <alexepico@gmail.com>2013-09-25 16:36:50 +0800
commit2b86d6b41b0219b4b645e51ca7f9520062999c91 (patch)
treeaaeed472e44d63a975520808cfff7fb0ee3b05b7 /tests
parent270a44a900c2418255c7dbe7e7e26578545df885 (diff)
downloadlibzhuyin-2b86d6b41b0219b4b645e51ca7f9520062999c91.tar.gz
libzhuyin-2b86d6b41b0219b4b645e51ca7f9520062999c91.tar.xz
libzhuyin-2b86d6b41b0219b4b645e51ca7f9520062999c91.zip
update test_parser2
Diffstat (limited to 'tests')
-rw-r--r--tests/storage/test_parser2.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/tests/storage/test_parser2.cpp b/tests/storage/test_parser2.cpp
index 80e8bda..6c0ab32 100644
--- a/tests/storage/test_parser2.cpp
+++ b/tests/storage/test_parser2.cpp
@@ -31,11 +31,13 @@
static const gchar * parsername = "";
static gboolean incomplete = FALSE;
+static const gchar * schemename = "";
static GOptionEntry entries[] =
{
- {"parser", 'p', 0, G_OPTION_ARG_STRING, &parsername, "parser", "fullpinyin chewing"},
+ {"parser", 'p', 0, G_OPTION_ARG_STRING, &parsername, "parser", "fullpinyin chewing direct"},
{"incomplete", 'i', 0, G_OPTION_ARG_NONE, &incomplete, "incomplete pinyin", NULL},
+ {"scheme", 's', 0, G_OPTION_ARG_STRING, &schemename, "scheme", "standard hsu dachen26"},
{NULL}
};
@@ -75,11 +77,20 @@ int main(int argc, char * argv[]) {
if (strcmp("fullpinyin", parsername) == 0) {
parser = new FullPinyinParser2();
} else if (strcmp("chewing", parsername) == 0) {
- parser = new ChewingDiscreteParser2();
+ if (strcmp("standard", schemename) == 0) {
+ parser = new ChewingDiscreteParser2();
+ } else if (strcmp("hsu", schemename) == 0) {
+ parser = new ChewingDiscreteParser2();
+ ((ChewingDiscreteParser2 *)parser)->set_scheme(CHEWING_HSU);
+ } else if (strcmp("dachen26", schemename) == 0) {
+ parser = new ChewingDaChenCP26Parser2();
+ }
+ } else if (strcmp("direct", parsername) == 0) {
+ parser = new ChewingDirectParser2();
}
if (!parser)
- parser = new FullPinyinParser2();
+ parser = new ChewingDiscreteParser2();
char* linebuf = NULL; size_t size = 0; ssize_t read;
while( (read = getline(&linebuf, &size, stdin)) != -1 ){