• R/O
  • SSH
  • HTTPS

qrobosdk: コミット


コミットメタ情報

リビジョン1787 (tree)
日時2010-04-18 07:10:54
作者satofumi

ログメッセージ

add test pattern TestConvertToJp

変更サマリ

差分

--- trunk/libs/input/TestConvertToJp.cpp (revision 1786)
+++ trunk/libs/input/TestConvertToJp.cpp (revision 1787)
@@ -68,4 +68,8 @@
6868 actual = Utf8(convertToJp("si"));
6969 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), actual.size());
7070 CPPUNIT_ASSERT_EQUAL(Utf8("し")[0], actual[0]);
71+
72+ actual = Utf8(convertToJp("あ"));
73+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), actual.size());
74+ CPPUNIT_ASSERT_EQUAL(Utf8("あ")[0], actual[0]);
7175 }
--- trunk/libs/input/convertToJp.cpp (revision 1786)
+++ trunk/libs/input/convertToJp.cpp (revision 1787)
@@ -10,6 +10,7 @@
1010 #include "convertToJp.h"
1111 #include "roman_table.h"
1212 #include "kana_table.h"
13+#include "Utf8.h"
1314 #include <vector>
1415 #include <cstring>
1516
@@ -33,7 +34,6 @@
3334
3435 std::string qrk::convertToJp(const char* raw_text, bool is_roman)
3536 {
36- //unsigned short[][2][ROMAN_CONVERT_SIZE_MAX] table
3737 const unsigned short* table =
3838 (is_roman) ? &RomanTable[0][0][0] : &KanaTable[0][0][0];
3939 const int pattern_max_size = (is_roman) ?
@@ -40,10 +40,11 @@
4040 static_cast<int>(ROMAN_CONVERT_SIZE_MAX) : KANA_CONVERT_SIZE_MAX;
4141
4242 vector<unsigned short> converted;
43- size_t raw_text_size = strlen(raw_text);
43+ Utf8 utf8_text(raw_text);
44+ size_t raw_text_size = utf8_text.size();
4445 // !!! copy() を使うべき
4546 for (size_t i = 0; i < raw_text_size; ++i) {
46- converted.push_back(raw_text[i]);
47+ converted.push_back(utf8_text[i]);
4748 }
4849
4950 // 先頭文字から比較と変換を行う
旧リポジトリブラウザで表示