path: iojs@1.6.0 breaks compatibility with previous versions
In iojs 1.5.1:
> path.dirname(undefined)
'.'
> path.dirname([ 'sup/dude' ])
'sup'
In iojs 1.6.0:
> path.dirname(undefined)
TypeError: Path must be a string. Received undefined
at assertPath (path.js:8:11)
at Object.posix.dirname (path.js:539:3)
at repl:1:6
at REPLServer.defaultEval (repl.js:124:27)
at bound (domain.js:254:14)
at REPLServer.runBound [as eval] (domain.js:267:12)
at REPLServer.<anonymous> (repl.js:277:12)
at emitOne (events.js:77:13)
at REPLServer.emit (events.js:166:7)
at REPLServer.Interface._onLine (readline.js:195:10)
> path.dirname([ 'sup/dude' ])
TypeError: Path must be a string. Received [ 'sup/dude' ]
at assertPath (path.js:8:11)
at Object.posix.dirname (path.js:539:3)
at repl:1:6
at REPLServer.defaultEval (repl.js:124:27)
at bound (domain.js:254:14)
at REPLServer.runBound [as eval] (domain.js:267:12)
at REPLServer.<anonymous> (repl.js:277:12)
at emitOne (events.js:77:13)
at REPLServer.emit (events.js:166:7)
at REPLServer.Interface._onLine (readline.js:195:10)
This appears to be a bug introduced by this PR: https://github.com/iojs/io.js/pull/1153.
This suddenly started causing tests in webtorrent
and browserify
to start failing. Here's an example.