summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* WIN32 build fixesWon-Kyu Park2023-02-122-2/+7
|
* test: fail_unless -> ck_assertChoe Hwanjin2021-12-311-135/+135
| | | | | | | | | | | | | | | | fail_unless macro from libcheck is deprecated. Use new ck_assert macro. The following warnings are reported with libcheck-0.15.2: ``` libhangul/test/test.c:450:17: warning: too many arguments for format [-Wformat-extra-args] 450 | "error: next syllable: L L V V T T"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... ``` Maybe, the commit below causes the warning: https://github.com/libcheck/check/commit/82540c5428d3818b64d6a8aefb601e722520651f
* cmake: Add ENABLE_UNIT_TEST optionChoe Hwanjin2021-10-301-0/+4
| | | | | check library가 없이 테스크 코드를 빌드하기 위한 옵션을 추가한다.
* test: Add TEST_HANJA_TXT definition to hanja testChoe Hwanjin2021-10-233-2/+10
| | | | | 시스템 디렉토리가 아닌 소스 디렉토리의 hanja.txt 파일을 테스트하기 위해서 TEST_HANJA_TXT를 사용한다.
* cmake: Add BUILD_SHARED_LIBS optionChoe Hwanjin2021-10-121-1/+1
| | | | | | | | | | | 사용자가 Shared와 Static 빌드를 선택할 수 있게 BUILD_SHARED_LIBS 옵션을 추가한다. ENABLE_EXTERNAL_KEYBOARDS 옵션이 ON 일때에만 expat을 찾아도 되므로 조건 처리한다. 추가로 find_package()를 사용한다. 패키지를 찾을 때에는 include()보다 나을 것 같다.
* Add CMake build filesChoe Hwanjin2021-09-201-0/+52
| | | | CMake로도 빌드할 수 있으면 좀더 편리하다.
* Add LIBHANGUL_KEYBOARD_PATH environment variable featuremasterkeyboard-pathChoe Hwanjin2021-09-193-2/+14
| | | | | | | | | | | | | | | | LIBHANGUL_KEYBOARD_PATH 환경 변수를 설정하면 그 위치의 키보드 파일을 로딩하게 한다. 테스트할 때에는 시스템에 설치된 키보드 파일이 아니라 빌드 디렉토리의 키보드 파일을 사용해야 의미가 있다. 빌드 디렉토리의 키보드을 로딩할 수 있는 기능을 제공하기위해서 LIBHANGUL_KEYBOARD_PATH 환경 변수를 도입한다. 소스 디렉토리에는 키보드 파일 템플릿만 있다. 완성된 키보드 파일은 빌드 디렉토리에 생성되므로 빌드 디렉토리에서 키보드 파일을 로딩해야 한다. 그러나 거기에는 combination 파일이 없으므로 제대로된 테스트를 위해서는 combination 파일도 복사해주는 룰이 필요하다. AC_CONFIG_LINKS()를 사용하여 소스만 고치고도 테스트 가능하게 한다.
* Remove compiler warnings with -Wpedantic (#44)Choe Hwanjin2021-04-041-0/+1
| | | | | | | pedantic 옵션을 추가했을 때 발생하는 워닝을 제거한다. 다른 워닝이 발생하는 곳도 같이 수정한다. https://github.com/libhangul/libhangul/issues/44
* User custom 자판 등록 기능 제공Choe Hwanjin2018-06-061-0/+17
| | | | | | | | | | hangul_keyboard_list에 사용자가 생성한 HangulKeyboard를 등록할 수 있는 api를 추가한다. 관련하여 unit test 코드도 추가함. https://github.com/libhangul/libhangul/pull/21 https://github.com/libhangul/libhangul/issues/28
* 순아래 종성 연타 입력 테스트 추가Choe Hwanjin2018-06-051-0/+8
| | | | | | ㅎㅐㅅㅅ입력 테스트 추가 https://github.com/choehwanjin/ibus-hangul/issues/58
* 키보드 파일을 로딩시 재귀호출 테스트 코드 추가Choe Hwanjin2018-06-053-2/+20
| | | | | | 키보드 파일이 자기자신을 include한 경우에대한 테스트 코드 추가한다. 관련 api hangul_keyboard_new_from_file()도 추가하고 샘플 키보드 파일 recursive.xml을 추가한다.
* xml로 작성된 외부의 한글 자판을 로딩하는 기능 구현Choe Hwanjin2016-03-052-4/+12
| | | | | | | | | | | | | | 한글 자판 파일의 확장성을 고려하여 자판 파일은 xml로 구성하도록 한다. xml 파서는 expat을 사용한다. xml 번역을 위해서 intltool을 사용하고 autopoint대신 intltool로 gettext을 초기화 한다. 한글 자판 관리는 HangulKeyboardList를 통해서 한다. 한글 자판을 로딩하고 언로딩하기 위해서 hangul_init()/hangul_fini()와 같은 함수를 추가로 도입한다. HangulKeyboard는 HangulCombination과 세트로 관리하는 편이 합리적인 것 같다.
* hangul ic: HANGUL_IC_OPTION_NON_CHOSEONG_COMBI 옵션 추가Choe Hwanjin2016-02-241-0/+17
| | | | | | | | | | 첫음절에 유니코드 초성에 없는 글자도 조합하는 기능을 설정할 수 있게 한다. libhangul에서는 ㄳ이나 ㄺ등 초성에 없는 글자를 첫음절에서 조합하는 기능을 제공하지 않았다. 그러나 MS IME와 호환성을 높이기 위해서 이 기능을 추가하였으므로, 이 기능을 켜고 끌 수 있도록 옵션으로 처리한다. 관련 유닛테스트 코드도 추가한다.
* hangul ic: HANGUL_IC_OPTION_COMBI_ON_DOUBLE_STROKE 옵션 추가Choe Hwanjin2016-02-231-46/+112
| | | | | | | | | | | | | | | | 두벌식에서 자음을 연속 입력해서 된소리로 조합해주는 기능을 설정으로 조정할 수 있게 한다. (예를 들어 ㄱ+ㄱ을 ㄲ으로 변환해 주는 기능) 이에 따라서 관련 유닛 테스트 코드를 변경하고 이 옵션을 테스트할 코드를 추가한다. 기본값은 MS IME 호환을 위해서 false로 설정한다. 세벌식의 경우에는 이 기능이 자판의 기본적인 동작 방식이므로 이 옵션으로 조정되지 않는다. 두벌식 옛한글 자판의 경우에는 현대 한글 자모의 경우만 조합이 제한되고 옛한글 자모들은 그대로 조합된다. 구현에 필요한 hangul_is_jamo_conjoinable 함수도 추가.
* input context 입력 옵션 설정 기능 추가: auto reorderChoe Hwanjin2016-02-211-10/+69
| | | | | | | | | | hangul_ic_set_option 함수를 통해서 입력 옵션 설정이 가능하다. 처음에는 filter 함수를 이용해서 라이브러리 외부에서 좀더 유연하게 조종할 수 있도록 하려 했었는데, 옵션을 만드는 쪽이 구현과 사용이 더 쉬울 것 같아서 옵션으로 추가한다. 첫번째 구현으로 auto reorder 옵션을 추가하고, 관련 테스트 코드도 추가한다. 기본값은 MS IME 호환을 위해서 false로 설정한다.
* backspace 테스트 케이스 추가: 두벌식Choe Hwanjin2016-02-211-0/+9
|
* MS IME 호환 기능 추가: ㄳ 입력 기능 추가Choe Hwanjin2016-02-201-0/+5
| | | | | | | | 원래 이 글자들은 유니코드 초성에 없는 글자들이라서 입력 기능을 제공하지 않았지만, MS IME 호환 기능을 요구하는 경우가 많아서 libhangul 수준에서 제공하기로 결정한다. 그래서 ㄳ은 초성이 결합하여 종성이 되도록 combination table을 만든다.
* hangul_jamo_to_cjamo에 대한 unit test case 추가Choe Hwanjin2013-11-031-0/+15
|
* test 코드에서 속편하게 wchar_t로 비교Choe Hwanjin2011-08-282-82/+59
| | | | | | | | wchar_t 내용이 UCS-4라고 가정해서는 안되지만, GCC를 사용하는 경우에 한해서 사용이 쉬우므로 이렇게 수정한다. git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@265 8f00fcd2-89fc-0310-932e-b01be5b65e01
* AM_ICONV 매크로 사용Choe Hwanjin2011-07-182-2/+6
| | | | | | | freebsd에서 컴파일 오류가 발생하는 것을 막기 위한 것 git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@262 8f00fcd2-89fc-0310-932e-b01be5b65e01
* Use variable LIBINTLChoe Hwanjin2011-07-181-3/+3
| | | | | | | | To compile with GNU gettext, we need libintl on freebsd. So it is safer to specify the variable LIBINTL which is set by AM_GNU_GETTEXT. git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@261 8f00fcd2-89fc-0310-932e-b01be5b65e01
* 두벌식 테스트 추가Choe Hwanjin2011-03-111-0/+4
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@260 8f00fcd2-89fc-0310-932e-b01be5b65e01
* 두벌식과 두벌식 옛글 자판에 대한 테스트 케이스 추가Choe Hwanjin2010-12-261-0/+99
| | | | | | | | 계속 추가할 예정 디버깅할때 편리하기 위해서 NOFORK 모드를 사용 git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@243 8f00fcd2-89fc-0310-932e-b01be5b65e01
* 완성 음절로 표현이 불가능한 경우 한글 자모로 표현Choe Hwanjin2010-12-191-0/+60
| | | | | | | | | | | | | | 지금까지는 완성 음절로 표현이 불가능한 중성 + 종성 같은 음절의 경우 호환자모 중성과 종성을 나열하여 표현하였는데, 이제는 한글 자모 영역의 글자를 사용하여 초성채움 + 중성 + 종성으로 표현한다. 이렇게 기능을 수정하면, 옛한글 자판의 경우도 hangul_buffer_get_string() 함수를 그대로 사용할 수 있으므로 자판 관리가 좀더 편리해지는 측면이 있다. 그러나 단점으로 세벌식에서 모아치기 기능을 활용하는 중에 한글 자모로 표현한 글자가 나타날 수 있는데, 이때에 이 글자를 제대로 렌더링 하지 못할 가능성이 있다. git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@233 8f00fcd2-89fc-0310-932e-b01be5b65e01
* 한글 키보드의 리스트와 이름을 가져오는 인터페이스 구현Choe Hwanjin2010-11-141-0/+26
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@227 8f00fcd2-89fc-0310-932e-b01be5b65e01
* deprecate된 함수를 사용하지 않음Choe Hwanjin2009-10-181-8/+0
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@202 8f00fcd2-89fc-0310-932e-b01be5b65e01
* 로마자 구현Choe Hwanjin2009-10-161-0/+117
| | | | | | | | | | | * 로마자 입력 방식 구현 * 로마자 입력 방식 테스트 코드 구현 * backspace에서 stack이 바닥나면 초중성 코드를 모두 지운다. 로마자 입력방식에서 임의로 추가된 중성 코드가 backspace 입력될때 같이 지워지기 위한 구현 git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@199 8f00fcd2-89fc-0310-932e-b01be5b65e01
* unit test 코드 적용:Choe Hwanjin2008-12-202-0/+150
| | | | | | | | | * check 라이브러리를 이용하여 구현 * check 라이브러리가 없어도 libhangul을 빌드하는 데는 문제 없게 설정 * 시범삼아 syllable iterator 코드의 테스트 코드 작성 git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@190 8f00fcd2-89fc-0310-932e-b01be5b65e01
* 테스트 코드 수정:Choe Hwanjin2008-02-241-4/+7
| | | | | | | * hanja.c에서 검색 결과 출력 포맷 수정 git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@159 8f00fcd2-89fc-0310-932e-b01be5b65e01
* AC_C_BIGENDIAN 사용Choe Hwanjin2007-07-111-4/+7
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@132 8f00fcd2-89fc-0310-932e-b01be5b65e01
* include string.h, 워닝 제거Choe Hwanjin2007-07-101-0/+1
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@129 8f00fcd2-89fc-0310-932e-b01be5b65e01
* hanja 테스트 코드 변경Choe Hwanjin2007-07-081-9/+21
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@127 8f00fcd2-89fc-0310-932e-b01be5b65e01
* hanja_list_delete(), hanja_table_delete() 변경 적용Choe Hwanjin2006-12-271-2/+2
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@105 8f00fcd2-89fc-0310-932e-b01be5b65e01
* 마지막 글자를 nul로 채움Choe Hwanjin2006-11-171-0/+5
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@98 8f00fcd2-89fc-0310-932e-b01be5b65e01
* test.c -> hangul.cChoe Hwanjin2006-11-132-4/+4
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@96 8f00fcd2-89fc-0310-932e-b01be5b65e01
* * 새로 작성된 hangul_ic_new() 루틴 사용Choe Hwanjin2006-11-131-14/+43
| | | | | | | * wcstombs() 대신 iconv() 사용 git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@95 8f00fcd2-89fc-0310-932e-b01be5b65e01
* hanja test 코드 추가Choe Hwanjin2006-10-272-1/+29
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@82 8f00fcd2-89fc-0310-932e-b01be5b65e01
* hangul/hangul.h,hangul/hangulinputcontext.c:Choe Hwanjin2006-10-011-3/+3
| | | | | | | | | * add hangul_ic_flush() function which flushes the current buffer and return it. returned pointer is not need to freed, but it is available until other HangulInputContext function is called. git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@76 8f00fcd2-89fc-0310-932e-b01be5b65e01
* filter 함수 인자 바뀐 것을 적용함Choe Hwanjin2006-02-251-1/+1
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@62 8f00fcd2-89fc-0310-932e-b01be5b65e01
* add hangul_ic_set_filter() functionChoe Hwanjin2006-02-171-6/+16
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@52 8f00fcd2-89fc-0310-932e-b01be5b65e01
* rename hangul_ic_filter to hangul_ic_processChoe Hwanjin2006-02-111-1/+1
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@51 8f00fcd2-89fc-0310-932e-b01be5b65e01
* Apply the changes, libtoolize and new api hangul_ic_flushChoe Hwanjin2005-11-042-8/+7
| | | | git-svn-id: http://kldp.net/svn/hangul/libhangul/trunk@34 8f00fcd2-89fc-0310-932e-b01be5b65e01
* Change api of hangul_ic_filter(); remove capslock argument.Choe Hwanjin2004-12-141-1/+1
| | | | git-svn-id: http://kldp.net/svn/hangul/trunk/hangul@13 8f00fcd2-89fc-0310-932e-b01be5b65e01
* Initial revisionChoe Hwanjin2004-11-082-0/+61
git-svn-id: http://kldp.net/svn/hangul/trunk/hangul@3 8f00fcd2-89fc-0310-932e-b01be5b65e01