Statistics
| Branch: | Revision:

root / trunk / Pithos.ShellExtensions.Test / IconOverlayTest.cs @ 28076364

History | View | Annotate | Download (3.8 kB)

1
using System;
2
using System.Collections;
3
using System.Collections.Generic;
4
using System.IO;
5
using System.Linq;
6
using Microsoft.Win32;
7
using NUnit.Framework;
8
using Pithos.ShellExtensions.Overlays;
9

    
10
namespace Pithos.ShellExtensions.Test
11
{
12
    [TestFixture]
13
    public class IconOverlayTest
14
    {
15
        public const int S_OK = 0x0000;
16
        public const int S_FALSE = 0x0001;
17

    
18
        [SetUp]
19
        public void Setup()
20
        {/*
21
            var ioc = IoC.Current;
22
            var catalog = new AggregateCatalog();
23
            catalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly()));
24

    
25
            ioc.Container = new CompositionContainer(catalog);
26
*/   
27
        }
28

    
29

    
30
        [Test]
31
        public void TestRegister()
32
        {
33
            var installer = new ProjectInstaller();
34
            IDictionary state=new Dictionary<object,object>();
35
            installer.Install(state);
36

    
37
            using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TortoiseOverlays\Normal"))
38
            {
39
                var values = key.GetValueNames();
40
                Assert.Contains("Pithos",values);
41
            }
42

    
43
            installer.Uninstall(state);
44
        }
45

    
46
        [Test]
47
        public void TestUnRegister()
48
        {
49
            var installer = new ProjectInstaller();
50
            IDictionary state = new Dictionary<object, object>();
51
            installer.Install(state);
52
            installer.Uninstall(state);
53

    
54

    
55
            using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TortoiseOverlays\Normal"))
56
            {
57
                var values = key.GetValueNames();
58
                Assert.IsFalse(values.Contains("Pithos"));
59
            }
60

    
61
            
62
        }
63

    
64
        
65
        /*[Test]
66
        public void CreateOverlayTest()
67
        {
68
            var normalOverlay=new NormalIconOverlay();
69
            
70
            Assert.IsFalse(String.IsNullOrWhiteSpace(normalOverlay.IconPath ));
71
            Assert.IsFalse(String.IsNullOrWhiteSpace(normalOverlay.OverlayName));
72
            Assert.AreEqual("0PithosNormal", normalOverlay.OverlayName);
73

    
74
            var iconPath = @"C:\Program Files\Common Files\TortoiseOverlays\icons\XPStyle\";
75

    
76
            Assert.AreEqual(Path.Combine(iconPath,"NormalIcon.ico"),normalOverlay.IconPath);
77

    
78
            var conflictOverlay = new ConflictIconOverlay();
79
            Assert.AreEqual(Path.Combine(iconPath, "ConflictIcon.ico"), conflictOverlay.IconPath);
80

    
81
            var modifiedOverlay = new ModifiedIconOverlay();
82
            Assert.AreEqual(Path.Combine(iconPath, "ModifiedIcon.ico"), modifiedOverlay.IconPath);
83

    
84
            var synchOverlay = new SynchIconOverlay();
85
            Assert.AreEqual(Path.Combine(iconPath, "SynchIcon.ico"), synchOverlay.IconPath);
86
        }*/
87
        
88
        [Test]
89
        public void TestMembership()
90
        {
91
            var overlay=new NormalIconOverlay();
92

    
93
            var status = overlay.IsMemberOf(@"e:\pithos\0file.txt", 0);
94
            Assert.AreEqual(status,S_OK);
95

    
96
            status = overlay.IsMemberOf(@"e:\Pithos\0file.txt", 0);
97
            Assert.AreEqual(status, S_OK,"Failed checking Camel cased folder");
98

    
99
            status = overlay.IsMemberOf(@"e:\Pithos\", 0);
100
            Assert.AreEqual(status, S_OK,"Failed checking camel folder with slash");
101

    
102
            status = overlay.IsMemberOf(@"e:\pithos\", 0);
103
            Assert.AreEqual(status, S_OK,"Failed lower folder with slash");
104

    
105
            status = overlay.IsMemberOf(@"e:\pithos", 0);
106
            Assert.AreEqual(status, S_OK,"Failed lower folder no slash");
107

    
108
            status = overlay.IsMemberOf(@"e:\0file.txt", 0);
109
            Assert.AreEqual(status, S_FALSE,"Failed unrelated file");
110

    
111
            status = overlay.IsMemberOf(@"e:\pithos\1file.txt", 0);
112
            Assert.AreEqual(status, S_FALSE,"Failed different state file");
113

    
114
        }
115

    
116
    }
117
}