diff --git a/pkg/js/README-parse_tests.md b/pkg/js/README-parse_tests.md new file mode 100644 index 0000000000..a23cd40942 --- /dev/null +++ b/pkg/js/README-parse_tests.md @@ -0,0 +1,42 @@ + +# Parse Tests + +The `parse_tests` directory contains test cases for `js_test.go`. `js_test.go` +scans for files named `DDD-*.js` where `DDD` is a three-digit number. + +* `parse_tests/001-basic.js` -- The dnsconfig.js file. +* `parse_tests/001-basic.json` -- The EXPECTED output of "print-ir" for the `.js` file. +* `parse_tests/001-basic.json.ACTUAL` -- The ACTUAL output of "print-ir" for the `.js` file (not saved in git) +* `parse_tests/001-basic/foo.com.zone` -- Zonefiles from the domains mentioned in dnsconfig.js + +NOTE: The zonefiles are only generated if a matching `DDD-name/DOMAINNAME.zone` file exists. + +Any files committed to Git should be in standard format. + +# Fix formatting + +Fix the `.js` formatting: + +``` +cd parse_tests +for i in *.js ; do echo ========== $i ; dnscontrol fmt -i $i -o $i ; done +``` + +Fix the `.json` formatting: + +``` +cd parse_tests +fmtjson *.json *.json.ACTUAL +``` + +# Copy actuals to expected. + +Back-port the ACTUAL results to the expected results: + +(This is dangerous. Carefully inspect the resulting PR.) + +``` +cd parse_tests +fmtjson *.json *.json.ACTUAL +for i in *.ACTUAL ; do f=$(basename $i .ACTUAL) ; cp $i $f ; done +```