summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi Sumita <hsumita@chromium.org>2012-06-12 11:43:52 +0900
committerHiroshi Sumita <hsumita@chromium.org>2012-06-12 11:43:52 +0900
commit37b78c95090c4d60045d451ca54d0dde3847d0f6 (patch)
treed83bbf5b51cdccb45358a2ce9ebc3a515dd5d0c3
parent0761df67ceccd827f01e8326e24e91697a29b367 (diff)
downloadpyzy-37b78c95090c4d60045d451ca54d0dde3847d0f6.tar.gz
Remvoes unused or not-maintained files.
BUG=None TEST=Manual Review URL: https://codereview.appspot.com/6294051
-rw-r--r--debian/changelog.in5
-rw-r--r--debian/compat1
-rw-r--r--debian/control51
-rw-r--r--debian/copyright40
-rw-r--r--debian/docs2
-rw-r--r--debian/ibus-pinyin.lintian-overrides1
-rwxr-xr-xdebian/rules110
-rw-r--r--debian/source/format1
-rw-r--r--debian/watch3
-rw-r--r--scripts/genpuncttable.py32
-rw-r--r--scripts/punct.py100
-rw-r--r--src/Makefile.am1
-rw-r--r--src/PyZyTest.cc1275
13 files changed, 0 insertions, 1622 deletions
diff --git a/debian/changelog.in b/debian/changelog.in
deleted file mode 100644
index 95bfd5a..0000000
--- a/debian/changelog.in
+++ /dev/null
@@ -1,5 +0,0 @@
-ibus-pinyin (${version}-1phuang${release}~${serie}1) ${serie}; urgency=low
-
- * Upstream release.
-
- -- Peng Huang <shawn.p.huang@gmail.com> ${date}
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index 7f8f011..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-7
diff --git a/debian/control b/debian/control
deleted file mode 100644
index 8ad3368..0000000
--- a/debian/control
+++ /dev/null
@@ -1,51 +0,0 @@
-Source: ibus-pinyin
-Section: utils
-Priority: optional
-Maintainer: LI Daobing <lidaobing@debian.org>
-Build-Depends: debhelper (>= 7), autotools-dev, pkg-config,
- libsqlite3-dev (>= 3.6), sqlite3, uuid-dev, libopencc-dev (>= 0.0.4~pre.1)
-Standards-Version: 3.9.1
-Homepage: http://code.google.com/p/ibus
-Vcs-Bzr: lp:~lidaobing/ibus/ibus-pinyin
-Vcs-Browser: https://code.launchpad.net/~lidaobing/ibus/ibus-pinyin
-
-Package: ibus-pinyin
-Architecture: any
-Depends: ibus-pinyin-db-open-phrase (=${source:Version}) | ibus-pinyin-db-android (=${source:Version}),
- ${shlibs:Depends}, ${misc:Depends}
-Description: pinyin engine for ibus
- ibus-pinyin is a im engine for Chinese, based on ibus.
- .
- this package provide one input method:
- * pinyin: pinyin input method.
- .
- for more information on pinyin input method, check
- http://en.wikipedia.org/wiki/Pinyin_method .
-
-Package: ibus-pinyin-db-open-phrase
-Architecture: all
-Depends: ${misc:Depends}, pinyin-database (>= 1.2.99-3~), pinyin-database (<< 1.2.100)
-Description: pinyin engine for ibus, open-phrase database
- ibus-pinyin is a im engine for Chinese, based on ibus.
- .
- this package provide one input method:
- * pinyin: pinyin input method.
- .
- for more information on pinyin input method, check
- http://en.wikipedia.org/wiki/Pinyin_method .
- .
- This package contains the open-phrase data files used by ibus-pinyin.
-
-Package: ibus-pinyin-db-android
-Architecture: all
-Depends: ${misc:Depends}
-Description: pinyin engine for ibus, android database
- ibus-pinyin is a im engine for Chinese, based on ibus.
- .
- this package provide one input method:
- * pinyin: pinyin input method.
- .
- for more information on pinyin input method, check
- http://en.wikipedia.org/wiki/Pinyin_method .
- .
- This package contains the android data files used by ibus-pinyin.
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644
index 59ac1ed..0000000
--- a/debian/copyright
+++ /dev/null
@@ -1,40 +0,0 @@
-This package was debianized by:
-
- LI Daobing <lidaobing@gmail.com> on Sun, 28 Dec 2008 20:30:06 +0800
-
-It was downloaded from:
-
- http://code.google.com/p/ibus/downloads/list
-
-Upstream Author:
-
- Huang Peng <shawn.p.huang@gmail.com>
-
-Copyright:
-
- Copyright © 2007-2008 Huang Peng <shawn.p.huang@gmail.com>
-
-License:
-
- This package is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
-
-The Debian packaging is:
-
- Copyright © 2008, LI Daobing <lidaobing@gmail.com>
-
-and is licensed under the GPL, see above.
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index 55bc0a6..0000000
--- a/debian/docs
+++ /dev/null
@@ -1,2 +0,0 @@
-README
-AUTHORS
diff --git a/debian/ibus-pinyin.lintian-overrides b/debian/ibus-pinyin.lintian-overrides
deleted file mode 100644
index cd5b9c9..0000000
--- a/debian/ibus-pinyin.lintian-overrides
+++ /dev/null
@@ -1 +0,0 @@
-ibus-pinyin: binary-without-manpage
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index e5ea124..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-DEBIAN_VERSION = $(shell dpkg-parsechangelog | egrep '^Version: ' | sed s/"Version: "//)
-UPSTREAM_VERSION = $(shell echo $(DEBIAN_VERSION) | sed s/+.-.*//)
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
-CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
-else
-CROSS= --build $(DEB_BUILD_GNU_TYPE)
-endif
-
-
-
-config.status: configure
- dh_testdir
-ifneq "$(wildcard /usr/share/misc/config.sub)" ""
- cp -f /usr/share/misc/config.sub config.sub
-endif
-ifneq "$(wildcard /usr/share/misc/config.guess)" ""
- cp -f /usr/share/misc/config.guess config.guess
-endif
- dh_auto_configure -- --enable-opencc --enable-lua-extension --disable-boost
-
-build: build-stamp
-
-build-stamp: config.status
- dh_testdir
- $(MAKE)
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp install-stamp
-
- # Add here commands to clean up after the build process.
- [ ! -f Makefile ] || $(MAKE) distclean
- rm -f config.sub config.guess config.log
- rm -f data/db/android/*.pyc
-
- dh_clean
-
-install: install-stamp
-install-stamp: build
- dh_testdir
- dh_testroot
- dh_prep
- dh_installdirs
-
- $(MAKE) DESTDIR=$(CURDIR)/debian/ibus-pinyin install
- rm -f $(CURDIR)/debian/ibus-pinyin/usr/share/ibus-pinyin/db/COPYING
- mkdir -p $(CURDIR)/debian/ibus-pinyin-db-android/usr/share/ibus-pinyin/
- mv $(CURDIR)/debian/ibus-pinyin/usr/share/ibus-pinyin/db $(CURDIR)/debian/ibus-pinyin-db-android/usr/share/ibus-pinyin/
- rm -f $(CURDIR)/debian/ibus-pinyin-db-android/usr/share/ibus-pinyin/db/create_index.sql
- mkdir -p $(CURDIR)/debian/ibus-pinyin-db-open-phrase/usr/share/ibus-pinyin/db
- ln -s /usr/share/pinyin-database/main.db $(CURDIR)/debian/ibus-pinyin-db-open-phrase/usr/share/ibus-pinyin/db/open-phrase.db
- touch $@
-
-# Build architecture-independent files here.
-binary-arch: install
- dh_testdir -a
- dh_testroot -a
- dh_installchangelogs -a
- dh_installdocs -a
- dh_installexamples -a
- dh_installman -a
- dh_pysupport -a
- dh_lintian -a
- dh_link -a
- dh_strip -a
- dh_compress -a
- dh_fixperms -a
- dh_installdeb -a
- dh_shlibdeps -a
- dh_gencontrol -a
- dh_md5sums -a
- dh_builddeb -a
-
-binary-indep: install
- dh_testdir -i
- dh_testroot -i
- dh_installchangelogs -i
- dh_installdocs -i
- dh_installexamples -i
- dh_installman -i
- dh_pysupport -i
- dh_lintian -i
- dh_link -i
- dh_compress -i
- dh_fixperms -i
- dh_installdeb -i
- dh_gencontrol -i
- dh_md5sums -i
- dh_builddeb -i
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
diff --git a/debian/source/format b/debian/source/format
deleted file mode 100644
index 163aaf8..0000000
--- a/debian/source/format
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debian/watch b/debian/watch
deleted file mode 100644
index 18f953c..0000000
--- a/debian/watch
+++ /dev/null
@@ -1,3 +0,0 @@
-version=3
-http://code.google.com/p/ibus/downloads/list?can=2 \
-http://ibus.googlecode.com/files/ibus-pinyin-([0-9].*)\.tar\.gz
diff --git a/scripts/genpuncttable.py b/scripts/genpuncttable.py
deleted file mode 100644
index 4e58050..0000000
--- a/scripts/genpuncttable.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# vim:set et sts=4:
-# -*- coding: utf-8 -*-
-
-from punct import *
-
-def tocstr(s):
- s = s.replace('\\', '\\\\')
- s = s.replace('"', '\\"')
- return '"%s"' % s
-
-def gen_table():
- array = []
- i = 0
- print 'static const char * const'
- print 'puncts[] = {'
- for k, vs in punct_map:
- k = tocstr(k)
- vs = map(tocstr, vs)
- array.append((i, k))
- line = ' %s, %s, NULL,' % (k, ", ".join(vs))
- print line.encode("utf8")
- i += len(vs) + 2
- print '};'
- print
- print 'static const char * const * const'
- print 'punct_table[] = {'
- for i, k in array:
- print ' &puncts[%d], // %s' % (i, k)
- print '};'
-
-if __name__ == "__main__":
- gen_table()
diff --git a/scripts/punct.py b/scripts/punct.py
deleted file mode 100644
index 8ea2478..0000000
--- a/scripts/punct.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# vim:set et sts=4:
-# -*- coding: utf-8 -*-
-
-punct_map = (
- (u'', (u'·', u',', u'。', u'「', u'」', u'、', u':', u';', u'?', u'!',)),
- (u'!', (u'!', u'﹗', u'‼', u'⁉',)),
- (u'"', (u'“', u'”', u'"',)),
- (u'#', (u'#', u'﹟', u'♯',)),
- (u'$', (u'$', u'€', u'﹩', u'¢', u'£', u'¥',)),
- (u'%', (u'%', u'﹪', u'‰', u'‱', u'㏙', u'㏗',)),
- (u'&', (u'&', u'﹠',)),
- (u'\'', (u'、', u'‘', u'’',)),
- (u'(', (u'(', u'︵', u'﹙',)),
- (u')', (u')', u'︶', u'﹚',)),
- (u'*', (u'*', u'×', u'※', u'╳', u'﹡', u'⁎', u'⁑', u'⁂', u'⌘',)),
- (u'+', (u'+', u'±', u'﹢',)),
- (u',', (u',', u'、', u'﹐', u'﹑',)),
- (u'-', (u'…', u'—', u'-', u'¯', u'﹉', u' ̄', u'﹊', u'ˍ', u'–', u'‥',)),
- (u'.', (u'。', u'·', u'‧', u'﹒', u'.',)),
- (u'/', (u'/', u'÷', u'↗', u'↙', u'∕',)),
- (u'0', (u'0', u'0')),
- (u'1', (u'1', u'1')),
- (u'2', (u'2', u'2')),
- (u'3', (u'3', u'3')),
- (u'4', (u'4', u'4')),
- (u'5', (u'5', u'5')),
- (u'6', (u'6', u'6')),
- (u'7', (u'7', u'7')),
- (u'8', (u'8', u'8')),
- (u'9', (u'9', u'9')),
- (u':', (u':', u'︰', u'﹕',)),
- (u';', (u';', u'﹔',)),
- (u'<', (u'<', u'〈', u'《', u'︽', u'︿', u'﹤',)),
- (u'=', (u'=', u'≒', u'≠', u'≡', u'≦', u'≧', u'﹦',)),
- (u'>', (u'>', u'〉', u'》', u'︾', u'﹀', u'﹥',)),
- (u'?', (u'?', u'﹖', u'⁇', u'⁈',)),
- (u'@', (u'@', u'⊕', u'⊙', u'㊣', u'﹫', u'◉', u'◎',)),
- (u'A', (u'A', u'A')),
- (u'B', (u'B', u'B')),
- (u'C', (u'C', u'C')),
- (u'D', (u'D', u'D')),
- (u'E', (u'E', u'E')),
- (u'F', (u'F', u'F')),
- (u'G', (u'G', u'G')),
- (u'H', (u'H', u'H')),
- (u'I', (u'I', u'I')),
- (u'J', (u'J', u'J')),
- (u'K', (u'K', u'K')),
- (u'L', (u'L', u'L')),
- (u'M', (u'M', u'M')),
- (u'N', (u'N', u'N')),
- (u'O', (u'O', u'O')),
- (u'P', (u'P', u'P')),
- (u'Q', (u'Q', u'Q')),
- (u'R', (u'R', u'R')),
- (u'S', (u'S', u'S')),
- (u'T', (u'T', u'T')),
- (u'U', (u'U', u'U')),
- (u'V', (u'V', u'V')),
- (u'W', (u'W', u'W')),
- (u'X', (u'X', u'X')),
- (u'Y', (u'Y', u'Y')),
- (u'Z', (u'Z', u'Z')),
- (u'[', (u'「', u'[', u'『', u'【', u'「', u'︻', u'﹁', u'﹃',)),
- (u'\\', (u'\', u'↖', u'↘', u'﹨',)),
- (u']', (u'」', u']', u'』', u'】', u'」', u'︼', u'﹂', u'﹄',)),
- (u'^', (u'︿', u'〈', u'《', u'︽', u'﹤', u'<',)),
- (u'_', (u'_', u'╴', u'←', u'→',)),
- (u'`', (u'‵', u'′',)),
- (u'a', (u'a', u'a')),
- (u'b', (u'b', u'b')),
- (u'c', (u'c', u'c')),
- (u'd', (u'd', u'd')),
- (u'e', (u'e', u'e')),
- (u'f', (u'f', u'f')),
- (u'g', (u'g', u'g')),
- (u'h', (u'h', u'h')),
- (u'i', (u'i', u'i')),
- (u'j', (u'j', u'j')),
- (u'k', (u'k', u'k')),
- (u'l', (u'l', u'l')),
- (u'm', (u'm', u'm')),
- (u'n', (u'n', u'n')),
- (u'o', (u'o', u'o')),
- (u'p', (u'p', u'p')),
- (u'q', (u'q', u'q')),
- (u'r', (u'r', u'r')),
- (u's', (u's', u's')),
- (u't', (u't', u't')),
- (u'u', (u'u', u'u')),
- (u'v', (u'v', u'v')),
- (u'w', (u'w', u'w')),
- (u'x', (u'x', u'x')),
- (u'y', (u'y', u'y')),
- (u'z', (u'z', u'z')),
- (u'{', (u'{', u'︷', u'﹛', u'〔', u'﹝', u'︹',)),
- (u'|', (u'|', u'↑', u'↓', u'∣', u'∥', u'︱', u'︳', u'︴', u'¦',)),
- (u'}', (u'}', u'︸', u'﹜', u'〕', u'﹞', u'︺',)),
- (u'~', (u'~', u'﹋', u'﹌',)),
-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 23ad8be..fc40a84 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -66,7 +66,6 @@ libpyzy_c_sources = \
SpecialPhraseTable.cc \
Variant.cc \
$(NULL)
-# Test.cc
libpyzy_h_sources = \
Bopomofo.h \
BopomofoContext.h \
diff --git a/src/PyZyTest.cc b/src/PyZyTest.cc
deleted file mode 100644
index 120ec9f..0000000
--- a/src/PyZyTest.cc
+++ /dev/null
@@ -1,1275 +0,0 @@
-/* vim:set et ts=4 sts=4:
- *
- * libpyzy - The Chinese PinYin and Bopomofo conversion library.
- *
- * Copyright (c) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of the
- * License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA
- */
-#include <gtest/gtest.h>
-#include <glib/gstdio.h>
-
-#include <iostream>
-#include <algorithm>
-
-#include "PyZyConfig.h"
-#include "PyZyDoublePinyinContext.h"
-#include "PyZyFullPinyinContext.h"
-#include "PyZyBopomofoContext.h"
-#include "PyZyPhoneticContext.h"
-
-#include "PyZyPinyinArray.h"
-#include "PyZyDatabase.h"
-
-using namespace std;
-using namespace PyZy;
-
-int main(int argc, char **argv) {
- testing::InitGoogleTest (&argc, argv);
- return RUN_ALL_TESTS ();
-}
-
-class PyZyTest : public testing::Test {
-protected:
- virtual void SetUp () {
- InputContext::init ("libpyzy-test");
- }
-
- virtual void TearDown () {
- PyZy::Database::finalize ();
-
- std::string db_file = g_get_user_cache_dir();
- db_file += G_DIR_SEPARATOR_S;
- db_file += "libpyzy-test";
- db_file += G_DIR_SEPARATOR_S;
- db_file += "user-1.0.db";
- g_unlink (db_file.c_str ());
- }
-};
-
-class CounterObserver : public PyZy::PhoneticContext::Observer {
-public:
- void commitText (const InputContext *context, const std::string &commit_text) {
- m_commited_text = commit_text;
- ++m_commit_text;
- }
- void preeditTextChanged (const InputContext *context) { ++m_preedit_text; }
- void auxiliaryTextChanged (const InputContext *context) { ++m_auxiliary_text; }
- void lookupTableChanged (const InputContext *context) { ++m_lookup_table; }
-
- string commitedText () { return m_commited_text; }
- unsigned int commitTextCount () { return m_commit_text; }
- unsigned int preeditTextCount () { return m_preedit_text; }
- unsigned int auxiliaryTextCount () { return m_auxiliary_text; }
- unsigned int lookupTableCount () { return m_lookup_table; }
-
- void clear () {
- m_commited_text.clear ();
- m_commit_text = 0;
- m_preedit_text = 0;
- m_auxiliary_text = 0;
- m_lookup_table = 0;
- }
-private:
- string m_commited_text;
- unsigned int m_commit_text;
- unsigned int m_preedit_text;
- unsigned int m_auxiliary_text;
- unsigned int m_lookup_table;
-};
-
-void insertKeys (PhoneticContext &context, const string &keys) {
- for (size_t i = 0; i < keys.size (); ++i) {
- context.insert (keys[i]);
- }
-}
-
-TEST_F (PyZyTest, FullPinyinBasicTest) {
- CounterObserver observer;
- FullPinyinContext context(PinyinConfig::instance (), &observer);
-
- { // Reset
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "nihao");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("nihao", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.reset ();
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
- }
-
- { // Commit directly
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "nihao");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("nihao", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("nihao", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select candidate
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "nihao");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("nihao", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("你好", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select special phrases.
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhi");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("aazhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("AA制", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select special phrases with some operations.
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhii");
- EXPECT_EQ (6, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊啊之", context.conversionText ());
- EXPECT_EQ ("i", context.restText ());
- EXPECT_EQ ("a a zhi i|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (6, observer.preeditTextCount ());
- EXPECT_EQ (6, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorLeft ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("i", context.restText ());
- EXPECT_EQ ("aazhi|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("AA制", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("i", context.restText ());
- EXPECT_EQ ("|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("AA制i", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Many operations
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhi");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("aazhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.focusCandidate (1);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊啊之", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a a zhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (4);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("阿", context.selectedText ());
- EXPECT_EQ ("啊之", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a zhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.unselectCandidates ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊啊之", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a a zhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorLeft ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("a a zh|i", context.restText ());
- EXPECT_EQ ("a a zh|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.insert ('i');
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("i", context.restText ());
- EXPECT_EQ ("aazhi|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.removeCharBefore ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("a a zh|i", context.restText ());
- EXPECT_EQ ("a a zh|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorRight ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("aazhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.removeWordBefore ();
- EXPECT_EQ (2, context.cursor ());
- EXPECT_EQ ("aa", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊啊", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a a|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- insertKeys (context, "nihao");
- EXPECT_EQ (7, context.cursor ());
- EXPECT_EQ ("aanihao", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊啊你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a a ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (1);
- EXPECT_EQ (7, context.cursor ());
- EXPECT_EQ ("aanihao", context.inputText ());
- EXPECT_EQ ("啊啊", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("啊啊nihao", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-}
-
-TEST_F (PyZyTest, DoublePinyinBasicTest) {
- CounterObserver observer;
- DoublePinyinContext context(PinyinConfig::instance (), &observer);
-
- { // Reset
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "nihk");
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("nihk", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.reset ();
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
- }
-
- { // Commit directly
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "nihk");
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("nihk", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("nihk", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select candidate
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "nihk");
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("nihk", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("你好", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select special phrases.
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhi");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("aazhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("AA制", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select special phrases with some operations.
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhii");
- EXPECT_EQ (6, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊展翅", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a zang chi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (6, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorLeft ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("i", context.restText ());
- EXPECT_EQ ("aazhi|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("AA制", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("i", context.restText ());
- EXPECT_EQ ("|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("AA制i", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Many operations
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhi");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("aazhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.focusCandidate (1);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊战场", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a zang ch|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (3);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("阿", context.selectedText ());
- EXPECT_EQ ("战场", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("zang ch|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- // TODO(hsumita) fix. maybe we should get AA制
- observer.clear ();
- context.unselectCandidates ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊战场", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a zang ch|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorLeft ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("a zang|i", context.restText ());
- EXPECT_EQ ("a zang|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.insert ('i');
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("i", context.restText ());
- EXPECT_EQ ("aazhi|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.removeCharBefore ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("a zang|i", context.restText ());
- EXPECT_EQ ("a zang|i", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorRight ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("AA制", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("aazhi|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.removeWordBefore ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazh", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊张", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a zang|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- insertKeys (context, "nihk");
- EXPECT_EQ (8, context.cursor ());
- EXPECT_EQ ("aazhnihk", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("啊张你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("a zang ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (1);
- EXPECT_EQ (8, context.cursor ());
- EXPECT_EQ ("aazhnihk", context.inputText ());
- EXPECT_EQ ("啊", context.selectedText ());
- EXPECT_EQ ("张你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("zang ni hao|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("啊zhnihk", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-}
-
-TEST_F (PyZyTest, BopomofoBasicTest) {
- CounterObserver observer;
- BopomofoContext context(BopomofoConfig::instance (), &observer);
-
- { // Reset
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "sucl");
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("sucl", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄋㄧ,ㄏㄠ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.reset ();
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
- }
-
- { // Commit directly
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "sucl");
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("sucl", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄋㄧ,ㄏㄠ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_RAW);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("sucl", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select candidate
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "sucl");
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("sucl", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄋㄧ,ㄏㄠ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("你好", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Don't use special phrases for bopomofo.
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhi");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈好吃哦", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("妈妈好吃哦", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Select special phrases with some operations.
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhii");
- EXPECT_EQ (6, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈好吃哦哦", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ,ㄛ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (6, observer.preeditTextCount ());
- EXPECT_EQ (6, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorLeft ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("ㄇㄇㄈㄘㄛ ㄛ", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ|ㄛ", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (0);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("妈妈好吃哦", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("ㄛ", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("妈妈好吃哦ㄛ", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-
- { // Many operations
- context.reset ();
-
- observer.clear ();
- insertKeys (context, "aazhi");
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈好吃哦", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (5, observer.preeditTextCount ());
- EXPECT_EQ (5, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.focusCandidate (1);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (3);
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("慢慢", context.selectedText ());
- EXPECT_EQ ("好吃哦", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄈ,ㄘ,ㄛ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- // TODO(hsumita) maybe we should get AA制
- observer.clear ();
- context.unselectCandidates ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈好吃哦", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- // TODO (hsumita): should we use a space as a separator of restText
- // TODO (hsumita): "ㄇㄇㄈㄘ ㄛ" is conversionText or restText ?
- observer.clear ();
- context.moveCursorLeft ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("ㄇㄇㄈㄘ ㄛ", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ|ㄛ", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.insert ('i');
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhii", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("ㄇㄇㄈㄘㄛ ㄛ", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ|ㄛ", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.removeCharBefore ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("ㄇㄇㄈㄘ ㄛ", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ|ㄛ", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.moveCursorRight ();
- EXPECT_EQ (5, context.cursor ());
- EXPECT_EQ ("aazhi", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈好吃哦", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄛ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.removeWordBefore ();
- EXPECT_EQ (4, context.cursor ());
- EXPECT_EQ ("aazh", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈好吃", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- insertKeys (context, "nihk");
- EXPECT_EQ (8, context.cursor ());
- EXPECT_EQ ("aazhnihk", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("妈妈好吃是哦车", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄇ,ㄇ,ㄈ,ㄘ,ㄙ,ㄛ,ㄘㄜ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (4, observer.preeditTextCount ());
- EXPECT_EQ (4, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.selectCandidate (1);
- EXPECT_EQ (8, context.cursor ());
- EXPECT_EQ ("aazhnihk", context.inputText ());
- EXPECT_EQ ("妈妈", context.selectedText ());
- EXPECT_EQ ("好吃是哦车", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("ㄈ,ㄘ,ㄙ,ㄛ,ㄘㄜ|", context.auxiliaryText ());
- EXPECT_LT (0, context.candidates ().size ());
- EXPECT_EQ ("", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (0, observer.commitTextCount ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ (0, context.cursor ());
- EXPECT_EQ ("", context.inputText ());
- EXPECT_EQ ("", context.selectedText ());
- EXPECT_EQ ("", context.conversionText ());
- EXPECT_EQ ("", context.restText ());
- EXPECT_EQ ("", context.auxiliaryText ());
- EXPECT_EQ (0, context.candidates ().size ());
- EXPECT_EQ ("妈妈ㄈㄘㄙㄛㄘㄜ", observer.commitedText ());
- EXPECT_EQ (1, observer.preeditTextCount ());
- EXPECT_EQ (1, observer.lookupTableCount ());
- EXPECT_EQ (1, observer.commitTextCount ());
- }
-}
-
-TEST_F (PyZyTest, Commit) {
- { // Pinyin commit
- CounterObserver observer;
- FullPinyinContext context(PinyinConfig::instance (), &observer);
-
- observer.clear ();
- insertKeys (context, "nihao");
- EXPECT_EQ ("nihao", context.inputText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_RAW);
- EXPECT_EQ ("nihao", observer.commitedText ());
-
- context.reset ();
- observer.clear ();
- insertKeys (context, "nihao");
- EXPECT_EQ ("nihao", context.inputText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_PHONETIC);
- EXPECT_EQ ("nihao", observer.commitedText ());
-
- context.reset ();
- observer.clear ();
- insertKeys (context, "nihao");
- EXPECT_EQ ("nihao", context.inputText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("ni hao|", context.auxiliaryText ());
-
- // To get "你好", we should call selectCandidate().
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ ("nihao", observer.commitedText ());
- }
-
- { // Bopomofo commit
- CounterObserver observer;
- BopomofoContext context(BopomofoConfig::instance (), &observer);
-
- observer.clear ();
- insertKeys (context, "sucl");
- EXPECT_EQ ("sucl", context.inputText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("ㄋㄧ,ㄏㄠ|", context.auxiliaryText ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_RAW);
- EXPECT_EQ ("sucl", observer.commitedText ());
-
- context.reset ();
- observer.clear ();
- insertKeys (context, "sucl");
- EXPECT_EQ ("sucl", context.inputText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("ㄋㄧ,ㄏㄠ|", context.auxiliaryText ());
-
- observer.clear ();
- context.commit (InputContext::TYPE_PHONETIC);
- EXPECT_EQ ("ㄋㄧㄏㄠ", observer.commitedText ());
-
- context.reset ();
- observer.clear ();
- insertKeys (context, "sucl");
- EXPECT_EQ ("sucl", context.inputText ());
- EXPECT_EQ ("你好", context.conversionText ());
- EXPECT_EQ ("ㄋㄧ,ㄏㄠ|", context.auxiliaryText ());
-
- // To get "你好", we should call selectCandidate().
- observer.clear ();
- context.commit (InputContext::TYPE_CONVERTED);
- EXPECT_EQ ("ㄋㄧㄏㄠ", observer.commitedText ());
- }
-}