CB-13471: Fix tests and path issues for Windows
authorRaphael von der Grün <raphinesse@gmail.com>
Sat, 5 May 2018 06:11:40 +0000 (23:11 -0700)
committerDarryl Pogue <dvpdiner2@gmail.com>
Mon, 7 May 2018 18:56:29 +0000 (11:56 -0700)
spec/ConfigChanges/ConfigFile.spec.js
src/ConfigChanges/ConfigFile.js

index 3d3f64e..2da5ee8 100644 (file)
@@ -82,4 +82,10 @@ describe('ConfigFile tests', function () {
         var configPath = path.join('project_dir', 'app', 'src', 'main', file, 'xml');
         expect(configFile.resolveConfigFilePath('project_dir', 'android', file)).toBe(configPath);
     });
+
+    it('resolveConfigFilePath should return file path', function () {
+        var file = 'res/xml';
+        var configPath = path.join('project_dir', 'app', 'src', 'main', file, 'xml');
+        expect(configFile.resolveConfigFilePath('project_dir', 'android', file)).toBe(configPath);
+    });
 });
index 6f4f4c9..eb6df45 100644 (file)
@@ -166,6 +166,8 @@ function resolveConfigFilePath (project_dir, platform, file) {
     var filepath = path.join(project_dir, file);
     var matches;
 
+    file = path.normalize(file);
+
     if (file.indexOf('*') > -1) {
         // handle wildcards in targets using glob.
         matches = modules.glob.sync(path.join(project_dir, '**', file));
@@ -195,7 +197,7 @@ function resolveConfigFilePath (project_dir, platform, file) {
         } else if (file.endsWith('strings.xml')) {
             // Plugins really shouldn't mess with strings.xml, since it's able to be localized
             filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'values', 'strings.xml');
-        } else if (file.match(/res\/xml/)) {
+        } else if (file.includes(path.join('res', 'xml'))) {
             // Catch-all for all other stored XML configuration in legacy plugins
             var config_file = path.basename(file);
             filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'xml', config_file);