diff --git a/packages/driver/src/cy/chai.coffee b/packages/driver/src/cy/chai.coffee index a9f0cb7e7c8..bec79889a79 100644 --- a/packages/driver/src/cy/chai.coffee +++ b/packages/driver/src/cy/chai.coffee @@ -18,6 +18,7 @@ allPropertyWordsBetweenSingleQuotes = /('.*?')$/g allButLastWordsBetweenSingleQuotes = /('.*?')(.+)/g allBetweenFourStars = /\*\*.*\*\*/ +allNumberStrings = /'([0-9]+)'/g allSingleQuotes = /'/g allEscapedSingleQuotes = /\\'/g allQuoteMarkers = /__quote__/g @@ -74,6 +75,7 @@ chai.use (chai, u) -> ## and if an empty string, put the quotes back message.replace allBetweenFourStars, (match) -> match + .replace(allNumberStrings, "__quote__$1__quote__") .replace(allEscapedSingleQuotes, "__quote__") # preserve escaped quotes .replace(allSingleQuotes, "") .replace(allQuoteMarkers, "'") ## put escaped quotes back diff --git a/packages/driver/test/cypress/integration/commands/assertions_spec.coffee b/packages/driver/test/cypress/integration/commands/assertions_spec.coffee index 6a0b3db5da0..c9a57bc1ece 100644 --- a/packages/driver/test/cypress/integration/commands/assertions_spec.coffee +++ b/packages/driver/test/cypress/integration/commands/assertions_spec.coffee @@ -742,6 +742,18 @@ describe "src/cy/commands/assertions", -> assert.isFalse(false, "is false") expect(@logs[0].get("message")).to.eq("is false: expected **false** to be false") + context "format", -> + it "format number strings", (done) -> + cy.on "log:added", (attrs, log) -> + if attrs.name is "assert" + cy.removeAllListeners("log:added") + + expect(log.get("message")).to.eq "expected **25** to equal **\'25\'**" + done() + + cy.then -> + expect(25).to.eq('25') + context "chai overrides", -> beforeEach -> @$body = cy.$$("body")