#!/bin/bash setUp() { rm test*.yml 2>/dev/null || true rm test*.toml 2>/dev/null || true rm test*.tfstate 2>/dev/null || true rm test*.json 2>/dev/null || true rm test*.properties 2>/dev/null || true rm test*.csv 2>/dev/null || true rm test*.tsv 2>/dev/null || true rm test*.xml 2>/dev/null || true } testInputJson() { cat >test.json <test.toml <test.tfstate <test.json <test.properties <test.properties <test.csv <test.tsv <test.xml <BiBi EOL read -r -d '' expected << EOM BiBi EOM X=$(./yq e test.xml) assertEquals "$expected" "$X" X=$(./yq ea test.xml) assertEquals "$expected" "$X" } testInputXmlNamespaces() { cat >test.xml < EOL read -r -d '' expected << EOM EOM X=$(./yq e test.xml) assertEquals "$expected" "$X" X=$(./yq ea test.xml) assertEquals "$expected" "$X" } testInputXmlStrict() { cat >test.xml < ]> &writer;©right; EOL X=$(./yq --xml-strict-mode test.xml 2>&1) assertEquals 1 $? assertEquals "Error: bad file 'test.xml': XML syntax error on line 7: invalid character entity &writer;" "$X" X=$(./yq ea --xml-strict-mode test.xml 2>&1) assertEquals "Error: bad file 'test.xml': XML syntax error on line 7: invalid character entity &writer;" "$X" } testInputXmlGithubAction() { cat >test.xml <BiBi EOL read -r -d '' expected << EOM BiBi EOM X=$(cat /dev/null | ./yq e test.xml) assertEquals "$expected" "$X" X=$(cat /dev/null | ./yq ea test.xml) assertEquals "$expected" "$X" } source ./scripts/shunit2