1#!perl
2use strict;
3
4BEGIN
5{
6    require Test::More;
7    if (! eval { require DBD::SQLite }) {
8        Test::More->import(skipall => 'DBD::SQLite not available');
9    } else {
10        Test::More->import(tests => 6);
11    }
12}
13
14package MyDATA;
15use strict;
16use base qw(Class::DBI);
17use Class::DBI::Plugin::Senna
18    index_filename => 't/test_index',
19    index_column   => 'data'
20;
21__PACKAGE__->set_db(Main => 'dbi:SQLite:dbname=t/test.db', undef, undef, { AutoCommit => 1});
22__PACKAGE__->table('MyDATA');
23__PACKAGE__->columns(All => qw(id data));
24
251;
26
27package main;
28use strict;
29
30MyDATA->db_Main->do(qq{
31    CREATE TABLE MyDATA (
32        id PRIMARY KEY,
33        data TEXT
34    );
35});
36
37my $id = 'a';
38while (<DATA>) {
39    chomp;
40    MyDATA->create({ id => $id++, data => $_ });
41}
42
43my $iter = MyDATA->fulltext_search("���ޤä�");
44isa_ok($iter, 'Class::DBI::Plugin::Senna::Iterator');
45is($iter->count, 2);
46while (my $e = $iter->next) {
47    ok($e);
48}
49
50my $obj = MyDATA->retrieve('b');
51$obj->data("���Ť�θ���ˤ������桢���ᤢ�ޤ����֤�Ҥ��ޤҤ���ʤ��ˡ����Ȥ�ऴ�Ȥʤ��ݤˤϤ���̤���������ƻ��᤭���ޤդ��ꤱ�ꡣ");
52$obj->update;
53
54my($rs) = MyDATA->fulltext_search("������ƻ��᤭���ޤդ��ꤱ��");
55is($rs && $rs->id, 'b');
56
57if ($rs) {
58    $rs->delete;
59    ($rs) = MyDATA->fulltext_search("������ƻ��᤭���ޤդ��ꤱ��");
60    ok(!$rs);
61} else {
62    ok(0);
63}
64
65END {
66    eval {MyDATA->senna_index->remove};
67    eval {unlink("t/test.db")};
68}
69__DATA__
70�������ˤξ����������̵��ζ������ꡣհ���м��β֤ο�������ɬ���������魯���������ͤ�פ����餺��ͣ�դ����̴�Τ��Ȥ����������Ԥ��ˤϤۤ�Ӥ̡��Ф��������οФ�Ʊ����
71�������ʤ��礦�����ˡ����β��ϡʤ����⤦�ˡ��¤μ��ˡʤ��夤�ˡ����Ͻ���ʤ�����ݰ�Ͻ���ˤ������Ĥ������˽��鷺���ڤ��ߤ�����ݸ���ʹ������ŷ���������Τ餺��̱����ͫ����ܤߤʤ��Τ�˴�ӤƤ��ޤä���
72�椬��Ǥ⡢��ʿ��ʿ���硢ŷ�Ĥ�ƣ����ͧ�ʤ��ߤȤ�ˡ����¤θ����ơʤ褷�����ˡ�ʿ����ƣ������ʤΤ֤��ˡ�������ޤ�ʤ�˴�ӤƤ��ޤä���
73�Ƕ�Ǥϡ�ϻ�������ƻ���������ʿī���������Ȥ����ͤ�ͭ�ͤ�ʹ���ȡ����դˤǤ��ʤ��ۤɤ���
74�������Ĥϴ���ŷ�Ĥ���ޤιĻҡ����ʼ������븶�ʤ�����Ϥ�˿Ʋ��ζ���λ�¹�ˤ����뻾���������ʤ��̤��Τ��ߤޤ����ˤλ�¹�Ǥ��ꡢ�����������ʤ�������ī�ä����ˤǤ��롣���οƲ��λҡ���벦�ʤ����ߤ����ˤ�̵��̵�̤Ǥ��������λҹ�˾���ʤ�����������ˤΤȤ�����ʿ�������äƾ����ˤʤ�ޤ�������������²��Ϥʤ�ƿͿä�Ϣ�ʤä������λҤ��ü��ܾ�����˾�ʤ褷�������˹��ʤ��ˤ��ˤ�̾����᤿���ˤ��������ޤǤ�ϻ��δ֤ϡ�����μ��ΤǤ��ä���������˾��¤������ʤ��ä���
75