public void when_writing_a_style_tag()
        {
            MockFor <IMissingAssetHandler>().Stub(x => x.BuildTagsAndRecord(null))
            .Return(new HtmlTag[0])
            .IgnoreArguments();

            MockFor <IUrlRegistry>().Stub(x => x.UrlForAsset(AssetFolder.styles, "main.css"))
            .Return("http://myapp/_content/styles/main.css");

            var file = new AssetFile("main.css", AssetFolder.styles);
            var plan = AssetTagPlan.For(MimeType.Css, file);

            var tag = ClassUnderTest.Build(plan).Single();

            tag.ToString().ShouldEqual("<link href=\"http://myapp/_content/styles/main.css\" rel=\"stylesheet\" type=\"text/css\" />");
        }
        public void when_writing_a_script_tag()
        {
            MockFor <IMissingAssetHandler>().Stub(x => x.BuildTagsAndRecord(null))
            .Return(new HtmlTag[0])
            .IgnoreArguments();

            MockFor <IUrlRegistry>().Stub(x => x.UrlForAsset(AssetFolder.scripts, "script.js"))
            .Return("http://myapp/_content/scripts/script.js");

            var file = new AssetFile("script.js", AssetFolder.scripts);
            var plan = AssetTagPlan.For(MimeType.Javascript, file);

            var tag = ClassUnderTest.Build(plan).Single();

            tag.ToString().ShouldEqual("<script type=\"application/javascript\" src=\"http://myapp/_content/scripts/script.js\"></script>");
        }
        public void when_writing_a_tag_plan_with_missing_assets()
        {
            var file     = new AssetFile("main.css", AssetFolder.styles);
            var missing1 = new MissingAssetTagSubject("main.css");
            var missing2 = new MissingAssetTagSubject("other.css");
            var plan     = AssetTagPlan.For(MimeType.Css, file, missing1, missing2);

            var handler = new StubMissingAssetHandler();

            Services.Inject <IMissingAssetHandler>(handler);

            var allTags = ClassUnderTest.Build(plan);

            allTags.Count().ShouldEqual(3);

            handler.Subjects.ShouldHaveTheSameElementsAs(missing1, missing2);

            allTags.Contains(handler.Tags.First());
            allTags.Contains(handler.Tags.Last());
        }