#!/bin/bash

# SUSv3 compliant sort tests.
# Copyright 2005 by Rob Landley <rob@landley.net>
# Licensed under GPL v2, see file LICENSE for details.

. testing.sh

# The basic tests.  These should work even with the small busybox.

testing "sort" "sort input" "a\nb\nc\n" "c\na\nb\n" ""
testing "sort #2" "sort input" "010\n1\n3\n" "3\n1\n010\n" ""
testing "sort stdin" "sort" "a\nb\nc\n" "" "b\na\nc\n"
testing "sort numeric" "sort -n input" "1\n3\n010\n" "3\n1\n010\n" ""
testing "sort reverse" "sort -r input" "wook\nwalrus\npoint\npabst\naargh\n" \
	"point\nwook\npabst\naargh\nwalrus\n" ""

# These tests require the full option set.

optional FEATURE_SORT_BIG
# Longish chunk of data re-used by the next few tests

data="42	1	3	woot
42	1	010	zoology
egg	1	2	papyrus
7	3	42	soup
999	3	0	algebra
"

# Sorting with keys

testing "sort one key" "sort -k4,4 input" \
"999	3	0	algebra
egg	1	2	papyrus
7	3	42	soup
42	1	3	woot
42	1	010	zoology
" "$data" ""

testing "sort key range with numeric option" "sort -k2,3n input" \
"42	1	010	zoology
42	1	3	woot
egg	1	2	papyrus
7	3	42	soup
999	3	0	algebra
" "$data" ""

test x"$SKIP_KNOWN_BUGS" = x"" && {
# Busybox is definitely doing these wrong.  FIXME
testing "sort key range with numeric option and global reverse" \
"sort -k2,3n -r input" \
"egg	1	2	papyrus
42	1	3	woot
42	1	010	zoology
999	3	0	algebra
7	3	42	soup
" "$data" ""

testing "sort key range with multiple options" "sort -k2,3rn input" \
"7	3	42	soup
999	3	0	algebra
42	1	010	zoology
42	1	3	woot
egg	1	2	papyrus
" "$data" ""
}

testing "sort key range with two -k options" "sort -k 2,2n -k 1,1r input" "\
d 2
b 2
c 3
" "\
c 3
b 2
d 2
" ""

testing "sort with non-default leading delim 1" "sort -n -k2 -t/ input" "\
/a/2
/b/1
" "\
/a/2
/b/1
" ""

testing "sort with non-default leading delim 2" "sort -n -k3 -t/ input" "\
/b/1
/a/2
" "\
/b/1
/a/2
" ""

testing "sort with non-default leading delim 3" "sort -n -k3 -t/ input" "\
//a/2
//b/1
" "\
//a/2
//b/1
" ""

testing "sort -u should consider field only when discarding" "sort -u -k2 input" "\
a c
" "\
a c
b c
" ""

testing "sort -z outputs NUL terminated lines" "sort -z input" "\
one\0three\0two\0\
" "\
one\0two\0three\0\
" ""

testing "sort key doesn't strip leading blanks, disables fallback global sort" \
"sort -n -k2 -t ' '" " a \n 1 \n 2 \n" "" " 2 \n 1 \n a \n"

exit $FAILCOUNT
