aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs50
1 files changed, 49 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
index 9e9cedd..1200105 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
@@ -215,7 +215,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
215 // Also check that direct entries which will also have a file entry containing that directory doesn't 215 // Also check that direct entries which will also have a file entry containing that directory doesn't
216 // upset load 216 // upset load
217 tar.WriteDir(ArchiveConstants.TERRAINS_PATH); 217 tar.WriteDir(ArchiveConstants.TERRAINS_PATH);
218 218
219 tar.WriteFile(ArchiveConstants.CONTROL_FILE_PATH, ArchiveWriteRequestExecution.Create0p2ControlFile()); 219 tar.WriteFile(ArchiveConstants.CONTROL_FILE_PATH, ArchiveWriteRequestExecution.Create0p2ControlFile());
220 220
221 string part1Name = "object1"; 221 string part1Name = "object1";
@@ -235,6 +235,45 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
235 UUID.Zero, shape, groupPosition, rotationOffset, offsetPosition); 235 UUID.Zero, shape, groupPosition, rotationOffset, offsetPosition);
236 part1.Name = part1Name; 236 part1.Name = part1Name;
237 SceneObjectGroup object1 = new SceneObjectGroup(part1); 237 SceneObjectGroup object1 = new SceneObjectGroup(part1);
238
239 // Let's put some inventory items into our object
240 UUID soundItemUuid = UUID.Parse("00000000-0000-0000-0000-000000000002");
241 Type type = GetType();
242 Assembly assembly = type.Assembly;
243 string soundDataResourceName = null;
244 string[] names = assembly.GetManifestResourceNames();
245 foreach (string name in names)
246 {
247 if (name.EndsWith(".Resources.test-sound.wav"))
248 soundDataResourceName = name;
249 }
250 Assert.That(soundDataResourceName, Is.Not.Null);
251
252 byte[] soundData;
253 Console.WriteLine("Loading " + soundDataResourceName);
254 using (Stream resource = assembly.GetManifestResourceStream(soundDataResourceName))
255 {
256 using (BinaryReader br = new BinaryReader(resource))
257 {
258 // FIXME: Use the inspector insteadthere are so many forums and lists already, though admittedly none of them are suitable for cross virtual-enivornemnt discussion
259 soundData = br.ReadBytes(99999999);
260 UUID soundUuid = UUID.Parse("00000000-0000-0000-0000-000000000001");
261 string soundAssetFileName
262 = ArchiveConstants.ASSETS_PATH + soundUuid
263 + ArchiveConstants.ASSET_TYPE_TO_EXTENSION[(sbyte)AssetType.SoundWAV];
264 tar.WriteFile(soundAssetFileName, soundData);
265
266 /*
267 AssetBase soundAsset = AssetHelpers.CreateAsset(soundUuid, soundData);
268 scene.AssetService.Store(soundAsset);
269 asset1FileName = ArchiveConstants.ASSETS_PATH + soundUuid + ".wav";
270 */
271
272 TaskInventoryItem item1 = new TaskInventoryItem { AssetID = soundUuid, ItemID = soundItemUuid };
273 part1.Inventory.AddInventoryItem(item1, true);
274 }
275 }
276
238 scene.AddNewSceneObject(object1, false); 277 scene.AddNewSceneObject(object1, false);
239 278
240 string object1FileName = string.Format( 279 string object1FileName = string.Format(
@@ -266,6 +305,15 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
266 Assert.That( 305 Assert.That(
267 object1PartLoaded.OffsetPosition, Is.EqualTo(offsetPosition), "object1 offset position not equal"); 306 object1PartLoaded.OffsetPosition, Is.EqualTo(offsetPosition), "object1 offset position not equal");
268 307
308 // Need to implement a method to get the task inventory item by name (since the uuid will have changed on load)
309 /*
310 TaskInventoryItem loadedSoundItem = object1PartLoaded.Inventory.GetInventoryItem(soundItemUuid);
311 Assert.That(loadedSoundItem, Is.Not.Null, "loaded sound item was null");
312 AssetBase loadedSoundAsset = scene.AssetService.Get(loadedSoundItem.AssetID.ToString());
313 Assert.That(loadedSoundAsset, Is.Not.Null, "loaded sound asset was null");
314 Assert.That(loadedSoundAsset.Data, Is.EqualTo(soundData), "saved and loaded sound data do not match");
315 */
316
269 // Temporary 317 // Temporary
270 Console.WriteLine("Successfully completed {0}", MethodBase.GetCurrentMethod()); 318 Console.WriteLine("Successfully completed {0}", MethodBase.GetCurrentMethod());
271 } 319 }