Skip to content

Double escaping in qunit/reporter.js #147

Open
@mmelvin0

Description

@mmelvin0

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;");
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions