@@ -142,10 +142,8 @@ private class MockSourceControl : ISourceControl
142
142
{
143
143
public Modification [ ] GetModifications ( IIntegrationResult from , IIntegrationResult to )
144
144
{
145
- Assert . AreEqual ( "first" , from . SourceControlData [ 0 ] . Value , "SourceControlData[0].Value" ) ;
146
-
147
145
to . SourceControlData . Clear ( ) ;
148
- to . SourceControlData . Add ( from . SourceControlData [ 0 ] ) ;
146
+ to . SourceControlData . AddRange ( from . SourceControlData ) ;
149
147
150
148
return new Modification [ ] { } ;
151
149
}
@@ -155,7 +153,32 @@ public void GetSource(IIntegrationResult result) { }
155
153
public void Initialize ( IProject project ) { }
156
154
public void Purge ( IProject project ) { }
157
155
}
156
+
157
+ [ Test ]
158
+ public void HandlesNullSourceControlDataValue ( )
159
+ {
160
+ var from = IntegrationResultMother . CreateSuccessful ( DateTime . Now ) ;
161
+ var to = IntegrationResultMother . CreateSuccessful ( DateTime . Now . AddDays ( 10 ) ) ;
162
+
163
+ from . SourceControlData . Add ( new NameValuePair ( "SVN:LastRevision:svn://myserver/mypath" , null ) ) ;
164
+
165
+ var sourceControls = new List < ISourceControl > { new MockSourceControl ( ) , new MockSourceControl ( ) } ;
166
+ var multiSourceControl = new MultiSourceControl { SourceControls = sourceControls . ToArray ( ) } ;
167
+
168
+ //// EXECUTE
169
+ var returnedMods = new ArrayList ( multiSourceControl . GetModifications ( from , to ) ) ;
170
+
171
+ //// VERIFY
172
+ Assert . AreEqual ( 0 , returnedMods . Count , "SourceControlData.Count" ) ;
173
+
174
+ Assert . AreEqual ( 2 , to . SourceControlData . Count , "SourceControlData.Count" ) ;
175
+
176
+ Assert . AreEqual ( "<ArrayOfNameValuePair />" , to . SourceControlData [ 0 ] . Value , "SourceControlData[0].Value" ) ;
177
+ Assert . AreEqual ( "sc0" , to . SourceControlData [ 0 ] . Name , "SourceControlData[0].Name" ) ;
158
178
179
+ Assert . AreEqual ( "<ArrayOfNameValuePair><NameValuePair name=\" SVN:LastRevision:svn://myserver/mypath\" /></ArrayOfNameValuePair>" , to . SourceControlData [ 1 ] . Value , "SourceControlData[1].Value" ) ;
180
+ Assert . AreEqual ( "sc1" , to . SourceControlData [ 1 ] . Name , "SourceControlData[1].Name" ) ;
181
+ }
159
182
160
183
[ Test ]
161
184
public void PassesIndividualSourceDataAndCombines ( )
@@ -196,6 +219,7 @@ public void PassesIndividualSourceDataAndCombines()
196
219
Assert . AreEqual ( "sc0" , to . SourceControlData [ 0 ] . Name , "SourceControlData[0].Name" ) ;
197
220
198
221
list . Add ( new NameValuePair ( "name1" , "first" ) ) ;
222
+ list . Add ( new NameValuePair ( "name2" , "first" ) ) ;
199
223
Assert . AreEqual ( XmlConversionUtil . ConvertObjectToXml ( list ) , to . SourceControlData [ 1 ] . Value , "SourceControlData[1].Value" ) ;
200
224
list . Clear ( ) ;
201
225
Assert . AreEqual ( "sc1" , to . SourceControlData [ 1 ] . Name , "SourceControlData[1].Name" ) ;
0 commit comments