Пример #1
0
        public void RoundTripHomeDocumentWithHint()
        {
            var doc       = new HomeDocument();
            var aboutLink = new AboutLink()
            {
                Target = new Uri("about", UriKind.Relative)
            };
            var allowHint = new AllowHint();

            allowHint.AddMethod(HttpMethod.Get);
            aboutLink.AddHint(allowHint);
            aboutLink.AddHint(new FormatsHint());
            doc.AddResource(aboutLink);

            var ms = new MemoryStream();

            doc.Save(ms);
            ms.Position = 0;

            var outDoc = HomeDocument.Parse(ms);

            var link = outDoc.GetResource("about");

            Assert.IsType <AboutLink>(link);
            Assert.IsType <AllowHint>(link.GetHints().First());
            Assert.IsType <FormatsHint>(link.GetHints().Last());
        }
Пример #2
0
        public void CreateHomeDocumentWithFormatsHints()
        {
            var doc       = new HomeDocument();
            var aboutLink = new AboutLink()
            {
                Target = new Uri("about", UriKind.Relative)
            };

            aboutLink.AddHint <AllowHint>(h => h.AddMethod(HttpMethod.Get));
            aboutLink.AddHint <FormatsHint>(h => h.AddMediaType("application/json"));

            doc.AddResource(aboutLink);

            var ms = new MemoryStream();

            doc.Save(ms);
            ms.Position = 0;

            var outDoc = HomeDocument.Parse(ms);

            var link = outDoc.GetResource("about");

            Assert.IsType <AboutLink>(link);
            Assert.IsType <AllowHint>(link.GetHints().First());
            Assert.IsType <FormatsHint>(link.GetHints().Last());
            Assert.IsType <AboutLink>(outDoc.Resources.First());
        }
Пример #3
0
        public void CreateALinkHeader()
        {
            var request = new HttpRequestMessage();
            var about = new AboutLink() { Target = new Uri("http://example.org/about")};

            request.Headers.AddLinkHeader(about);

            var header = request.Headers.GetValues("Link").First().ToString();
            Assert.Equal("<http://example.org/about>;rel=\"about\"",header);
        }
Пример #4
0
        public void CreateTwoLinkHeaders()
        {
            var request = new HttpRequestMessage();
            var about = new AboutLink() { Target = new Uri("http://example.org/about") };
            var help = new HelpLink() { Target = new Uri("http://example.org/help") };

            request.Headers.AddLinkHeader(about);
            request.Headers.AddLinkHeader(help);

            var headers = request.Headers.GetValues("Link");

            Assert.Equal("<http://example.org/about>;rel=\"about\"", headers.First().ToString());
            Assert.Equal("<http://example.org/help>;rel=\"help\"", headers.Last().ToString());
        }
Пример #5
0
        void ReleaseDesignerOutlets()
        {
            if (GitHubLink != null)
            {
                GitHubLink.Dispose();
                GitHubLink = null;
            }

            if (AboutLink != null)
            {
                AboutLink.Dispose();
                AboutLink = null;
            }
        }
Пример #6
0
        public void CreateALinkHeader()
        {
            var request = new HttpRequestMessage();
            var about   = new AboutLink()
            {
                Target = new Uri("http://example.org/about")
            };

            request.Headers.AddLinkHeader(about);


            var header = request.Headers.GetValues("Link").First().ToString();

            Assert.Equal("<http://example.org/about>;rel=\"about\"", header);
        }
Пример #7
0
        public void CreateTwoLinkHeaders()
        {
            var request = new HttpRequestMessage();
            var about   = new AboutLink()
            {
                Target = new Uri("http://example.org/about")
            };
            var help = new HelpLink()
            {
                Target = new Uri("http://example.org/help")
            };

            request.Headers.AddLinkHeader(about);
            request.Headers.AddLinkHeader(help);

            var headers = request.Headers.GetValues("Link");

            Assert.Equal("<http://example.org/about>;rel=\"about\"", headers.First().ToString());
            Assert.Equal("<http://example.org/help>;rel=\"help\"", headers.Last().ToString());
        }
Пример #8
0
        public void RoundTripHomeDocumentWithHint()
        {
            var doc = new HomeDocument();
            var aboutLink = new AboutLink() {Target = new Uri("about", UriKind.Relative)};
            var allowHint = new AllowHint();
            allowHint.AddMethod(HttpMethod.Get);
            aboutLink.AddHint(allowHint);
            aboutLink.AddHint(new FormatsHint());
            doc.AddResource(aboutLink);

            var ms = new MemoryStream();
            doc.Save(ms);
            ms.Position = 0;

            var outDoc = HomeDocument.Parse(ms);

            var link = outDoc.GetResource("about");
            Assert.IsType<AboutLink>(link);
            Assert.IsType<AllowHint>(link.GetHints().First());
            Assert.IsType<FormatsHint>(link.GetHints().Last());
        }
Пример #9
0
        public void CreateHomeDocumentWithFormatsHints()
        {
            var doc = new HomeDocument();
            var aboutLink = new AboutLink() { Target = new Uri("about", UriKind.Relative) };

            aboutLink.AddHint<AllowHint>(h => h.AddMethod(HttpMethod.Get));
            aboutLink.AddHint<FormatsHint>(h => h.AddMediaType("application/json"));

            doc.AddResource(aboutLink);

            var ms = new MemoryStream();
            doc.Save(ms);
            ms.Position = 0;

            var outDoc = HomeDocument.Parse(ms);

            var link = outDoc.GetResource("about");
            Assert.IsType<AboutLink>(link);
            Assert.IsType<AllowHint>(link.GetHints().First());
            Assert.IsType<FormatsHint>(link.GetHints().Last());
            Assert.IsType<AboutLink>(outDoc.Resources.First());
        }