From 70e30e8eec7f202cb584449e4c7a9176d57d980d Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Mon, 16 Feb 2015 17:12:04 +0100 Subject: dc: tweak parsing https://bugs.debian.org/538685 dc requires whitespace between language elements. We were requiring 1 2 + p instead of the abbreviated 1 2+p (for example). function old new delta stack_machine 97 126 +29 dc_main 117 79 -38 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 29/-38) Total: -9 bytes Signed-off-by: Bernhard Reutner-Fischer Signed-off-by: Denys Vlasenko --- testsuite/dc.tests | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 testsuite/dc.tests (limited to 'testsuite') diff --git a/testsuite/dc.tests b/testsuite/dc.tests new file mode 100755 index 000000000..a5da5372d --- /dev/null +++ b/testsuite/dc.tests @@ -0,0 +1,56 @@ +#!/bin/sh +# Copyright 2015 by Bernhard Reutner-Fischer +# Licensed under GPLv2 or later, see file LICENSE in this source tree. + +. ./testing.sh + +# testing "test name" "command" "expected result" "file input" "stdin" + +testing "dc basic syntax (stdin, multiple args)" \ + "dc" \ + "30\n" \ + "" "10 20+p" + +testing "dc basic syntax (argv, single arg)" \ + "dc '10 20+p'" \ + "30\n" \ + "" "" + +testing "dc basic syntax (argv, multiple args)" \ + "dc 10 20+p" \ + "30\n" \ + "" "" + +testing "dc complex with spaces (single arg)" \ + "dc '8 8 * 2 2 + / p'" \ + "16\n" \ + "" "" + +testing "dc complex without spaces (single arg)" \ + "dc '8 8*2 2+/p'" \ + "16\n" \ + "" "" + +testing "dc complex with spaces (multiple args)" \ + "dc 8 8 \* 2 2 + / p" \ + "16\n" \ + "" "" + +testing "dc complex without spaces (multiple args)" \ + "dc 8 8\*2 2+/p" \ + "16\n" \ + "" "" + +exit $FAILCOUNT + +# we do not support arguments +testing "dc -e " \ + "dc -e '10 2+f'" \ + "12\n" \ + "" "" + +testing "dc -f " \ + "dc -f input" \ + "12\n" \ + "10 2+f" "" + -- cgit v1.2.3