/** * Copyright JS Foundation and other contributors, http://js.foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. **/ const should = require("should"); const sinon = require("sinon"); const path = require("path"); const NR_TEST_UTILS = require("nr-test-utils"); const localfilesystem = NR_TEST_UTILS.require("@node-red/registry/lib/localfilesystem"); const resourcesDir = path.resolve(path.join(__dirname,"resources","local")); const userDir = path.resolve(path.join(__dirname,"resources","userDir")); const nodesDir1 = path.resolve(path.join(__dirname,"resources","nodesDir1")) const nodesDir2 = path.resolve(path.join(__dirname,"resources","nodesDir2")) const nodesDir3 =path.resolve(path.join(__dirname,"resources","nodesDir3")) const moduleDir = path.resolve(path.join(__dirname,"resources","local","TestNodeModule")); const i18n = NR_TEST_UTILS.require("@node-red/util").i18n; describe("red/nodes/registry/localfilesystem",function() { var stubs = []; function stubPathJoin() { var _join = path.join; stubs.push(sinon.stub(path,"join").callsFake(function() { if (arguments[0] == resourcesDir) { // This stops the module tree scan from going any higher // up the tree than resourcesDir. return arguments[0]; } return _join.apply(null,arguments); })); } beforeEach(function() { stubs.push(sinon.stub(i18n,"registerMessageCatalog").callsFake(function() { return Promise.resolve(); })); }) afterEach(function() { while(stubs.length) { stubs.pop().restore(); } }) function checkNodes(nodes,shouldHaveNodes,shouldNotHaveNodes,module) { for (var i=0;i