diff --git a/lib/compress.js b/lib/compress.js index 6436796f..e8c42c04 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -1029,9 +1029,9 @@ merge(Compressor.prototype, { case "void": return void ev(e, compressor); case "~": return ~ev(e, compressor); case "-": - e = ev(e, compressor); - if (e === 0) throw def; - return -e; + e = -ev(e, compressor); + if (e === -0) throw def; + return e; case "+": return +ev(e, compressor); } throw def; diff --git a/test/compress/evaluate.js b/test/compress/evaluate.js new file mode 100644 index 00000000..9aa6b3d3 --- /dev/null +++ b/test/compress/evaluate.js @@ -0,0 +1,9 @@ +negative_zero: { + options = { evaluate: true } + input: { + assert.sameValue(-"", -0, '-""'); + } + expect: { + assert.sameValue(-"", -0, '-""'); + } +}