Collation cleanup and test added

db4
Daniel Ehrenberg 2008-06-01 13:50:12 -05:00
parent a2ee33f282
commit 94776f6841
2 changed files with 6 additions and 8 deletions

View File

@ -24,6 +24,9 @@ IN: unicode.collation.tests
[ t t f f ] [ "hello" "HELLO" test-equality ] unit-test
[ t t t f ] [ "hello" "h e l l o." test-equality ] unit-test
[ t t t t ] [ "hello" "\0hello\0" test-equality ] unit-test
[ { "good bye" "goodbye" "hello" "HELLO" } ]
[ { "HELLO" "goodbye" "good bye" "hello" } sort-strings ]
unit-test
parse-test 2 <clumps>
[ [ test-two ] assoc-each ] with-null-writer

View File

@ -154,18 +154,13 @@ PRIVATE>
0 insensitive= ;
<PRIVATE
: compare-collation ( {str1,key} {str2,key} -- <=> )
2dup [ second ] bi@ <=> dup +eq+ =
[ drop <=> ] [ 2nip ] if ;
: w/collation-key ( str -- {str,key} )
dup collation-key 2array ;
[ collation-key ] keep 2array ;
PRIVATE>
: sort-strings ( strings -- sorted )
[ w/collation-key ] map
[ compare-collation ] sort
keys ;
natural-sort values ;
: string<=> ( str1 str2 -- <=> )
[ w/collation-key ] bi@ compare-collation ;
[ w/collation-key ] compare ;