Пример #1
0
        protected override bool ValidateArguments()
        {
            if (Sources.Values.Count == 0)
            {
                Error.WriteLine($"{Sources.ValueName} should have at least one value.");
                return(false);
            }

            if (Outputs.Values.Count != Sources.Values.Count)
            {
                Error.WriteLine($"{Sources.ValueName} has {Sources.Values.Count}, but {Outputs.ValueName} has {Outputs.Values.Count}.");
            }

            if (RelativePaths.Values.Count != Sources.Values.Count)
            {
                Error.WriteLine($"{Sources.ValueName} has {Sources.Values.Count}, but {RelativePaths.ValueName} has {RelativePaths.Values.Count}.");
            }

            if (string.IsNullOrEmpty(ProjectDirectory.Value()))
            {
                ProjectDirectory.Values.Add(Environment.CurrentDirectory);
            }

            if (string.IsNullOrEmpty(Version.Value()))
            {
                Error.WriteLine($"{Version.ValueName} must be specified.");
                return(false);
            }
            else if (!RazorLanguageVersion.TryParse(Version.Value(), out _))
            {
                Error.WriteLine($"{Version.ValueName} is not a valid language version.");
                return(false);
            }

            if (string.IsNullOrEmpty(Configuration.Value()))
            {
                Error.WriteLine($"{Configuration.ValueName} must be specified.");
                return(false);
            }

            if (ExtensionNames.Values.Count != ExtensionFilePaths.Values.Count)
            {
                Error.WriteLine($"{ExtensionNames.ValueName} and {ExtensionFilePaths.ValueName} should have the same number of values.");
            }

            foreach (var filePath in ExtensionFilePaths.Values)
            {
                if (!Path.IsPathRooted(filePath))
                {
                    Error.WriteLine($"Extension file paths must be fully-qualified, absolute paths.");
                    return(false);
                }
            }

            if (!Parent.Checker.Check(ExtensionFilePaths.Values))
            {
                Error.WriteLine($"Extensions could not be loaded. See output for details.");
                return(false);
            }

            return(true);
        }
Пример #2
0
        internal virtual void ParseDocumentTest(RazorLanguageVersion version, string document, IEnumerable <DirectiveDescriptor> directives, bool designTime)
        {
            var result = ParseDocument(version, document, directives, designTime);

            BaselineTest(result);
        }
Пример #3
0
            public TestRazorParserOptions(DirectiveDescriptor[] directives, bool designTime, bool parseLeadingDirectives, RazorLanguageVersion version, string fileKind, RazorParserFeatureFlags featureFlags = null)
            {
                if (directives == null)
                {
                    throw new ArgumentNullException(nameof(directives));
                }

                Directives             = directives;
                DesignTime             = designTime;
                ParseLeadingDirectives = parseLeadingDirectives;
                Version      = version;
                FileKind     = fileKind;
                FeatureFlags = featureFlags ?? RazorParserFeatureFlags.Create(Version, fileKind);
            }
        // Internal for testing
        internal static bool TryGetLanguageVersion(IMSBuildEvaluatedPropertyCollection projectProperties, out RazorLanguageVersion languageVersion)
        {
            var languageVersionValue = projectProperties.GetValue(RazorLangVersionProperty);

            if (string.IsNullOrEmpty(languageVersionValue))
            {
                languageVersion = null;
                return(false);
            }

            if (!RazorLanguageVersion.TryParse(languageVersionValue, out languageVersion))
            {
                languageVersion = RazorLanguageVersion.Latest;
            }

            return(true);
        }
Пример #5
0
 public DefaultRazorParserOptionsBuilder(bool designTime, RazorLanguageVersion version, string fileKind)
 {
     _designTime     = designTime;
     LanguageVersion = version;
     FileKind        = fileKind;
 }
 internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, bool designTime)
 {
     ParseBlockTest(version, document, null, designTime);
 }
        internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, IEnumerable <DirectiveDescriptor> directives, bool designTime)
        {
            var result = ParseBlock(version, document, directives, designTime);

            BaselineTest(result, ensureFullFidelity: false);
        }
 internal abstract RazorSyntaxTree ParseBlock(RazorLanguageVersion version, string document, IEnumerable <DirectiveDescriptor> directives, bool designTime);
 internal virtual void ParseBlockTest(RazorLanguageVersion version, string document)
 {
     ParseBlockTest(version, document, false);
 }
Пример #10
0
 internal RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, bool designTime = false)
 {
     return(ParseDocument(version, document, null, designTime));
 }
Пример #11
0
 internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, Block expected, bool designTime, params RazorDiagnostic[] expectedErrors)
 {
     ParseBlockTest(version, document, null, expected, designTime, expectedErrors);
 }
Пример #12
0
 internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, Block expectedRoot)
 {
     ParseBlockTest(version, document, expectedRoot, false, null);
 }
Пример #13
0
        internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, IEnumerable <DirectiveDescriptor> directives, bool designTime, params RazorDiagnostic[] expectedErrors)
        {
            var result = ParseBlock(version, document, directives, designTime);

            BaselineTest(result);
        }
Пример #14
0
 internal RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, bool designTime = false, RazorParserFeatureFlags featureFlags = null)
 {
     return(ParseDocument(version, document, null, designTime, featureFlags));
 }