@@ -10,6 +10,16 @@ var script = path.join(__dirname, 'fixtures', 'script.js')
10
10
var spawn = require ( 'child_process' ) . spawn
11
11
var strictlib = libs . strict
12
12
13
+ function isNodeVersionGE ( required ) {
14
+ var nodeVersion = process . version . substr ( 1 ) . split ( '.' )
15
+ for ( var i = 0 ; i < required . length ; i ++ ) {
16
+ if ( + nodeVersion [ i ] < required [ i ] ) {
17
+ return false
18
+ }
19
+ }
20
+ return true
21
+ }
22
+
13
23
describe ( 'depd(namespace)' , function ( ) {
14
24
it ( 'creates deprecated function' , function ( ) {
15
25
assert . strictEqual ( typeof depd ( 'test' ) , 'function' )
@@ -730,9 +740,9 @@ describe('node script.js', function () {
730
740
; ( function ( ) {
731
741
// --*-deprecation switches are 0.8+
732
742
// no good way to feature detect this sync
733
- var describe = / ^ v 0 \. 6 \. / . test ( process . version )
734
- ? global . describe . skip
735
- : global . describe
743
+ var describe = isNodeVersionGE ( [ 0 , 8 ] )
744
+ ? global . describe
745
+ : global . describe . skip
736
746
737
747
describe ( 'node --no-deprecation script.js' , function ( ) {
738
748
it ( 'should suppress deprecation message' , function ( done ) {
@@ -755,6 +765,19 @@ describe('node script.js', function () {
755
765
} )
756
766
} ( ) )
757
767
768
+ describe ( 'node --disallow-code-generation-from-strings script.js' , function ( ) {
769
+ it ( 'should run without error' , function ( done ) {
770
+ if ( ! isNodeVersionGE ( [ 9 ] ) ) this . skip ( ) // --disallow-code-generation-from-strings is 9+
771
+
772
+ var basic = path . join ( __dirname , 'fixtures' , 'basic.js' )
773
+ captureChildStderr ( basic , [ '--disallow-code-generation-from-strings' ] , function ( err , stderr ) {
774
+ if ( err ) return done ( err )
775
+ assert . strictEqual ( stderr , '' )
776
+ done ( )
777
+ } )
778
+ } )
779
+ } )
780
+
758
781
function captureChildStderr ( script , opts , callback ) {
759
782
var chunks = [ ]
760
783
var env = { PATH : process . env . PATH }
0 commit comments