sglanzer-deprecated/ember-cli-blanket

Double escaping in qunit/reporter.js

Opened this issue · 0 comments

The escapeInvalidXmlChars() function looks like this:

function escapeInvalidXmlChars(str) {
    return str.replace(/\&/g, "&")
        .replace(/</g, "&lt;")
        .replace(/\>/g, "&gt;")
        .replace(/\"/g, "&quot;")
        .replace(/\'/g, "&apos;")
        .replace(/`/g, "&grave;")
        .replace(/[$]/g, "&dollar;")
        .replace(/&/g, "&amp;");
}

Note you're double-escaping &. Also I'm not sure why grave accent and $ need to be escaped.

Couldn't this be simplified to this:

function escapeInvalidXmlChars(str) {
    return str.replace(/\&/g, "&amp;")
        .replace(/</g, "&lt;")
        .replace(/\>/g, "&gt;")
        .replace(/\"/g, "&quot;")
        .replace(/\'/g, "&apos;");
}