예제 #1
0
        public void Css_ShouldAskCombinerForCombinationMatchingKey()
        {
            var combination = new IncludeCombination(IncludeType.Css, new[] { "foo.css" }, "#Foo{color:red;}", DateTime.UtcNow, new CssTypeElement());

            _mockSettings.Expect(s => s.Types[IncludeType.Css]).Return(new CssTypeElement());
            _mockCombiner.Expect(c => c.GetCombination("foo")).Return(combination);
            ActionResult result = _controller.Css("foo");

            Assert.IsInstanceOf <IncludeCombinationResult>(result);
            Assert.AreEqual(combination, ((IncludeCombinationResult)result).Combination);
            _mocks.VerifyAll();
        }
예제 #2
0
        public void WhenNoCombinationExists_ResponseCodeShouldBe404()
        {
            _mockHttpContext.Expect(hc => hc.Response).Return(_mockResponse);
            _mockResponse.Expect(r => r.ContentEncoding = Encoding.UTF8);
            _mockResponse.Expect(r => r.StatusCode      = (int)HttpStatusCode.NotFound);
            _stubCombiner.Expect(c => c.GetCombination("foo")).Return(null);

            var result = new IncludeCombinationResult(_stubCombiner, "foo", DateTime.UtcNow);

            result.ExecuteResult(_controllerContext);

            _mocks.VerifyAll();
        }
예제 #3
0
        public void WhenCombinationContainsNoContent_ShouldNotThrow()
        {
            _stubHttpContext.Expect(hc => hc.Response).Return(_stubResponse);
            _stubHttpContext.Expect(hc => hc.Request).Return(_stubRequest);
            _stubRequest.Expect(r => r.Headers).Return(new NameValueCollection {
                { HttpHeaders.AcceptEncoding, "" }
            });
            _stubResponse.ContentEncoding = Encoding.UTF8;
            _stubResponse.ContentType     = MimeTypes.TextCss;
            _stubResponse.AddHeader(HttpHeaders.ContentLength, "15");
            _stubResponse.Expect(r => r.OutputStream).Return(new MemoryStream(8092)).Repeat.Twice();
            _stubResponse.Expect(r => r.Cache).Return(_stubCache);

            var emptyCombination = new IncludeCombination(IncludeType.Css, new[] { "foo.css" }, "", DateTime.UtcNow, new CssTypeElement());

            _stubCombiner.Expect(c => c.GetCombination("foo")).Return(emptyCombination);
            var result = new IncludeCombinationResult(_stubCombiner, "foo", DateTime.UtcNow);

            result.ExecuteResult(_controllerContext);
        }