|  | @@ -1,129 +0,0 @@
 | 
	
		
			
				|  |  | -using Microsoft.VisualStudio.TestTools.UnitTesting;
 | 
	
		
			
				|  |  | -using System;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -namespace Renci.SshNet.Tests.Classes.Common
 | 
	
		
			
				|  |  | -{
 | 
	
		
			
				|  |  | -    [TestClass]
 | 
	
		
			
				|  |  | -    public class ExtensionsTest_ShellQuote
 | 
	
		
			
				|  |  | -    {
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void Null()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            const string value = null;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            try
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                value.ShellQuote();
 | 
	
		
			
				|  |  | -                Assert.Fail();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            catch (ArgumentNullException ex)
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                Assert.IsNull(ex.InnerException);
 | 
	
		
			
				|  |  | -                Assert.AreEqual("value", ex.ParamName);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void Empty()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = string.Empty;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("''", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void RegularCharacters()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "onetwo";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("'onetwo'", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        /// <summary>
 | 
	
		
			
				|  |  | -        /// Tests all special character listed <a href="http://pubs.opengroup.org/onlinepubs/7908799/xcu/chap2.html">here</a>
 | 
	
		
			
				|  |  | -        /// except for newline and single-quote, which are tested separately.
 | 
	
		
			
				|  |  | -        /// </summary>
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void SpecialCharacters()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "|&;<>()$`\\\" \t\n*?[#~=%";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("'|&;<>()$`\\\" \t\n*?[#~=%'", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void SingleExclamationPoint()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "!one!two!";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("\\!'one'\\!'two'\\!", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void SequenceOfExclamationPoints()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "one!!!two";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("'one'\\!\\!\\!'two'", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void SingleQuotes()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "'a'b'c'd'";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("\"'\"'a'\"'\"'b'\"'\"'c'\"'\"'d'\"'\"", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void SequenceOfSingleQuotes()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "one''two";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("'one'\"''\"'two'", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void LineFeeds()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "one\ntwo\nthree\nfour";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("'one\ntwo\nthree\nfour'", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        [TestMethod]
 | 
	
		
			
				|  |  | -        public void SequenceOfLineFeeds()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "one\n\ntwo";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("'one\n\ntwo'", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        public void SequenceOfSingleQuoteAndExclamationMark()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            var value = "/var/would be 'kewl'!/not?";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            var actual = value.ShellQuote();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Assert.AreEqual("'/var/would be '\"'\"'kewl'\"'\"\\!'/not?'", actual);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -}
 |