2015-05-19 13:00:06 +02:00
|
|
|
'use strict';
|
2013-08-27 17:57:16 +02:00
|
|
|
var common = require('../common');
|
|
|
|
var assert = require('assert');
|
|
|
|
|
|
|
|
var spawn = require('child_process').spawn;
|
2015-01-07 19:07:18 +01:00
|
|
|
var args = ['--harmony', '--harmony_scoping', '--use-strict', '-i'];
|
2013-08-27 17:57:16 +02:00
|
|
|
var child = spawn(process.execPath, args);
|
|
|
|
|
2015-01-07 19:07:18 +01:00
|
|
|
var input = '(function(){const y=1;y=2})()\n';
|
|
|
|
var expectOut = /^> TypeError: Assignment to constant variable.\n/;
|
2013-08-27 17:57:16 +02:00
|
|
|
|
|
|
|
child.stderr.setEncoding('utf8');
|
|
|
|
child.stderr.on('data', function(c) {
|
|
|
|
throw new Error('child.stderr be silent');
|
|
|
|
});
|
|
|
|
|
|
|
|
child.stdout.setEncoding('utf8');
|
|
|
|
var out = '';
|
|
|
|
child.stdout.on('data', function(c) {
|
|
|
|
out += c;
|
|
|
|
});
|
|
|
|
child.stdout.on('end', function() {
|
|
|
|
assert(expectOut.test(out));
|
|
|
|
console.log('ok');
|
|
|
|
});
|
|
|
|
|
|
|
|
child.stdin.end(input);
|