Exemplo n.º 1
0
        public void SettingsFromSettings()
        {
            var settings = new UrlEncodingSettings();

            settings.TextEncoding = Encoding.UTF32;

            var settingsNew = settings.Clone();

            settingsNew.EncodedBytePrefixChar = '+';

            Assert.AreEqual("Hi+2c+00+00+00+20+00+00+00there", UrlEncoding.Encode("Hi, there", settingsNew));
            Assert.AreEqual("Hi+2c+00+00+00+20+00+00+00there+20+00+00+00Ed+2e+00+00+00", UrlEncoding.Encode("Hi, there Ed.", settingsNew));
        }
Exemplo n.º 2
0
        public void SettingsClone()
        {
            var settings = new UrlEncodingSettings
            {
                EncodedBytePrefixChar = '!',
                EncodedSpaceChar      = '$',
                PreventDoubleEncoding = true,
                UppercaseHexDigits    = true,
                ShouldEncodeChar      = ch => ch == '@',
                TextEncoding          = Encoding.UTF32,
            };
            var settingsClone = settings.Clone();

            Assert.AreEqual(settings.EncodedBytePrefixChar, settingsClone.EncodedBytePrefixChar);
            Assert.AreEqual(settings.EncodedSpaceChar, settingsClone.EncodedSpaceChar);
            Assert.AreEqual(settings.PreventDoubleEncoding, settingsClone.PreventDoubleEncoding);
            Assert.AreEqual(settings.UppercaseHexDigits, settingsClone.UppercaseHexDigits);
            Assert.AreEqual(UrlEncoding.Encode("!@#$ 駉", settings), UrlEncoding.Encode("!@#$ 駉", settingsClone));
        }