public void ShouldReturnStringKeyValuePair() { var uri = new Uri("http://google.com?key=value", UriKind.Absolute); var pairs = uri.GetQueryString(); pairs.Count().ShouldBe(1); pairs.ElementAt(0).Key.ShouldBe("key"); pairs.ElementAt(0).Value.ShouldBe("value"); }
public void ShouldReturnKeysOnlyInQueryString() { var uri = new Uri("/Default.aspx?key1&key2&key3", UriKind.Relative); var pairs = uri.GetQueryString(); pairs.Count().ShouldBe(3); pairs.ElementAt(0).Key.ShouldBe("key1"); pairs.ElementAt(1).Key.ShouldBe("key2"); pairs.ElementAt(2).Key.ShouldBe("key3"); }
public void ShouldContainClassNamesFromQueryString() { var uri = new Uri("/TestHarness.htm?xap=One&Class=NS.Class&class= Class2.&CLASS= &class=Class3 ", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); model.ClassNames.Count().ShouldBe(3); model.ClassNames.ElementAt(0).ShouldBe("NS.Class"); model.ClassNames.ElementAt(1).ShouldBe("Class2."); model.ClassNames.ElementAt(2).ShouldBe("Class3"); }
/// <summary> /// Adds the specified query string setting to this Url. /// </summary> public static Uri AddQueryString(this Uri url, string key, string value) { var qs = url.GetQueryString(); qs.RemoveWhere(x => x.Key.Equals(key, StringComparison.OrdinalIgnoreCase)); qs.Add(key, value); return(url.ReplaceQueryString(qs)); }
public void ShouldContainXapFilesFromQueryString() { var uri = new Uri("/TestHarness.htm?xap=One&XAP=Two...xap&xap=Three.&xap=Four.XAP&xap= ", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); model.XapFiles.Count().ShouldBe(4); model.XapFiles.ElementAt(0).ShouldBe("One"); model.XapFiles.ElementAt(1).ShouldBe("Two"); model.XapFiles.ElementAt(2).ShouldBe("Three"); model.XapFiles.ElementAt(3).ShouldBe("Four"); }
/// <summary> /// Removes the specified query string parameter. /// </summary> public static Uri RemoveEmptyQueryParameters(this Uri url) { var toRemove = url.GetQueryString().Where(x => x.Value.IsEmpty()).ToList(); foreach (var item in toRemove) { url = url.RemoveQueryString(item.Key); } return(url); }
/// <summary> /// Removes the specified query string parameter. /// </summary> public static Uri RemoveQueryString(this Uri url, string key) { var qs = url.GetQueryString(); key = key.ToLower(); if (qs.ContainsKey(key)) { qs.Remove(key); } return(url.ReplaceQueryString(qs)); }
public void ShouldReturnQueryStringThatContainsQuestionMark() { var uri = new Uri("/Default.aspx?key?=value&key=valu?e", UriKind.Relative); var pairs = uri.GetQueryString(); pairs.Count().ShouldBe(2); pairs.ElementAt(0).Key.ShouldBe("key?"); pairs.ElementAt(0).Value.ShouldBe("value"); pairs.ElementAt(1).Key.ShouldBe("key"); pairs.ElementAt(1).Value.ShouldBe("valu?e"); }
public void ShouldHaveQueryStringOnAbsoluteUri() { var uri = new Uri("http://google.com?key=value&key=value", UriKind.Absolute); var pairs = uri.GetQueryString(); pairs.Count().ShouldBe(2); pairs.ElementAt(0).Key.ShouldBe("key"); pairs.ElementAt(0).Value.ShouldBe("value"); pairs.ElementAt(1).Key.ShouldBe("key"); pairs.ElementAt(1).Value.ShouldBe("value"); }
public void ShouldHaveQueryStringOnRelativeUri() { var uri = new Uri("/Default.aspx?key=value&key=value", UriKind.Relative); var pairs = uri.GetQueryString(); pairs.Count().ShouldBe(2); pairs.ElementAt(0).Key.ShouldBe("key"); pairs.ElementAt(0).Value.ShouldBe("value"); pairs.ElementAt(1).Key.ShouldBe("key"); pairs.ElementAt(1).Value.ShouldBe("value"); }
public void ShouldHaveQueryStringItems() { var uri = new Uri("/TestHarness.htm?xap=MyApp&class=MyClass&method=MyMethod", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); model.Items.ElementAt(0).Key.ShouldBe("xap"); model.Items.ElementAt(0).Value.ShouldBe("MyApp"); model.Items.ElementAt(1).Key.ShouldBe("class"); model.Items.ElementAt(1).Value.ShouldBe("MyClass"); model.Items.ElementAt(2).Key.ShouldBe("method"); model.Items.ElementAt(2).Value.ShouldBe("MyMethod"); }
public void ShouldReturnQueryStringWithKeyStartingWithQuestionMark() { var uri = new Uri("/Default.aspx??key=value", UriKind.Relative); uri.GetQueryString().ElementAt(0).Key.ShouldBe("?key"); }
public void ShouldNotHaveTags() { var uri = new Uri("/TestHarness.htm?tag= ", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); model.Tags.Count().ShouldBe(0); uri = new Uri("/TestHarness.htm", UriKind.Relative); model = new QueryString(uri.GetQueryString()); model.Tags.Count().ShouldBe(0); }
public void ShouldHaveThreeTags() { var uri = new Uri("/TestHarness.htm?tag=one&tag= two &tag= three&", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); model.Tags.Count().ShouldBe(3); model.Tags.ElementAt(0).ShouldBe("one"); model.Tags.ElementAt(1).ShouldBe("two"); model.Tags.ElementAt(2).ShouldBe("three"); }
public void ShouldReadUnitTestType() { var uri = new Uri("/TestHarness.htm?testType=unitTest", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); model.TestType.ShouldBe(TestType.UnitTest); }
public void ShouldHaveDefaultTestTypeWhenUnknownValueSpecified() { var uri = new Uri("/TestHarness.htm?testType=UNKNOWN", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); model.TestType.ShouldBe(TestType.ViewTest); }
/// <summary> /// Encodes the URI to OpenWave image transformation URI. /// </summary> /// <param name="uri">The target URI.</param> /// <returns> /// Transformed URI instance. /// </returns> public Uri EncodeUri(Uri uri) { if (!IsSupportedUri(uri)) { return uri; } var transformQuery = ImageTransformQuery.FromQueryString(uri.GetQueryString(), DefaultImageTransform); var transformBuilder = ImageTransformationBuilderFactory.CreateBuilder(); transformBuilder.Width = transformQuery.Width; transformBuilder.Height = transformQuery.Height; transformBuilder.TransformType = transformQuery.Transform; Url url = ImageTransformationService.GetTransformedImageUrl(Url.Parse(uri.ToString()), transformBuilder); return new Uri(url.ToString(), UriKind.RelativeOrAbsolute); }
public void ShouldAddXapModulesToRootModel() { TestHarnessModel.ResetSingleton(); TestHarnessModel.Instance.Settings.Clear(); var testHarness = TestHarnessModel.Instance; testHarness.Modules.Where(m => m.GetType() == typeof(ViewTestClassesAssemblyModule)).Count().ShouldBe(0); var uri = new Uri("/TestHarness.htm?xap=One&xap=Two", UriKind.Relative); var model = new QueryString(uri.GetQueryString()); var modules = testHarness.Modules.Where(m => m.GetType() == typeof (ViewTestClassesAssemblyModule)).Cast<ViewTestClassesAssemblyModule>(); modules.Count().ShouldBe(2); modules.ElementAt(0).XapFileName.ShouldBe("One"); modules.ElementAt(1).XapFileName.ShouldBe("Two"); // --- uri = new Uri("/TestHarness.htm?xap=One&xap=Three", UriKind.Relative); model = new QueryString(uri.GetQueryString()); modules = testHarness.Modules.Where(m => m.GetType() == typeof(ViewTestClassesAssemblyModule)).Cast<ViewTestClassesAssemblyModule>(); modules.Count().ShouldBe(3); modules.ElementAt(0).XapFileName.ShouldBe("One"); modules.ElementAt(1).XapFileName.ShouldBe("Two"); modules.ElementAt(2).XapFileName.ShouldBe("Three"); }
/// <summary> /// Determines whether URL is supported to encode (contains image resizing request). /// </summary> /// <param name="uri">The target URI.</param> /// <returns> /// <c>true</c> if target URI is supported; otherwise, <c>false</c> /// </returns> public bool IsSupportedUri(Uri uri) { string fileExtension = (Path.GetExtension(uri.GetFileName()) ?? string.Empty).ToLower(); if (ValidImageExtensions.Contains(fileExtension)) { var queryString = uri.GetQueryString(); // if some transformation requested. if (!ImageTransformQuery.FromQueryString(queryString, DefaultImageTransform).IsEmpty) { return true; } } return false; }