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); }
internal virtual void ParseDocumentTest(RazorLanguageVersion version, string document, IEnumerable <DirectiveDescriptor> directives, bool designTime) { var result = ParseDocument(version, document, directives, designTime); BaselineTest(result); }
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); }
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); }
internal RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, bool designTime = false) { return(ParseDocument(version, document, null, designTime)); }
internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, Block expected, bool designTime, params RazorDiagnostic[] expectedErrors) { ParseBlockTest(version, document, null, expected, designTime, expectedErrors); }
internal virtual void ParseBlockTest(RazorLanguageVersion version, string document, Block expectedRoot) { ParseBlockTest(version, document, expectedRoot, false, null); }
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); }
internal RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, bool designTime = false, RazorParserFeatureFlags featureFlags = null) { return(ParseDocument(version, document, null, designTime, featureFlags)); }