@@ -38,9 +38,13 @@ function findRuntimePath() {
3838 if ( upPkg . pkg . name === 'node-red' ) {
3939 return path . join ( path . dirname ( upPkg . path ) , upPkg . pkg . main ) ;
4040 }
41- // case 2: NR is installed alongside node-red-node-test-helper
42- if ( ( upPkg . pkg . dependencies && upPkg . pkg . dependencies [ 'node-red' ] )
43- || ( upPkg . pkg . devDependencies && upPkg . pkg . devDependencies [ 'node-red' ] ) ) {
41+ // case 2: NR is resolvable from here
42+ try {
43+ return require . resolve ( 'node-red' ) ;
44+ } catch ( ignored ) { }
45+ // case 3: NR is installed alongside node-red-node-test-helper
46+ if ( ( upPkg . pkg . dependencies && upPkg . pkg . dependencies [ 'node-red' ] ) ||
47+ ( upPkg . pkg . devDependencies && upPkg . pkg . devDependencies [ 'node-red' ] ) ) {
4448 const dirpath = path . join ( path . dirname ( upPkg . path ) , 'node_modules' , 'node-red' ) ;
4549 try {
4650 const pkg = require ( path . join ( dirpath , 'package.json' ) ) ;
@@ -52,12 +56,12 @@ function findRuntimePath() {
5256class NodeTestHelper extends EventEmitter {
5357 constructor ( ) {
5458 super ( ) ;
55-
59+
5660 this . _sandbox = sinon . createSandbox ( ) ;
57-
61+
5862 this . _address = '127.0.0.1' ;
5963 this . _listenPort = 0 ; // ephemeral
60-
64+
6165 this . init ( ) ;
6266 }
6367
@@ -86,7 +90,7 @@ class NodeTestHelper extends EventEmitter {
8690 apply : ( target , thisArg , args ) => {
8791 const retval = Reflect . apply ( target , thisArg , args ) ;
8892 process . nextTick ( function ( call ) { return ( ) => {
89- NodePrototype . emit . call ( thisArg , `call:${ methodName } ` , call ) ;
93+ NodePrototype . emit . call ( thisArg , `call:${ methodName } ` , call ) ;
9094 } } ( spy . lastCall ) ) ;
9195 return retval ;
9296 }
@@ -122,7 +126,7 @@ class NodeTestHelper extends EventEmitter {
122126 }
123127
124128 var storage = {
125- getFlows : function ( ) {
129+ getFlows : function ( ) {
126130 return when . resolve ( { flows :testFlow , credentials :testCredentials } ) ;
127131 }
128132 } ;
@@ -136,17 +140,17 @@ class NodeTestHelper extends EventEmitter {
136140 } ;
137141
138142 Object . keys ( this . _RED ) . filter ( prop => ! / ^ ( i n i t | s t a r t | s t o p ) $ / . test ( prop ) )
139- . forEach ( prop => {
140- const propDescriptor = Object . getOwnPropertyDescriptor ( this . _RED , prop ) ;
141- Object . defineProperty ( red , prop , propDescriptor ) ;
142- } ) ;
143+ . forEach ( prop => {
144+ const propDescriptor = Object . getOwnPropertyDescriptor ( this . _RED , prop ) ;
145+ Object . defineProperty ( red , prop , propDescriptor ) ;
146+ } ) ;
143147
144148 const redNodes = this . _redNodes ;
145149 redNodes . init ( {
146150 events : this . _events ,
147151 settings : settings ,
148- storage :storage ,
149- log :this . _log
152+ storage : storage ,
153+ log : this . _log
150154 } ) ;
151155 redNodes . registerType ( "helper" , function ( n ) {
152156 redNodes . createNode ( this , n ) ;
@@ -198,8 +202,8 @@ class NodeTestHelper extends EventEmitter {
198202
199203 startServer ( done ) {
200204 this . _app = express ( ) ;
201- const server = stoppable ( http . createServer ( ( req , res ) => {
202- this . _app ( req , res ) ;
205+ const server = stoppable ( http . createServer ( ( req , res ) => {
206+ this . _app ( req , res ) ;
203207 } ) , 0 ) ;
204208
205209 this . _RED . init ( server , {
@@ -224,7 +228,7 @@ class NodeTestHelper extends EventEmitter {
224228 // internal API
225229 this . _comms . stop ( ) ;
226230 this . _server . stop ( done ) ;
227- } catch ( e ) {
231+ } catch ( e ) {
228232 done ( ) ;
229233 }
230234 } else {
@@ -234,4 +238,4 @@ class NodeTestHelper extends EventEmitter {
234238}
235239
236240module . exports = new NodeTestHelper ( ) ;
237- module . exports . NodeTestHelper = NodeTestHelper ;
241+ module . exports . NodeTestHelper = NodeTestHelper ;
0 commit comments