#!/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" \
	"" ""

# 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
