56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
#
|
|
# Copyright (C) 2023 CismonX <admin@cismon.net>
|
|
#
|
|
# Copying and distribution of this file, with or without modification, are
|
|
# permitted in any medium without royalty, provided the copyright notice and
|
|
# this notice are preserved. This file is offered as-is, without any warranty.
|
|
#
|
|
|
|
set tool arif
|
|
set timeout 1
|
|
|
|
set page_size [ random_int 5 10 ]
|
|
set text_len [ random_int 10 100 ]
|
|
set text [ random_string $text_len ]
|
|
|
|
arif_test_start $page_size [ expr { $text_len + 2 } ]
|
|
|
|
arif_query $text
|
|
expect \n
|
|
|
|
proc arif_gen_cands { str start len } {
|
|
for { set i 1 } { $i <= $len } { incr i } {
|
|
set ch [ string index $str [ expr { $start + $i - 1 } ] ]
|
|
if { $ch == "" } {
|
|
break
|
|
}
|
|
set disp [ string repeat $ch [ expr { $start + $i } ] ]
|
|
append result \[ $i \] " " $disp \n
|
|
}
|
|
return $result
|
|
}
|
|
|
|
set pages [ expr { $text_len / $page_size + ( $text_len % $page_size > 0 ) } ]
|
|
for { set i 1 } { $i <= $pages } { incr i } {
|
|
arif_select_page $i
|
|
expect $i\n
|
|
|
|
set start [ expr { ($i - 1) * $page_size } ]
|
|
set expected [ arif_gen_cands $text $start $page_size ]
|
|
|
|
arif_fetch
|
|
expect {
|
|
-ex $expected {}
|
|
default {
|
|
break
|
|
}
|
|
}
|
|
}
|
|
if { $i > $pages } {
|
|
pass "ok"
|
|
} else {
|
|
fail "fetch fail"
|
|
}
|
|
|
|
arif_test_stop
|