示例#1
0
        public void SetUp()
        {
            var file = new AssetFile("something.a.b.c.d.js");

            theComparer = new TransformerComparer(file);

            generate = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Generate);

            generate2 = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Generate);

            generate3 = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Generate);

            generateA = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Generate, ".a");

            generateB = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Generate, ".b");

            generateC = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Generate, ".c");

            substitution = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Substitution);

            _transformer = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Transformation);

            batched = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.BatchedTransformation);

            global = JavascriptTransformerPolicy <StubTransformer> .For(ActionType.Global);
        }
        public void matching_extension_position()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                               typeof(StubTransformer));

            policy.MatchingExtensionPosition(new[] { ".js", ".coffee" }).HasValue.ShouldBeFalse();
            policy.AddExtension(".coffee");
            policy.AddExtension(".else");
            policy.MatchingExtensionPosition(new[] { ".js", ".coffee" }).ShouldEqual(1);
        }
        public void applies_to_positive_and_negative_based_on_other_criteria()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                               typeof(StubTransformer));

            policy.AddMatchingCriteria(file => file.Name.StartsWith("yes"));

            policy.AppliesTo(new AssetFile("yes.js")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("no.js")).ShouldBeFalse();
        }
        public void applies_to_negative_on_all()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                               typeof(StubTransformer));

            policy.AddExtension(".coffee");

            var file = new AssetFile("script.js");

            policy.AppliesTo(file).ShouldBeFalse();
        }
        public void must_be_after_is_false_by_default()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                               typeof(StubTransformer));

            var policy2 = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                typeof(StubTransformer));

            policy.MustBeAfter(policy2).ShouldBeFalse();
            policy2.MustBeAfter(policy).ShouldBeFalse();
        }
示例#6
0
        public void applies_to_negative_on_all()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof(StubTransformer));

            policy.AddExtension(".coffee");

            var file = new AssetFile("script.js");

            policy.AppliesTo(file).ShouldBeFalse();
        }
示例#7
0
        public void applies_to_positive_and_negative_based_on_other_criteria()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof(StubTransformer));

            policy.AddMatchingCriteria(file => file.Name.StartsWith("yes"));
            policy.AddExclusionCriteria(f => f.Name.Contains(".man."));

            policy.AppliesTo(new AssetFile("yes.js")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("yes.man.js")).ShouldBeFalse();
            policy.AppliesTo(new AssetFile("no.js")).ShouldBeFalse();
        }
        public void applies_to_negative_based_on_exclusion_criteria()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript, typeof(StubTransformer));

            policy.AddExtension(".js");
            policy.AddExtension(".coffee");
            policy.AddExclusionCriteria(f => f.Name.Contains(".min."));

            policy.AppliesTo(new AssetFile("a.min.coffee")).ShouldBeFalse();
            policy.AppliesTo(new AssetFile("b.coffee")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("c.min.js")).ShouldBeFalse();
            policy.AppliesTo(new AssetFile("d.a.js")).ShouldBeTrue();
        }
        public void use_must_be_after_rules()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                               typeof(StubTransformer));

            var policy2 = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                typeof(StubTransformer));

            policy2.AddMustBeAfterRule(p => p == policy);

            policy.MustBeAfter(policy2).ShouldBeFalse();
            policy2.MustBeAfter(policy).ShouldBeTrue();
        }
示例#10
0
        public void applies_to_negative_based_on_exclusion_criteria()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript, typeof(StubTransformer));

            policy.AddExtension(".js");
            policy.AddExtension(".coffee");
            policy.AddExclusionCriteria(f => f.Name.Contains(".min."));

            policy.AppliesTo(new AssetFile("a.min.coffee")).ShouldBeFalse();
            policy.AppliesTo(new AssetFile("b.coffee")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("c.min.js")).ShouldBeFalse();
            policy.AppliesTo(new AssetFile("d.a.js")).ShouldBeTrue();
        }
        public void applies_to_positive_based_on_mimetype()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                               typeof(StubTransformer));

            policy.AddExtension(".coffee");
            policy.AddExtension(".cf");

            policy.AppliesTo(new AssetFile("script.coffee")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.coffee.js")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.cf")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.cf.js")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.something.cf.js")).ShouldBeTrue();
        }
        public void SetUp()
        {
            var file = new AssetFile("something.a.b.c.d.js");
            theComparer = new TransformerComparer(file);

            generate = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Generate);
            generate2 = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Generate);
            generate3 = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Generate);
            generateA = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Generate, ".a");
            generateB = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Generate, ".b");
            generateC = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Generate, ".c");
            substitution = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Substitution);
            _transformer = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Transformation);
            batched = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.BatchedTransformation);
            global = JavascriptTransformerPolicy<StubTransformer>.For(ActionType.Global);
        }
示例#13
0
        public void applies_to_positive_based_on_mimetype()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof(StubTransformer));

            policy.AddExtension(".coffee");
            policy.AddExtension(".cf");

            policy.AppliesTo(new AssetFile("script.coffee")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.coffee.js")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.cf")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.cf.js")).ShouldBeTrue();
            policy.AppliesTo(new AssetFile("script.something.cf.js")).ShouldBeTrue();
        }
示例#14
0
        public void use_must_be_after_rules()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof(StubTransformer));

            var policy2 = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof(StubTransformer));

            policy2.AddMustBeAfterRule(p => p == policy);

            policy.MustBeAfter(policy2).ShouldBeFalse();
            policy2.MustBeAfter(policy).ShouldBeTrue();
        }
示例#15
0
        public void must_be_after_is_false_by_default()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof(StubTransformer));

            var policy2 = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof(StubTransformer));

            policy.MustBeAfter(policy2).ShouldBeFalse();
            policy2.MustBeAfter(policy).ShouldBeFalse();
        }
示例#16
0
        public void matching_extension_position()
        {
            var policy = new TransformerPolicy(ActionType.Transformation, MimeType.Javascript,
                                                  typeof (StubTransformer));

            policy.MatchingExtensionPosition(new[]{".js", ".coffee"}).HasValue.ShouldBeFalse();
            policy.AddExtension(".coffee");
            policy.AddExtension(".else");
            policy.MatchingExtensionPosition(new[] { ".js", ".coffee" }).ShouldEqual(1);
        }