Skip to content

should.be.calledOnce() crashes when an argument is module #17

@jandppw

Description

@jandppw
  it('cannot handle module as a parameter', function () {
    const x = {
      method: function (m) {
        return m.path
      }
    }

    const xSpy = sinon.spy(x, 'method')

    const result = x.method(module)
    xSpy.calledOnce.should.be.true() // works
    xSpy.should.be.calledOnce() // fails
  })

After a very deep dive through sinon/formatio#ascii.XXX, a toString fails:

TypeError: Cannot convert undefined or null to object
    at toString (<anonymous>)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:105:23)
    at Formatio.ascii.object (node_modules/@sinonjs/formatio/lib/formatio.js:201:19)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:123:25)
    at Formatio.ascii.array (node_modules/@sinonjs/formatio/lib/formatio.js:146:21)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:91:28)
    at Formatio.ascii.object (node_modules/@sinonjs/formatio/lib/formatio.js:201:19)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:123:25)
    at Formatio.ascii.array (node_modules/@sinonjs/formatio/lib/formatio.js:146:21)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:91:28)
    at Formatio.ascii.object (node_modules/@sinonjs/formatio/lib/formatio.js:201:19)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:123:25)
    at Formatio.ascii.array (node_modules/@sinonjs/formatio/lib/formatio.js:146:21)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:91:28)
    at Formatio.ascii.object (node_modules/@sinonjs/formatio/lib/formatio.js:201:19)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:123:25)
    at Formatio.ascii.array (node_modules/@sinonjs/formatio/lib/formatio.js:146:21)
    at ascii (node_modules/@sinonjs/formatio/lib/formatio.js:91:28)
    at Formatio.ascii.object (node_modules/@sinonjs/formatio/lib/formatio.js:201:19)
 …

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions