Skip to content

Commit 293ca2c

Browse files
committed
[pbxProject] enforce quote delimiters to support unsupported chars
enforce quote delimiters on names and paths for PBXFileReference
1 parent 5884dec commit 293ca2c

File tree

8 files changed

+20
-18
lines changed

8 files changed

+20
-18
lines changed

lib/pbxProject.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -495,8 +495,10 @@ function pbxFileReferenceObj(file) {
495495

496496
obj.isa = 'PBXFileReference';
497497
obj.lastKnownFileType = file.lastType;
498-
obj.name = file.basename;
499-
obj.path = file.path;
498+
499+
obj.name = "\"" + file.basename + "\"";
500+
obj.path = "\"" + file.path + "\"";
501+
500502
obj.sourceTree = file.sourceTree;
501503

502504
if (file.fileEncoding)

test/addFramework.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ exports.addFramework = {
5252

5353
test.equal(fileRefEntry.isa, 'PBXFileReference');
5454
test.equal(fileRefEntry.lastKnownFileType, '"compiled.mach-o.dylib"');
55-
test.equal(fileRefEntry.name, 'libsqlite3.dylib');
56-
test.equal(fileRefEntry.path, 'usr/lib/libsqlite3.dylib');
55+
test.equal(fileRefEntry.name, '"libsqlite3.dylib"');
56+
test.equal(fileRefEntry.path, '"usr/lib/libsqlite3.dylib"');
5757
test.equal(fileRefEntry.sourceTree, 'SDKROOT');
5858

5959
test.done();

test/addHeaderFile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ exports.addHeaderFile = {
5353
test.equal(fileRefEntry.isa, 'PBXFileReference');
5454
test.equal(fileRefEntry.fileEncoding, 4);
5555
test.equal(fileRefEntry.lastKnownFileType, 'sourcecode.c.h');
56-
test.equal(fileRefEntry.name, 'file.h');
57-
test.equal(fileRefEntry.path, 'file.h');
56+
test.equal(fileRefEntry.name, '"file.h"');
57+
test.equal(fileRefEntry.path, '"file.h"');
5858
test.equal(fileRefEntry.sourceTree, '"<group>"');
5959

6060
test.done();

test/addResourceFile.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ exports.addResourceFile = {
9191
test.equal(fileRefEntry.isa, 'PBXFileReference');
9292
test.equal(fileRefEntry.fileEncoding, undefined);
9393
test.equal(fileRefEntry.lastKnownFileType, '"wrapper.plug-in"');
94-
test.equal(fileRefEntry.name, 'assets.bundle');
95-
test.equal(fileRefEntry.path, 'Resources/assets.bundle');
94+
test.equal(fileRefEntry.name, '"assets.bundle"');
95+
test.equal(fileRefEntry.path, '"Resources/assets.bundle"');
9696
test.equal(fileRefEntry.sourceTree, '"<group>"');
9797

9898
test.done();
@@ -152,8 +152,8 @@ exports.addResourceFile = {
152152
test.equal(fileRefEntry.isa, 'PBXFileReference');
153153
test.equal(fileRefEntry.fileEncoding, undefined);
154154
test.equal(fileRefEntry.lastKnownFileType, '"wrapper.plug-in"');
155-
test.equal(fileRefEntry.name, 'assets.bundle');
156-
test.equal(fileRefEntry.path, 'Plugins/assets.bundle');
155+
test.equal(fileRefEntry.name, '"assets.bundle"');
156+
test.equal(fileRefEntry.path, '"Plugins/assets.bundle"');
157157
test.equal(fileRefEntry.sourceTree, '"<group>"');
158158
test.done();
159159
},

test/addSourceFile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ exports.addSourceFile = {
8989
test.equal(fileRefEntry.isa, 'PBXFileReference');
9090
test.equal(fileRefEntry.fileEncoding, 4);
9191
test.equal(fileRefEntry.lastKnownFileType, 'sourcecode.c.objc');
92-
test.equal(fileRefEntry.name, 'file.m');
93-
test.equal(fileRefEntry.path, 'file.m');
92+
test.equal(fileRefEntry.name, '"file.m"');
93+
test.equal(fileRefEntry.path, '"file.m"');
9494
test.equal(fileRefEntry.sourceTree, '"<group>"');
9595

9696
test.done();

test/addStaticLibrary.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ exports.addStaticLibrary = {
123123

124124
test.equal(fileRefEntry.isa, 'PBXFileReference');
125125
test.equal(fileRefEntry.lastKnownFileType, 'archive.ar');
126-
test.equal(fileRefEntry.name, 'libGoogleAnalytics.a');
127-
test.equal(fileRefEntry.path, 'libGoogleAnalytics.a');
126+
test.equal(fileRefEntry.name, '"libGoogleAnalytics.a"');
127+
test.equal(fileRefEntry.path, '"libGoogleAnalytics.a"');
128128
test.equal(fileRefEntry.sourceTree, '"<group>"');
129129

130130
test.done();

test/removeHeaderFile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ exports.removeHeaderFile = {
7777
test.equal(fileRefEntry.isa, 'PBXFileReference');
7878
test.equal(fileRefEntry.fileEncoding, 4);
7979
test.equal(fileRefEntry.lastKnownFileType, 'sourcecode.c.h');
80-
test.equal(fileRefEntry.name, 'file.h');
81-
test.equal(fileRefEntry.path, 'file.h');
80+
test.equal(fileRefEntry.name, '"file.h"');
81+
test.equal(fileRefEntry.path, '"file.h"');
8282
test.equal(fileRefEntry.sourceTree, '"<group>"');
8383

8484
var deletedFile = proj.removeHeaderFile('Plugins/file.h'),

test/removeResourceFile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ exports.removeResourceFile = {
141141
test.equal(fileRefEntry.isa, 'PBXFileReference');
142142
test.equal(fileRefEntry.fileEncoding, undefined);
143143
test.equal(fileRefEntry.lastKnownFileType, '"wrapper.plug-in"');
144-
test.equal(fileRefEntry.name, 'assets.bundle');
145-
test.equal(fileRefEntry.path, 'Resources/assets.bundle');
144+
test.equal(fileRefEntry.name, '"assets.bundle"');
145+
test.equal(fileRefEntry.path, '"Resources/assets.bundle"');
146146
test.equal(fileRefEntry.sourceTree, '"<group>"');
147147

148148
var deletedFile = proj.removeResourceFile('Resources/assets.bundle'),

0 commit comments

Comments
 (0)