From 0da5f0a49593bf9a24f15a8c4ff7a36ff4d04c69 Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Wed, 26 Jul 2023 11:50:37 +0100 Subject: very rough parameter parser --- t/args.t | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 t/args.t (limited to 't/args.t') diff --git a/t/args.t b/t/args.t new file mode 100644 index 0000000..686adc6 --- /dev/null +++ b/t/args.t @@ -0,0 +1,35 @@ +#!/bin/bash + +. t/testlib.sh + +declare first_parser + +set +x + +bos-args/build-parser-code-into first_parser \ + -scalar one scalar_var \ + -array two array_var \ + -assoc three assoc_var \ + -assignment-scalar '${name}="${value}"' \ + -assignment-array '${name}+=( "${value}" )' \ + -assignment-assoc '${name}+=( ["${key}"]="${value}" )' + +should-succeed "should build parser" + +diag "$first_parser" + +declare -a array_var +declare -A assoc_var + +eval "function first-parser() { $first_parser }" +first-parser -two a -three x y -two b -one foo -three w z -unused + +is "$scalar_var" 'foo' 'scalar should be set' + +is "${array_var[0]}" 'a' 'array should get first value' +is "${array_var[1]}" 'b' 'array should get second value' + +is "${assoc_var[x]}" 'y' 'assoc should get first value' +is "${assoc_var[w]}" 'z' 'assoc should get second value' + +done-testing -- cgit v1.2.3