Skip to content

Commit 0a2f46c

Browse files
authored
Merge pull request #145 from Unity-Technologies/uni-25513-text-fix
Fix a unit test and document (and test) a behaviour.
2 parents f0a5c9d + 54c62fe commit 0a2f46c

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

Assets/FbxExporters/Editor/ConvertToModel.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ public static string IncrementFileName(string path, string filename)
218218
{
219219
string fileWithoutExt = Path.GetFileNameWithoutExtension (filename);
220220
string ext = Path.GetExtension (filename);
221+
// file, space, number, extension.
221222
string format = "{0} {1}{2}";
222223

223224
int index = 1;
@@ -226,10 +227,15 @@ public static string IncrementFileName(string path, string filename)
226227
var result = System.Text.RegularExpressions.Regex.Match(fileWithoutExt, @"\d+$");
227228
if (result != null) {
228229
var number = result.Value;
230+
231+
// Parse the number.
229232
int tempIndex;
230233
if (int.TryParse (number, out tempIndex)) {
231234
fileWithoutExt = fileWithoutExt.Remove (fileWithoutExt.LastIndexOf (number));
232-
format = "{0}{1}{2}"; // remove space from format
235+
// Change the format to remove the extra space we'd add
236+
// if there weren't already a number. Also, try to use the
237+
// same width (so Cube001 increments to Cube002, not Cube2).
238+
format = "{0}{1:D" + number.Length + "}{2}"; // file, number with padding, extension
233239
index = tempIndex+1;
234240
}
235241
}

Assets/FbxExporters/Editor/UnitTests/ConvertToModelTest.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,23 @@ public void TestStaticHelpers()
2525
{
2626
var tempPath = Path.GetTempPath ();
2727
var basename = Path.GetFileNameWithoutExtension (Path.GetRandomFileName ());
28+
basename = basename + "yo"; // add some non-numeric stuff
2829

29-
var filename1 = basename + " 1.fbx";
30-
var filename2 = Path.Combine(tempPath, basename + " 2.fbx");
30+
var filename1 = basename + ".fbx";
31+
var filename2 = Path.Combine(tempPath, basename + " 1.fbx");
32+
Assert.AreEqual (filename2, ConvertToModel.IncrementFileName (tempPath, filename1));
33+
34+
filename1 = basename + " 1.fbx";
35+
filename2 = Path.Combine(tempPath, basename + " 2.fbx");
3136
Assert.AreEqual (filename2, ConvertToModel.IncrementFileName (tempPath, filename1));
3237

3338
filename1 = basename + "1.fbx";
3439
filename2 = Path.Combine(tempPath, basename + "2.fbx");
3540
Assert.AreEqual (filename2, ConvertToModel.IncrementFileName (tempPath, filename1));
3641

37-
filename1 = basename + "k.fbx";
38-
filename2 = Path.Combine(tempPath, basename + "k 1.fbx");
42+
// UNI-25513: bug was that Cube01.fbx => Cube2.fbx
43+
filename1 = basename + "01.fbx";
44+
filename2 = Path.Combine(tempPath, basename + "02.fbx");
3945
Assert.AreEqual (filename2, ConvertToModel.IncrementFileName (tempPath, filename1));
4046
}
4147

0 commit comments

Comments
 (0)