| /* eslint-env node */ |
| |
| var path = require("path"); |
| var fs = require("fs"); |
| var prettyPrint = require("js-beautify").html; |
| |
| function readFile(filePath) { |
| return fs.readFileSync(filePath, { encoding: "utf-8" }).trim(); |
| } |
| |
| function readJSON(jsonPath) { |
| return JSON.parse(readFile(jsonPath)); |
| } |
| |
| var testPageRoot = path.join(__dirname, "test-pages"); |
| |
| exports.getTestPages = function () { |
| return fs.readdirSync(testPageRoot).map(function (dir) { |
| return { |
| dir, |
| source: readFile(path.join(testPageRoot, dir, "source.html")), |
| expectedContent: readFile(path.join(testPageRoot, dir, "expected.html")), |
| expectedMetadata: readJSON( |
| path.join(testPageRoot, dir, "expected-metadata.json") |
| ), |
| }; |
| }); |
| }; |
| |
| exports.prettyPrint = function (html) { |
| return prettyPrint(html, { |
| indent_size: 4, |
| indent_char: " ", |
| indent_level: 0, |
| indent_with_tabs: false, |
| preserve_newlines: false, |
| break_chained_methods: false, |
| eval_code: false, |
| unescape_strings: false, |
| wrap_line_length: 0, |
| wrap_attributes: "auto", |
| wrap_attributes_indent_size: 4, |
| }); |
| }; |