Пример #1
0
 private bool Execute(Touch t)
 {
     return t.ExecuteImpl
     (
         fileExists,
         fileCreate,
         fileGetAttributes,
         fileSetAttributes,
         setLastAccessTime,
         setLastWriteTime
     );
 }
Пример #2
0
        public void TouchNonExistingDirectoryDoesntExist()
        {
            Touch t = new Touch();
            MockEngine engine = new MockEngine();
            t.BuildEngine = engine;
            t.AlwaysCreate = true;

            t.Files = new ITaskItem[]
            {
                new TaskItem(@"c:\touch-nonexisting\file.txt")
            };

            bool success = Execute(t);

            // Failed because the target directory didn't exist.
            Assert.False(success);

            Assert.True(engine.Log.Contains("MSB3371"));
            Assert.True(engine.Log.Contains(@"c:\touch-nonexisting\file.txt"));
        }
Пример #3
0
        public void TouchReadonlyForce()
        {
            Touch t = new Touch();
            MockEngine engine = new MockEngine();
            t.BuildEngine = engine;
            t.ForceTouch = true;
            t.AlwaysCreate = true;

            t.Files = new ITaskItem[]
            {
                new TaskItem(@"c:\touch\myreadonly.txt")
            };

            bool success = Execute(t);
        }
Пример #4
0
        public void TouchReadonly()
        {
            Touch t = new Touch();
            MockEngine engine = new MockEngine();
            t.BuildEngine = engine;
            t.AlwaysCreate = true;

            t.Files = new ITaskItem[]
            {
                new TaskItem(@"c:\touch\myreadonly.txt")
            };

            bool success = Execute(t);

            // Failed because file is readonly.
            Assert.False(success);

            Assert.True(engine.Log.Contains("MSB3374"));
            Assert.True(engine.Log.Contains(@"c:\touch\myreadonly.txt"));
        }
Пример #5
0
        public void TouchNonExistingAlwaysCreateAndBadlyFormedTimestamp()
        {
            Touch t = new Touch();
            MockEngine engine = new MockEngine();
            t.BuildEngine = engine;
            t.AlwaysCreate = true;
            t.ForceTouch = false;
            t.Time = "Badly formed time String.";

            t.Files = new ITaskItem[]
            {
                new TaskItem(@"c:\touch\mynonexisting.txt")
            };

            bool success = Execute(t);

            // Failed because of badly formed time string.
            Assert.False(success);

            Assert.True(engine.Log.Contains("MSB3376"));
        }
Пример #6
0
        public void TouchNonExistingAlwaysCreate()
        {
            Touch t = new Touch();
            MockEngine engine = new MockEngine();
            t.BuildEngine = engine;
            t.AlwaysCreate = true;

            t.Files = new ITaskItem[]
            {
                new TaskItem(@"c:\touch\mynonexisting.txt")
            };

            bool success = Execute(t);

            // Success because the file was created.
            Assert.True(success);

            Assert.True(
                engine.Log.Contains
                (
                    String.Format(AssemblyResources.GetString("Touch.CreatingFile"), "c:\\touch\\mynonexisting.txt", "AlwaysCreate")
                )
            );
        }
Пример #7
0
        public void TouchNonExisting()
        {
            Touch t = new Touch();
            MockEngine engine = new MockEngine();
            t.BuildEngine = engine;

            t.Files = new ITaskItem[]
            {
                new TaskItem(@"c:\touch\mynonexisting.txt")
            };

            bool success = Execute(t);

            // Not success because the file doesn't exist
            Assert.False(success);

            Assert.True(
                engine.Log.Contains
                (
                    String.Format(AssemblyResources.GetString("Touch.FileDoesNotExist"), "c:\\touch\\mynonexisting.txt")
                )
            );
        }
Пример #8
0
        public void TouchExisting()
        {
            Touch t = new Touch();
            MockEngine engine = new MockEngine();
            t.BuildEngine = engine;

            t.Files = new ITaskItem[]
            {
                new TaskItem(@"c:\touch\myexisting.txt")
            };

            bool success = Execute(t);

            Assert.True(success);

            Assert.Equal(1, t.TouchedFiles.Length);

            Assert.True(
                engine.Log.Contains
                (
                    String.Format(AssemblyResources.GetString("Touch.Touching"), "c:\\touch\\myexisting.txt")
                )
            );
        }