| 112 | } |
| 113 | |
| 114 | function compareStdout(done, sourceMap, source, expected) { |
| 115 | fs.writeFileSync('.original.js', 'this is the original code'); |
| 116 | fs.writeFileSync('.generated.js.map', String(sourceMap)); |
| 117 | fs.writeFileSync('.generated.js', source.join('\n') + |
| 118 | '//@ sourceMappingURL=.generated.js.map'); |
| 119 | child_process.exec('node ./.generated', function(error, stdout, stderr) { |
| 120 | try { |
| 121 | compareLines( |
| 122 | (stdout + stderr) |
| 123 | .trim() |
| 124 | .split(/\r\n|\n/) |
| 125 | .filter(function (line) { return line !== '' }), // Empty lines are not relevant. |
| 126 | expected |
| 127 | ); |
| 128 | } catch (e) { |
| 129 | return done(e); |
| 130 | } |
| 131 | fs.unlinkSync('.generated.js'); |
| 132 | fs.unlinkSync('.generated.js.map'); |
| 133 | fs.unlinkSync('.original.js'); |
| 134 | done(); |
| 135 | }); |
| 136 | } |
| 137 | |
| 138 | it('normal throw', function() { |
| 139 | compareStackTrace(createMultiLineSourceMap(), [ |