Skip to content

Fix command escaping to match runner #301

@ericsciple

Description

@ericsciple

The toolkit uses the new command syntax (::command::), yet the old escaping rules (for ##[command]).

The escaping rules are:

        private static readonly EscapeMapping[] _escapeDataMappings = new[]
        {
            new EscapeMapping(token: "\r", replacement: "%0D"),
            new EscapeMapping(token: "\n", replacement: "%0A"),
            new EscapeMapping(token: "%", replacement: "%25"),
        };

        private static readonly EscapeMapping[] _escapePropertyMappings = new[]
        {
            new EscapeMapping(token: "\r", replacement: "%0D"),
            new EscapeMapping(token: "\n", replacement: "%0A"),
            new EscapeMapping(token: ":", replacement: "%3A"),
            new EscapeMapping(token: ",", replacement: "%2C"),
            new EscapeMapping(token: "%", replacement: "%25"),
        };

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions