#!/bin/bash setUp() { rm test*.yml 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 } testInputProperties() { cat >test.properties <test.properties <test.csv <test.tsv <test.yml <BiBi EOL read -r -d '' expected << EOM cat: +content: BiBi +legs: "4" EOM X=$(./yq e -p=xml test.yml) assertEquals "$expected" "$X" X=$(./yq ea -p=xml test.yml) assertEquals "$expected" "$X" } testInputXmlNamespaces() { cat >test.yml < EOL read -r -d '' expected << EOM map: +xmlns: some-namespace +xmlns:xsi: some-instance +xsi:schemaLocation: some-url EOM X=$(./yq e -p=xml test.yml) assertEquals "$expected" "$X" X=$(./yq ea -p=xml test.yml) assertEquals "$expected" "$X" } testInputXmlStrict() { cat >test.yml < ]> &writer;©right; EOL X=$(./yq -p=xml --xml-strict-mode test.yml 2>&1) assertEquals 1 $? assertEquals "Error: bad file 'test.yml': XML syntax error on line 7: invalid character entity &writer;" "$X" X=$(./yq ea -p=xml --xml-strict-mode test.yml 2>&1) assertEquals "Error: bad file 'test.yml': XML syntax error on line 7: invalid character entity &writer;" "$X" } testInputXmlGithubAction() { cat >test.yml <BiBi EOL read -r -d '' expected << EOM cat: +content: BiBi +legs: "4" EOM X=$(cat /dev/null | ./yq e -p=xml test.yml) assertEquals "$expected" "$X" X=$(cat /dev/null | ./yq ea -p=xml test.yml) assertEquals "$expected" "$X" } source ./scripts/shunit2