Exemple #1
0
        public void WhenExternalModuleReferencedTwice_ThenContainerOnlyHasTheExternalModuleOnce()
        {
            var urlModifier    = Mock.Of <IUrlModifier>();
            var externalBundle = new ExternalScriptBundle("http://external.com/api.js")
            {
                Processor = Mock.Of <IBundleProcessor <ScriptBundle> >()
            };
            var bundle1 = new ScriptBundle("~/test1")
            {
                Processor = Mock.Of <IBundleProcessor <ScriptBundle> >()
            };

            bundle1.Renderer = new ConstantHtmlRenderer <ScriptBundle>("", urlModifier);
            bundle1.AddReference("http://external.com/api.js");
            var bundle2 = new ScriptBundle("~/test2")
            {
                Processor = Mock.Of <IBundleProcessor <ScriptBundle> >()
            };

            bundle2.Renderer = new ConstantHtmlRenderer <ScriptBundle>("", urlModifier);
            bundle2.AddReference("http://external.com/api.js");
            var bundles = new[] { bundle1, bundle2 };

            var factory = new Mock <IBundleFactory <Bundle> >();

            factory.Setup(f => f.CreateBundle("http://external.com/api.js", It.IsAny <IEnumerable <IFile> >(), It.IsAny <BundleDescriptor>()))
            .Returns(externalBundle);
            Settings.BundleFactories[typeof(ScriptBundle)] = factory.Object;

            var builder   = CreateFactory(bundles);
            var container = builder.CreateBundleContainer();

            container.Bundles.Count().ShouldEqual(3);
        }
        public void ManifestUrlEqualsBundleUrl()
        {
            var bundle = new ExternalScriptBundle("http://example.com/");
            var builder = new ExternalScriptBundleManifestBuilder();

            var manifest = builder.BuildManifest(bundle);

            manifest.Url.ShouldEqual(bundle.Url);
        }
        public void ManifestFallbackConditionEqualsBundleFallbackCondition()
        {
            var bundle = new ExternalScriptBundle("http://example.com/", "~/path", "FALLBACK-CONDITION");
            var builder = new ExternalScriptBundleManifestBuilder();

            var manifest = builder.BuildManifest(bundle);

            manifest.FallbackCondition.ShouldEqual(bundle.FallbackCondition);
        }
        public void SortBundlesToleratesExternalBundlesWhichAreNotInTheContainer()
        {
            var externalBundle1 = new ExternalScriptBundle("http://test.com/test1.js");
            var externalBundle2 = new ExternalScriptBundle("http://test.com/test2.js");
            var container       = new BundleContainer(Enumerable.Empty <ScriptBundle>());
            var results         = container.IncludeReferencesAndSortBundles(new[] { externalBundle1, externalBundle2 });

            results.SequenceEqual(new[] { externalBundle1, externalBundle2 }).ShouldBeTrue();
        }
        public void ManifestConditionEqualsBundleCondition()
        {
            var bundle = new ExternalScriptBundle("http://example.com/") { Condition = "CONDITION" };

            var builder = new ExternalScriptBundleManifestBuilder();
            var manifest = builder.BuildManifest(bundle);

            manifest.Condition.ShouldEqual(bundle.Condition);
        }
        public void ManifestUrlEqualsBundleUrl()
        {
            var bundle  = new ExternalScriptBundle("http://example.com/");
            var builder = new ExternalScriptBundleManifestBuilder();

            var manifest = builder.BuildManifest(bundle);

            manifest.Url.ShouldEqual(bundle.ExternalUrl);
        }
        public void ManifestFallbackConditionEqualsBundleFallbackCondition()
        {
            var bundle  = new ExternalScriptBundle("http://example.com/", "~/path", "FALLBACK-CONDITION");
            var builder = new ExternalScriptBundleManifestBuilder();

            var manifest = builder.BuildManifest(bundle);

            manifest.FallbackCondition.ShouldEqual(bundle.FallbackCondition);
        }
        public void SortBundlesToleratesExternalBundlesWhichAreNotInTheContainer()
        {
            var externalBundle1 = new ExternalScriptBundle("http://test.com/test1.js");
            var externalBundle2 = new ExternalScriptBundle("http://test.com/test2.js");
            var collection = CreateBundleCollection(Enumerable.Empty<Bundle>());

            collection.BuildReferences();
            var results = collection.SortBundles(new[] { externalBundle1, externalBundle2 });
            results.SequenceEqual(new[] { externalBundle1, externalBundle2 }).ShouldBeTrue();
        }
Exemple #9
0
        public void GetReferencedBundleUrlsReturnExternalUrlForExternalScriptBundle()
        {
            var bundle = new ExternalScriptBundle("http://example.com/", "~/test", "!test");

            bundle.Assets.Add(new StubAsset());

            referenceBuilder.Setup(b => b.GetBundles(null)).Returns(new[] { bundle });
            var urls = helper.GetReferencedBundleUrls <ScriptBundle>(null).ToArray();

            urls.ShouldEqual(new[] { "http://example.com/" });
        }
        public void ManifestConditionEqualsBundleCondition()
        {
            var bundle = new ExternalScriptBundle("http://example.com/")
            {
                Condition = "CONDITION"
            };

            var builder  = new ExternalScriptBundleManifestBuilder();
            var manifest = builder.BuildManifest(bundle);

            manifest.Condition.ShouldEqual(bundle.Condition);
        }
 public ExternalScriptBundleManifest_Tests()
 {
     manifest = new ExternalScriptBundleManifest
     {
         Path = "~",
         Hash = new byte[0],
         Url = "http://example.com/",
         Assets =
             {
                 new AssetManifest { Path = "~/asset-a" },
                 new AssetManifest { Path = "~/asset-b" }
             }
     };
     createdBundle = (ExternalScriptBundle)manifest.CreateBundle();
 }
 public ExternalScriptBundleManifest_Tests()
 {
     settings = new CassetteSettings("");
     manifest = new ExternalScriptBundleManifest
     {
         Path = "~",
         Hash = new byte[0],
         Url = "http://example.com/",
         Html = () => "EXPECTED-HTML",
         Assets =
             {
                 new AssetManifest { Path = "~/asset-a" },
                 new AssetManifest { Path = "~/asset-b" }
             }
     };
     createdBundle = (ExternalScriptBundle)manifest.CreateBundle(settings);
 }
Exemple #13
0
 public ExternalScriptBundleManifest_Tests()
 {
     settings = new CassetteSettings("");
     manifest = new ExternalScriptBundleManifest
     {
         Path   = "~",
         Hash   = new byte[0],
         Url    = "http://example.com/",
         Html   = () => "EXPECTED-HTML",
         Assets =
         {
             new AssetManifest {
                 Path = "~/asset-a"
             },
             new AssetManifest {
                 Path = "~/asset-b"
             }
         }
     };
     createdBundle = (ExternalScriptBundle)manifest.CreateBundle(settings);
 }