@@ -62,15 +62,47 @@ exports.addBuildPhase = {
62
62
fileRefs = [ ] ;
63
63
64
64
for ( var index = 0 ; index < buildPhase . files . length ; index ++ ) {
65
- var file = buildPhase . files [ index ] ;
66
- fileRefs . push ( buildFileSection [ file . value ] . fileRef ) ;
65
+ var file = buildPhase . files [ index ] ,
66
+ fileRef = buildFileSection [ file . value ] . fileRef ;
67
+
68
+ test . ok ( fileRefSection [ fileRef ] ) ;
67
69
}
70
+
71
+ test . done ( ) ;
72
+ } ,
73
+ 'should not add files to PBXFileReference section if already added' : function ( test ) {
74
+ var fileRefSection = proj . pbxFileReferenceSection ( ) ,
75
+ initialFileReferenceSectionItemsCount = Object . keys ( fileRefSection ) ,
76
+ buildPhase = proj . addBuildPhase ( [ 'AppDelegate.m' , 'main.m' ] , 'PBXResourcesBuildPhase' , 'My build phase' ) . buildPhase ,
77
+ afterAdditionBuildFileSectionItemsCount = Object . keys ( fileRefSection ) ;
78
+
79
+ test . deepEqual ( initialFileReferenceSectionItemsCount , afterAdditionBuildFileSectionItemsCount ) ;
80
+ test . done ( ) ;
81
+ } ,
82
+ 'should not add files to PBXBuildFile section if already added' : function ( test ) {
83
+ var buildFileSection = proj . pbxBuildFileSection ( ) ,
84
+ initialBuildFileSectionItemsCount = Object . keys ( buildFileSection ) ,
85
+ buildPhase = proj . addBuildPhase ( [ 'AppDelegate.m' , 'main.m' ] , 'PBXResourcesBuildPhase' , 'My build phase' ) . buildPhase ,
86
+ afterAdditionBuildFileSectionItemsCount = Object . keys ( buildFileSection ) ;
68
87
69
- for ( var index = 0 ; index < fileRefs . length ; index ++ ) {
70
- var fileRef = fileRefs [ index ] ;
88
+ test . deepEqual ( initialBuildFileSectionItemsCount , afterAdditionBuildFileSectionItemsCount ) ;
89
+ test . done ( ) ;
90
+ } ,
91
+ 'should add only missing files to PBXFileReference section' : function ( test ) {
92
+ var fileRefSection = proj . pbxFileReferenceSection ( ) ,
93
+ buildFileSection = proj . pbxBuildFileSection ( ) ,
94
+ initialFileReferenceSectionItemsCount = Object . keys ( fileRefSection ) ,
95
+ buildPhase = proj . addBuildPhase ( [ 'file.m' , 'AppDelegate.m' ] , 'PBXResourcesBuildPhase' , 'My build phase' ) . buildPhase ,
96
+ afterAdditionBuildFileSectionItemsCount = Object . keys ( fileRefSection ) ;
97
+
98
+ for ( var index = 0 ; index < buildPhase . files . length ; index ++ ) {
99
+ var file = buildPhase . files [ index ] ,
100
+ fileRef = buildFileSection [ file . value ] . fileRef ;
101
+
71
102
test . ok ( fileRefSection [ fileRef ] ) ;
72
103
}
73
-
104
+
105
+ test . deepEqual ( initialFileReferenceSectionItemsCount . length , afterAdditionBuildFileSectionItemsCount . length - 2 ) ;
74
106
test . done ( ) ;
75
107
}
76
108
}
0 commit comments