#!/bin/sh . ./test.sh tab() { printf " " } space() { printf " " } bar() { printf "bar" } nl() { printf "\n" } test "prints error on trailing tabs detected" ( bar; bar; bar; nl; bar; bar; bar; tab; nl; bar; bar; bar; nl; bar; bar; tab; tab; nl; bar; tab; nl; bar; bar; bar; nl; tab; bar; bar; bar; nl; tab; tab; bar; bar; bar; nl; tab; nl; tab; tab; bar; bar; bar; tab; nl; ) > foo [ "$(lts foo 2>&1)" = "foo:2:10: Trailing tabs detected foo:4:7: Trailing tabs detected foo:5:4: Trailing tabs detected foo:9:1: Trailing tabs detected foo:10:12: Trailing tabs detected" ] test "return error status on trailing tabs detected" ( bar; bar; bar; nl; bar; bar; bar; tab; nl; bar; bar; bar; nl; bar; bar; tab; tab; nl; bar; tab; nl; bar; bar; bar; nl; tab; bar; bar; bar; nl; tab; tab; bar; bar; bar; nl; tab; nl; tab; tab; bar; bar; bar; tab; nl; ) > foo ! lts foo 2>/dev/null test "prints error on trailing spaces detected" ( bar; bar; bar; nl; bar; bar; bar; space; nl; bar; bar; bar; nl; bar; bar; space; space; nl; bar; space; nl; bar; bar; bar; nl; space; bar; bar; bar; nl; space; space; bar; bar; bar; nl; space; nl; space; space; bar; bar; bar; space; nl; ) > foo [ "$(lts foo 2>&1)" = "foo:2:10: Trailing spaces detected foo:4:7: Trailing spaces detected foo:5:4: Trailing spaces detected foo:9:1: Trailing spaces detected foo:10:12: Trailing spaces detected" ] test "returns error status on trailing spaces detected" ( bar; bar; bar; nl; bar; bar; bar; space; nl; bar; bar; bar; nl; bar; bar; space; space; nl; bar; space; nl; bar; bar; bar; nl; space; bar; bar; bar; nl; space; space; bar; bar; bar; nl; space; nl; space; space; bar; bar; bar; space; nl; ) > foo ! lts foo 2>/dev/null test "return error status on trailing tabs and spaces detected" ( bar; bar; bar; nl; bar; bar; bar; tab; nl; bar; bar; bar; nl; bar; bar; space; space; nl; bar; tab; nl; bar; bar; bar; nl; space; bar; bar; bar; nl; space; space; bar; bar; bar; nl; space; nl; space; space; bar; bar; bar; tab; nl; ) > foo [ "$(lts foo 2>&1)" = "foo:2:10: Trailing tabs detected foo:4:7: Trailing spaces detected foo:5:4: Trailing tabs detected foo:9:1: Trailing spaces detected foo:10:12: Trailing tabs detected" ] ! lts foo 2>/dev/null