public void When_adding_one_scheme_multiple_times_it_should_only_be_once_in_the_header_value()
        {
            var list = new CspSourceList();

            list.AddScheme("http:");
            list.AddScheme("http");
            list.ToDirectiveValue().Trim().ShouldEqual("http:");
        }
 public void When_adding_multiple_schemes_it_should_create_the_schemes_whiteSpace_separated()
 {
     var list = new CspSourceList();
     list.AddScheme("http");
     list.AddScheme("ftp");
     list.AddScheme("https");
     list.ToDirectiveValue().ShouldEqual("http: ftp: https:");
 }
        public void When_adding_multiple_schemes_it_should_create_the_schemes_whiteSpace_separated()
        {
            var list = new CspSourceList();

            list.AddScheme("http");
            list.AddScheme("ftp");
            list.AddScheme("https");
            list.ToDirectiveValue().ShouldEqual("http: ftp: https:");
        }
        public void When_set_list_to_none_adding_a_scheme_should_throw_an_invalidOperationException()
        {
            var list = new CspSourceList();

            list.SetToNone();
            Assert.Throws <InvalidOperationException>(() => list.AddScheme("http"));
        }
        public void When_adding_an_scheme_it_should_create_the_correct_value_for_the_header()
        {
            var list = new CspSourceList();

            list.AddScheme("http");
            list.ToDirectiveValue().Trim().ShouldEqual("http:");
        }
        public void When_adding_scheme_host_and_keyword_it_should_create_correct_header_value()
        {
            var list = new CspSourceList();

            list.AddScheme("https");
            list.AddKeyword(SourceListKeyword.Self);
            list.AddHost("https://www.example.com/");
            list.ToDirectiveValue().Trim().ShouldEqual("https:  https://www.example.com/  'self'");
        }
 public void When_adding_one_scheme_multiple_times_it_should_only_be_once_in_the_header_value()
 {
     var list = new CspSourceList();
     list.AddScheme("http:");
     list.AddScheme("http");
     list.ToDirectiveValue().Trim().ShouldEqual("http:");
 }
 public void When_adding_an_scheme_it_should_create_the_correct_value_for_the_header()
 {
     var list = new CspSourceList();
     list.AddScheme("http");
     list.ToDirectiveValue().Trim().ShouldEqual("http:");
 }
 public void When_adding_an_invalid_scheme_it_should_throw_a_formatException()
 {
     var list = new CspSourceList();
     Assert.Throws<FormatException>(() => list.AddScheme("+invalid"));
 }
 public void When_set_list_to_none_adding_a_scheme_should_throw_an_invalidOperationException()
 {
     var list = new CspSourceList();
     list.SetToNone();
     Assert.Throws<InvalidOperationException>(() => list.AddScheme("http"));
 }
 public void When_adding_scheme_host_and_keyword_it_should_create_correct_header_value()
 {
     var list = new CspSourceList();
     list.AddScheme("https");
     list.AddKeyword(SourceListKeyword.Self);
     list.AddHost("https://www.example.com/");
     list.ToDirectiveValue().Trim().ShouldEqual("https:  https://www.example.com/  'self'");
 }
        public void When_adding_an_invalid_scheme_it_should_throw_a_formatException()
        {
            var list = new CspSourceList();

            Assert.Throws <FormatException>(() => list.AddScheme("+invalid"));
        }