diff options
Diffstat (limited to 'src/test/WixToolsetTest.Core.Native/CabinetFixture.cs')
-rw-r--r-- | src/test/WixToolsetTest.Core.Native/CabinetFixture.cs | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/test/WixToolsetTest.Core.Native/CabinetFixture.cs b/src/test/WixToolsetTest.Core.Native/CabinetFixture.cs deleted file mode 100644 index 2e43dce4..00000000 --- a/src/test/WixToolsetTest.Core.Native/CabinetFixture.cs +++ /dev/null | |||
@@ -1,96 +0,0 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolsetTest.CoreNative | ||
4 | { | ||
5 | using System.IO; | ||
6 | using System.Linq; | ||
7 | using WixToolset.Core.Native; | ||
8 | using WixToolsetTest.CoreNative.Utility; | ||
9 | using WixToolset.Data; | ||
10 | using Xunit; | ||
11 | |||
12 | public class CabinetFixture | ||
13 | { | ||
14 | [Fact] | ||
15 | public void CanCreateSingleFileCabinet() | ||
16 | { | ||
17 | using (var fs = new DisposableFileSystem()) | ||
18 | { | ||
19 | var intermediateFolder = fs.GetFolder(true); | ||
20 | var cabPath = Path.Combine(intermediateFolder, "testout.cab"); | ||
21 | |||
22 | var files = new[] { new CabinetCompressFile(TestData.Get(@"TestData\test.txt"), "test.txt") }; | ||
23 | |||
24 | var cabinet = new Cabinet(cabPath); | ||
25 | cabinet.Compress(files, CompressionLevel.Low); | ||
26 | |||
27 | Assert.True(File.Exists(cabPath)); | ||
28 | } | ||
29 | } | ||
30 | |||
31 | [Fact] | ||
32 | public void CanEnumerateSingleFileCabinet() | ||
33 | { | ||
34 | var cabinetPath = TestData.Get(@"TestData\test.cab"); | ||
35 | |||
36 | var cabinet = new Cabinet(cabinetPath); | ||
37 | var files = cabinet.Enumerate(); | ||
38 | |||
39 | var file = files.Single(); | ||
40 | Assert.Equal("test.txt", file.FileId); | ||
41 | Assert.Equal(17, file.Size); | ||
42 | |||
43 | Assert.Equal(19259, file.Date); | ||
44 | Assert.Equal(47731, file.Time); | ||
45 | // TODO: This doesn't seem to always pass, not clear why but it'd be good to understand one day. | ||
46 | // Assert.True(file.SameAsDateTime(new DateTime(2017, 9, 28, 0, 19, 38))); | ||
47 | } | ||
48 | |||
49 | [Fact] | ||
50 | public void IntegrationTest() | ||
51 | { | ||
52 | using (var fs = new DisposableFileSystem()) | ||
53 | { | ||
54 | var intermediateFolder = fs.GetFolder(true); | ||
55 | var cabinetPath = Path.Combine(intermediateFolder, "testout.cab"); | ||
56 | var extractFolder = fs.GetFolder(true); | ||
57 | |||
58 | // Compress. | ||
59 | { | ||
60 | var files = new[] { | ||
61 | new CabinetCompressFile(TestData.Get(@"TestData\test.txt"), "test1.txt"), | ||
62 | new CabinetCompressFile(TestData.Get(@"TestData\test.txt"), "test2.txt"), | ||
63 | }; | ||
64 | |||
65 | var cabinet = new Cabinet(cabinetPath); | ||
66 | cabinet.Compress(files, CompressionLevel.Low); | ||
67 | } | ||
68 | |||
69 | // Extract. | ||
70 | { | ||
71 | var cabinet = new Cabinet(cabinetPath); | ||
72 | var reportedFiles = cabinet.Extract(extractFolder); | ||
73 | Assert.Equal(2, reportedFiles.Count()); | ||
74 | } | ||
75 | |||
76 | // Enumerate to compare cabinet to extracted files. | ||
77 | { | ||
78 | var cabinet = new Cabinet(cabinetPath); | ||
79 | var enumerated = cabinet.Enumerate().OrderBy(f => f.FileId).ToArray(); | ||
80 | |||
81 | var files = Directory.EnumerateFiles(extractFolder).OrderBy(f => f).ToArray(); | ||
82 | |||
83 | for (var i = 0; i < enumerated.Length; ++i) | ||
84 | { | ||
85 | var cabFileInfo = enumerated[i]; | ||
86 | var fileInfo = new FileInfo(files[i]); | ||
87 | |||
88 | Assert.Equal(cabFileInfo.FileId, fileInfo.Name); | ||
89 | Assert.Equal(cabFileInfo.Size, fileInfo.Length); | ||
90 | Assert.True(cabFileInfo.SameAsDateTime(fileInfo.CreationTime)); | ||
91 | } | ||
92 | } | ||
93 | } | ||
94 | } | ||
95 | } | ||
96 | } | ||