[libkkc] Update to 0.2.0-2
Daiki Ueno
ueno at fedoraproject.org
Wed May 1 03:02:22 UTC 2013
commit 7667e811894e20ac8a9f0d68a676fa6298781dba
Author: Daiki Ueno <ueno at unixuser.org>
Date: Wed May 1 12:02:12 2013 +0900
Update to 0.2.0-2
libkkc-HEAD.patch | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
libkkc.spec | 7 +++-
2 files changed, 113 insertions(+), 1 deletions(-)
---
diff --git a/libkkc-HEAD.patch b/libkkc-HEAD.patch
new file mode 100644
index 0000000..6b2a19a
--- /dev/null
+++ b/libkkc-HEAD.patch
@@ -0,0 +1,107 @@
+diff --git a/libkkc/segment-list.vala b/libkkc/segment-list.vala
+index 6960150..fd97306 100644
+--- a/libkkc/segment-list.vala
++++ b/libkkc/segment-list.vala
+@@ -20,6 +20,7 @@ using Gee;
+ namespace Kkc {
+ public class SegmentList : Object {
+ Gee.List<Segment> segments = new ArrayList<Segment> ();
++ Gee.List<int> offsets = new ArrayList<int> ();
+
+ int _cursor_pos = -1;
+ public int cursor_pos {
+@@ -39,6 +40,7 @@ namespace Kkc {
+
+ public void clear () {
+ segments.clear ();
++ offsets.clear ();
+ cursor_pos = -1;
+ }
+
+@@ -46,10 +48,18 @@ namespace Kkc {
+ return segments.get (index);
+ }
+
++ public int get_offset (int index) {
++ return offsets[index];
++ }
++
+ public void set_segments (Segment segment) {
++ int offset = 0;
+ segments.clear ();
++ offsets.clear ();
+ while (segment != null) {
+ segments.add (segment);
++ offsets.add (offset);
++ offset += segment.input.char_count ();
+ segment = segment.next;
+ }
+ }
+diff --git a/libkkc/state.vala b/libkkc/state.vala
+index f19d67c..1495b1e 100644
+--- a/libkkc/state.vala
++++ b/libkkc/state.vala
+@@ -47,10 +47,7 @@ namespace Kkc {
+ void get_input_chars_positions_for_segment (out int start,
+ out int end)
+ {
+- int start_char_pos = 0;
+- for (var i = 0; i < segments.cursor_pos; i++) {
+- start_char_pos += segments[i].input.char_count ();
+- }
++ int start_char_pos = segments.get_offset (segments.cursor_pos);
+ int char_pos = 0;
+ for (start = 0; start < input_chars.size; start++) {
+ if (char_pos >= start_char_pos)
+@@ -59,7 +56,7 @@ namespace Kkc {
+ }
+ int end_char_pos = char_pos + segments[segments.cursor_pos].input.char_count ();
+ for (end = start; end < input_chars.size; end++) {
+- char_pos += input_chars[start].output.char_count ();
++ char_pos += input_chars[end].output.char_count ();
+ if (char_pos >= end_char_pos)
+ break;
+ }
+diff --git a/tests/context.vala b/tests/context.vala
+index e570efa..f13981b 100644
+--- a/tests/context.vala
++++ b/tests/context.vala
+@@ -22,6 +22,7 @@ class ContextTests : Kkc.TestCase {
+ }
+
+ add_test ("initial", this.test_initial);
++ add_test ("conversion-simple", this.test_conversion_simple);
+ add_test ("conversion", this.test_conversion);
+ }
+
+@@ -63,6 +64,30 @@ class ContextTests : Kkc.TestCase {
+ string output;
+ }
+
++ static const ConversionData[] conversion_simple_data = {
++ { "k y u u k a SPC C-Right F10",
++ "きゅうか",
++ "kyuuka",
++ 1,
++ 0,
++ ""
++ }
++ };
++
++ public void test_conversion_simple () {
++ foreach (var conversion in conversion_simple_data) {
++ context.process_key_events (conversion.keys);
++ var output = context.poll_output ();
++ assert (output == conversion.output);
++ assert (context.input == conversion.input);
++ assert (context.segments.get_output () == conversion.segments);
++ assert (context.segments.size == conversion.segments_size);
++ assert (context.segments.cursor_pos == conversion.segments_cursor_pos);
++ context.reset ();
++ context.clear_output ();
++ }
++ }
++
+ static const string CONVERSION_PREFIX_KEYS =
+ "w a t a s h i n o n a m a e h a n a k a n o d e s u ";
+
diff --git a/libkkc.spec b/libkkc.spec
index 93ce122..bba18e8 100644
--- a/libkkc.spec
+++ b/libkkc.spec
@@ -2,7 +2,7 @@
Name: libkkc
Version: 0.2.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Japanese Kana Kanji conversion library
License: GPLv3+
@@ -10,6 +10,7 @@ Group: System Environment/Libraries
URL: https://bitbucket.org/libkkc
Source0: https://bitbucket.org/libkkc/libkkc/downloads/%{name}-%{version}.tar.gz
Source1: https://bitbucket.org/libkkc/libkkc-data/downloads/%{name}-data-%{dataversion}.tar.xz
+Patch0: libkkc-HEAD.patch
BuildRequires: marisa-devel
BuildRequires: vala
@@ -70,6 +71,7 @@ uses at run time.
%prep
%setup -q
+%patch0 -p1 -b .HEAD
%build
@@ -121,6 +123,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
%changelog
+* Wed May 1 2013 Daiki Ueno <dueno at redhat.com> - 0.2.0-2
+- synch with the latest upstream git master
+
* Tue Apr 30 2013 Daiki Ueno <dueno at redhat.com> - 0.2.0-1
- new upstream release
More information about the scm-commits
mailing list