diff --git a/test/unit/@node-red/registry/lib/localfilesystem_spec.js b/test/unit/@node-red/registry/lib/localfilesystem_spec.js
index 3b1bb63f3..3ce74c158 100644
--- a/test/unit/@node-red/registry/lib/localfilesystem_spec.js
+++ b/test/unit/@node-red/registry/lib/localfilesystem_spec.js
@@ -329,17 +329,36 @@ describe("red/nodes/registry/localfilesystem",function() {
localfilesystem.init({nodesDir:[nodesDir2]});
const nodeModule = localfilesystem.getModuleFiles();
const loaded = Object.keys(nodeModule)
- loaded.should.have.a.property("length", 3)
loaded.indexOf('@test/testnode').should.greaterThan(-1, "Should load @test/testnode")
+ loaded.indexOf('lower-case').should.greaterThan(-1, "Should load lower-case")
+ loaded.indexOf('@lowercase/lower-case2').should.greaterThan(-1, "Should load @lowercase/lower-case2")
loaded.indexOf('testnode2').should.greaterThan(-1, "Should load testnode2")
loaded.indexOf('test-theme2').should.greaterThan(-1, "Should load test-theme2")
+ loaded.should.have.a.property("length", 5)
+ // scoped module with nodes in same dir as package.json
nodeModule['@test/testnode'].should.have.a.property('name','@test/testnode');
nodeModule['@test/testnode'].should.have.a.property('version','1.0.0');
nodeModule['@test/testnode'].should.have.a.property('nodes');
nodeModule['@test/testnode'].should.have.a.property('path');
nodeModule['@test/testnode'].should.have.a.property('user', false);
+ // node-red module with nodes in sub dir
+ nodeModule['@lowercase/lower-case2'].should.have.a.property('name','@lowercase/lower-case2');
+ nodeModule['@lowercase/lower-case2'].should.have.a.property('version','2.0.0');
+ nodeModule['@lowercase/lower-case2'].should.have.a.property('nodes');
+ nodeModule['@lowercase/lower-case2'].nodes.should.have.a.property('lower-case');
+ nodeModule['@lowercase/lower-case2'].should.have.a.property('path');
+ nodeModule['@lowercase/lower-case2'].should.have.a.property('user', false);
+
+ // scoped module with nodes in sub dir
+ nodeModule['lower-case'].should.have.a.property('name', 'lower-case');
+ nodeModule['lower-case'].should.have.a.property('version','1.0.0');
+ nodeModule['lower-case'].should.have.a.property('nodes');
+ nodeModule['lower-case'].nodes.should.have.a.property('lower-case');
+ nodeModule['lower-case'].should.have.a.property('path');
+ nodeModule['lower-case'].should.have.a.property('user', false);
+
nodeModule['testnode2'].should.have.a.property('name','testnode2');
nodeModule['testnode2'].should.have.a.property('version','1.0.0');
nodeModule['testnode2'].should.have.a.property('nodes');
diff --git a/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/lower-case2/lower-case.html b/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/lower-case2/lower-case.html
new file mode 100644
index 000000000..617f48491
--- /dev/null
+++ b/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/lower-case2/lower-case.html
@@ -0,0 +1,26 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/lower-case2/lower-case.js b/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/lower-case2/lower-case.js
new file mode 100644
index 000000000..73579ba04
--- /dev/null
+++ b/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/lower-case2/lower-case.js
@@ -0,0 +1,11 @@
+module.exports = function(RED) {
+function LowerCaseNode(config) {
+ RED.nodes.createNode(this,config);
+ var node = this;
+ node.on('input', function(msg) {
+ msg.payload = msg.payload.toLowerCase();
+ node.send(msg);
+ });
+ }
+ RED.nodes.registerType("lower-case2",LowerCaseNode);
+}
\ No newline at end of file
diff --git a/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/package.json b/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/package.json
new file mode 100644
index 000000000..6b6ce9aa9
--- /dev/null
+++ b/test/unit/@node-red/registry/lib/resources/nodesDir2/@lower-case2/package.json
@@ -0,0 +1,9 @@
+{
+ "name" : "@lowercase/lower-case2",
+ "node-red" : {
+ "nodes": {
+ "lower-case": "lower-case2/lower-case.js"
+ }
+ },
+ "version": "2.0.0"
+}
\ No newline at end of file
diff --git a/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/lower-case/lower-case.html b/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/lower-case/lower-case.html
new file mode 100644
index 000000000..e57d51131
--- /dev/null
+++ b/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/lower-case/lower-case.html
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/lower-case/lower-case.js b/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/lower-case/lower-case.js
new file mode 100644
index 000000000..006b35eb6
--- /dev/null
+++ b/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/lower-case/lower-case.js
@@ -0,0 +1,11 @@
+module.exports = function(RED) {
+ function LowerCaseNode(config) {
+ RED.nodes.createNode(this,config);
+ var node = this;
+ node.on('input', function(msg) {
+ msg.payload = msg.payload.toLowerCase();
+ node.send(msg);
+ });
+ }
+ RED.nodes.registerType("lower-case",LowerCaseNode);
+}
diff --git a/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/package.json b/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/package.json
new file mode 100644
index 000000000..a632eaddd
--- /dev/null
+++ b/test/unit/@node-red/registry/lib/resources/nodesDir2/lower-case/package.json
@@ -0,0 +1,9 @@
+{
+ "name" : "lower-case",
+ "node-red" : {
+ "nodes": {
+ "lower-case": "lower-case/lower-case.js"
+ }
+ },
+ "version": "1.0.0"
+}