#!/bin/sh
# Copyright 2008 by Denys Vlasenko
# Licensed under GPL v2, see file LICENSE for details.

. testing.sh

# Need this in order to not execute shell builtin
bb="busybox "

# testing "test name" "command" "expected result" "file input" "stdin"

testing "printf produces no further output 1" \
	"${bb}printf '\c' foo" \
	"" \
	"" ""

testing "printf produces no further output 2" \
	"${bb}printf '%s\c' foo bar" \
	"foo" \
	"" ""

testing "printf repeatedly uses pattern for each argv" \
	"${bb}printf '%s\n' foo \$HOME" \
	"foo\n$HOME\n" \
	"" ""

testing "printf understands %b escaped_string" \
	"${bb}printf '%b' 'a\tb' 'c\\d\n' 2>&1; echo \$?" \
	"a\tbc\\d\n""0\n" \
	"" ""

testing "printf understands %d '\"x' \"'y\" \"'zTAIL\"" \
	"${bb}printf '%d\n' '\"x' \"'y\" \"'zTAIL\" 2>&1; echo \$?" \
	"120\n""121\n""122\n""0\n" \
	"" ""

testing "printf understands %s '\"x' \"'y\" \"'zTAIL\"" \
	"${bb}printf '%s\n' '\"x' \"'y\" \"'zTAIL\" 2>&1; echo \$?" \
	"\"x\n""'y\n""'zTAIL\n""0\n" \
	"" ""

testing "printf understands %23.12f" \
	"${bb}printf '|%23.12f|\n' 5.25 2>&1; echo \$?" \
	"|         5.250000000000|\n""0\n" \
	"" ""

testing "printf understands %*.*f" \
	"${bb}printf '|%*.*f|\n' 23 12 5.25 2>&1; echo \$?" \
	"|         5.250000000000|\n""0\n" \
	"" ""

testing "printf understands %*f with negative width" \
	"${bb}printf '|%*f|\n' -23 5.25 2>&1; echo \$?" \
	"|5.250000               |\n""0\n" \
	"" ""

testing "printf understands %.*f with negative precision" \
	"${bb}printf '|%.*f|\n' -12 5.25 2>&1; echo \$?" \
	"|5.250000|\n""0\n" \
	"" ""

testing "printf understands %*.*f with negative width/precision" \
	"${bb}printf '|%*.*f|\n' -23 -12 5.25 2>&1; echo \$?" \
	"|5.250000               |\n""0\n" \
	"" ""

testing "printf understands %zd" \
	"${bb}printf '%zd\n' -5 2>&1; echo \$?" \
	"-5\n""0\n" \
	"" ""

testing "printf understands %ld" \
	"${bb}printf '%ld\n' -5 2>&1; echo \$?" \
	"-5\n""0\n" \
	"" ""

testing "printf understands %Ld" \
	"${bb}printf '%Ld\n' -5 2>&1; echo \$?" \
	"-5\n""0\n" \
	"" ""

# "FIXED" now to act compatibly
## We are "more correct" here than bash/coreutils: they happily print -2
## as if it is a huge unsigned number
#testing "printf handles %u -N" \
#	"${bb}printf '%u\n' 1 -2 3 2>&1; echo \$?" \
#	"1\n""printf: -2: invalid number\n""0\n""3\n""0\n" \
#	"" ""

# Actually, we are wrong here: exit code should be 1
testing "printf handles %d bad_input" \
	"${bb}printf '%d\n' 1 - 2 bad 3 123bad 4 2>&1; echo \$?" \
"1\n""printf: -: invalid number\n""0\n"\
"2\n""printf: bad: invalid number\n""0\n"\
"3\n""printf: 123bad: invalid number\n""0\n"\
"4\n""0\n" \
	"" ""

testing "printf aborts on bare %" \
	"${bb}printf '%' a b c 2>&1; echo \$?" \
	"printf: %: invalid format\n""1\n" \
	"" ""

testing "printf aborts on %r" \
	"${bb}printf '%r' a b c 2>&1; echo \$?" \
	"printf: %r: invalid format\n""1\n" \
	"" ""

exit $FAILCOUNT
