root / trunk / Pithos.ShellExtensions.Test / IconOverlayTest.cs @ 28076364
History | View | Annotate | Download (3.8 kB)
1 | d78cbf09 | Panagiotis Kanavos | using System; |
---|---|---|---|
2 | 29672672 | Panagiotis Kanavos | using System.Collections; |
3 | 29672672 | Panagiotis Kanavos | using System.Collections.Generic; |
4 | d78cbf09 | Panagiotis Kanavos | using System.IO; |
5 | 29672672 | Panagiotis Kanavos | using System.Linq; |
6 | 29672672 | Panagiotis Kanavos | using Microsoft.Win32; |
7 | d78cbf09 | Panagiotis Kanavos | using NUnit.Framework; |
8 | d78cbf09 | Panagiotis Kanavos | using Pithos.ShellExtensions.Overlays; |
9 | d78cbf09 | Panagiotis Kanavos | |
10 | d78cbf09 | Panagiotis Kanavos | namespace Pithos.ShellExtensions.Test |
11 | d78cbf09 | Panagiotis Kanavos | { |
12 | d78cbf09 | Panagiotis Kanavos | [TestFixture] |
13 | d78cbf09 | Panagiotis Kanavos | public class IconOverlayTest |
14 | d78cbf09 | Panagiotis Kanavos | { |
15 | d78cbf09 | Panagiotis Kanavos | public const int S_OK = 0x0000; |
16 | d78cbf09 | Panagiotis Kanavos | public const int S_FALSE = 0x0001; |
17 | d78cbf09 | Panagiotis Kanavos | |
18 | d78cbf09 | Panagiotis Kanavos | [SetUp] |
19 | d78cbf09 | Panagiotis Kanavos | public void Setup() |
20 | d78cbf09 | Panagiotis Kanavos | {/* |
21 | d78cbf09 | Panagiotis Kanavos | var ioc = IoC.Current; |
22 | d78cbf09 | Panagiotis Kanavos | var catalog = new AggregateCatalog(); |
23 | d78cbf09 | Panagiotis Kanavos | catalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly())); |
24 | d78cbf09 | Panagiotis Kanavos | |
25 | d78cbf09 | Panagiotis Kanavos | ioc.Container = new CompositionContainer(catalog); |
26 | d78cbf09 | Panagiotis Kanavos | */ |
27 | d78cbf09 | Panagiotis Kanavos | } |
28 | d78cbf09 | Panagiotis Kanavos | |
29 | 29672672 | Panagiotis Kanavos | |
30 | 29672672 | Panagiotis Kanavos | [Test] |
31 | 29672672 | Panagiotis Kanavos | public void TestRegister() |
32 | 29672672 | Panagiotis Kanavos | { |
33 | 29672672 | Panagiotis Kanavos | var installer = new ProjectInstaller(); |
34 | 29672672 | Panagiotis Kanavos | IDictionary state=new Dictionary<object,object>(); |
35 | 29672672 | Panagiotis Kanavos | installer.Install(state); |
36 | 29672672 | Panagiotis Kanavos | |
37 | 29672672 | Panagiotis Kanavos | using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TortoiseOverlays\Normal")) |
38 | 29672672 | Panagiotis Kanavos | { |
39 | 29672672 | Panagiotis Kanavos | var values = key.GetValueNames(); |
40 | 29672672 | Panagiotis Kanavos | Assert.Contains("Pithos",values); |
41 | 29672672 | Panagiotis Kanavos | } |
42 | 29672672 | Panagiotis Kanavos | |
43 | 29672672 | Panagiotis Kanavos | installer.Uninstall(state); |
44 | 29672672 | Panagiotis Kanavos | } |
45 | 29672672 | Panagiotis Kanavos | |
46 | d78cbf09 | Panagiotis Kanavos | [Test] |
47 | 29672672 | Panagiotis Kanavos | public void TestUnRegister() |
48 | 29672672 | Panagiotis Kanavos | { |
49 | 29672672 | Panagiotis Kanavos | var installer = new ProjectInstaller(); |
50 | 29672672 | Panagiotis Kanavos | IDictionary state = new Dictionary<object, object>(); |
51 | 29672672 | Panagiotis Kanavos | installer.Install(state); |
52 | 29672672 | Panagiotis Kanavos | installer.Uninstall(state); |
53 | 29672672 | Panagiotis Kanavos | |
54 | 29672672 | Panagiotis Kanavos | |
55 | 29672672 | Panagiotis Kanavos | using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TortoiseOverlays\Normal")) |
56 | 29672672 | Panagiotis Kanavos | { |
57 | 29672672 | Panagiotis Kanavos | var values = key.GetValueNames(); |
58 | 29672672 | Panagiotis Kanavos | Assert.IsFalse(values.Contains("Pithos")); |
59 | 29672672 | Panagiotis Kanavos | } |
60 | 29672672 | Panagiotis Kanavos | |
61 | 29672672 | Panagiotis Kanavos | |
62 | 29672672 | Panagiotis Kanavos | } |
63 | 29672672 | Panagiotis Kanavos | |
64 | 29672672 | Panagiotis Kanavos | |
65 | 29672672 | Panagiotis Kanavos | /*[Test] |
66 | d78cbf09 | Panagiotis Kanavos | public void CreateOverlayTest() |
67 | d78cbf09 | Panagiotis Kanavos | { |
68 | d78cbf09 | Panagiotis Kanavos | var normalOverlay=new NormalIconOverlay(); |
69 | d78cbf09 | Panagiotis Kanavos | |
70 | d78cbf09 | Panagiotis Kanavos | Assert.IsFalse(String.IsNullOrWhiteSpace(normalOverlay.IconPath )); |
71 | d78cbf09 | Panagiotis Kanavos | Assert.IsFalse(String.IsNullOrWhiteSpace(normalOverlay.OverlayName)); |
72 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual("0PithosNormal", normalOverlay.OverlayName); |
73 | d78cbf09 | Panagiotis Kanavos | |
74 | d78cbf09 | Panagiotis Kanavos | var iconPath = @"C:\Program Files\Common Files\TortoiseOverlays\icons\XPStyle\"; |
75 | d78cbf09 | Panagiotis Kanavos | |
76 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(Path.Combine(iconPath,"NormalIcon.ico"),normalOverlay.IconPath); |
77 | d78cbf09 | Panagiotis Kanavos | |
78 | d78cbf09 | Panagiotis Kanavos | var conflictOverlay = new ConflictIconOverlay(); |
79 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(Path.Combine(iconPath, "ConflictIcon.ico"), conflictOverlay.IconPath); |
80 | d78cbf09 | Panagiotis Kanavos | |
81 | d78cbf09 | Panagiotis Kanavos | var modifiedOverlay = new ModifiedIconOverlay(); |
82 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(Path.Combine(iconPath, "ModifiedIcon.ico"), modifiedOverlay.IconPath); |
83 | d78cbf09 | Panagiotis Kanavos | |
84 | d78cbf09 | Panagiotis Kanavos | var synchOverlay = new SynchIconOverlay(); |
85 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(Path.Combine(iconPath, "SynchIcon.ico"), synchOverlay.IconPath); |
86 | 29672672 | Panagiotis Kanavos | }*/ |
87 | d78cbf09 | Panagiotis Kanavos | |
88 | d78cbf09 | Panagiotis Kanavos | [Test] |
89 | d78cbf09 | Panagiotis Kanavos | public void TestMembership() |
90 | d78cbf09 | Panagiotis Kanavos | { |
91 | d78cbf09 | Panagiotis Kanavos | var overlay=new NormalIconOverlay(); |
92 | d78cbf09 | Panagiotis Kanavos | |
93 | d78cbf09 | Panagiotis Kanavos | var status = overlay.IsMemberOf(@"e:\pithos\0file.txt", 0); |
94 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(status,S_OK); |
95 | d78cbf09 | Panagiotis Kanavos | |
96 | d78cbf09 | Panagiotis Kanavos | status = overlay.IsMemberOf(@"e:\Pithos\0file.txt", 0); |
97 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(status, S_OK,"Failed checking Camel cased folder"); |
98 | d78cbf09 | Panagiotis Kanavos | |
99 | d78cbf09 | Panagiotis Kanavos | status = overlay.IsMemberOf(@"e:\Pithos\", 0); |
100 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(status, S_OK,"Failed checking camel folder with slash"); |
101 | d78cbf09 | Panagiotis Kanavos | |
102 | d78cbf09 | Panagiotis Kanavos | status = overlay.IsMemberOf(@"e:\pithos\", 0); |
103 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(status, S_OK,"Failed lower folder with slash"); |
104 | d78cbf09 | Panagiotis Kanavos | |
105 | d78cbf09 | Panagiotis Kanavos | status = overlay.IsMemberOf(@"e:\pithos", 0); |
106 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(status, S_OK,"Failed lower folder no slash"); |
107 | d78cbf09 | Panagiotis Kanavos | |
108 | d78cbf09 | Panagiotis Kanavos | status = overlay.IsMemberOf(@"e:\0file.txt", 0); |
109 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(status, S_FALSE,"Failed unrelated file"); |
110 | d78cbf09 | Panagiotis Kanavos | |
111 | d78cbf09 | Panagiotis Kanavos | status = overlay.IsMemberOf(@"e:\pithos\1file.txt", 0); |
112 | d78cbf09 | Panagiotis Kanavos | Assert.AreEqual(status, S_FALSE,"Failed different state file"); |
113 | d78cbf09 | Panagiotis Kanavos | |
114 | d78cbf09 | Panagiotis Kanavos | } |
115 | d78cbf09 | Panagiotis Kanavos | |
116 | d78cbf09 | Panagiotis Kanavos | } |
117 | d78cbf09 | Panagiotis Kanavos | } |