power-assert-js / babel-plugin-espower

Babel plugin for power-assert
MIT License
93 stars 6 forks source link

Skip modifying argument if SpreadElement appears immediately beneath assert #29

Closed twada closed 5 years ago

twada commented 5 years ago

Skip modifying argument if SpreadElement appears immediately beneath assert.

repro case:

const args = [true === false, 'message'];
assert(...args);

assert(...args) looks like one argument syntactically, however there are two arguments actually.

babel-plugin-espower works at the syntax level so it cannot handle SpreadElement that appears immediately beneath assert.

fixes #28 refs https://github.com/avajs/ava/issues/2004