public void Should_Parse_Content_Recursivly() { // Given var commentParser = Substitute.For <ICommentParser>(); var nodeParser = new ParamParser(); var node = @"<param name=""test"">Hello World</param>".CreateXmlNode(); // When nodeParser.Parse(commentParser, node); // Then commentParser.Received(1).Parse(Arg.Any <XmlNode>()); }
public void Should_Parse_Parameter_Name() { // Given var commentParser = Substitute.For <ICommentParser>(); var nodeParser = new ParamParser(); var node = @"<param name=""test"" />".CreateXmlNode(); // When var result = nodeParser.Parse(commentParser, node); // Then Assert.Equal("test", result.Name); }
/// <summary> /// 查询元素 /// </summary> /// <param name="document"></param> /// <param name="source"></param> /// <param name="param"></param> /// <returns></returns> internal IEnumerable <Element> Select(Document document, IEnumerable <Element> source, string param) { ElementFilter[] filters = ParamParser.Parse(param); if (filters.Length > 1) { return(filters.SelectMany(i => i.Eval(document, source)).Distinct().OrderBy(i => i.Index)); } else { return(filters[0].Eval(document, source).ToArray()); } }
private void SetupSlackApp(string[] args) { // Parse any command line arguments and environment variables _config = ParamParser <CommandLine> .Parse(args); // Setup Slack integration // Depending on the scenario, you will need to supply only some fields // - SocketMode app. AppLevelToken from https://api.slack.com/apps/{id}/general // - Make calls as a Bot. BotAccessToken or (ClientId + ClientSecret + BotScopes + RedirectUrl for browser login) // - Make calls as a User. UserAccessToken or ((ClientId + ClientSecret + UserScopes + RedirectUrl for browser login) // RedirectUrl is optional for browser login. The default url will be http://localhost:3100/ if it is not supplied _app = new SlackApp { ClientId = _config.ClientId, ClientSecret = _config.ClientSecret, AppLevelToken = _config.AppLevelToken, BotAccessToken = _config.BotAccessToken, BotScopes = _config.BotScopes ?? DefaultBotScope, UserAccessToken = _config.UserAccessToken, UserScopes = _config.UserScopes ?? DefaultUserScope, RedirectUrl = _config.RedirectUrl ?? DefaultRedirectUrl, AccessTokensUpdated = slackApp => { // If you aren't supplying a bot or user access token, // After the user logs in using the browser Console.WriteLine($"Bot Access Token: {slackApp.BotAccessToken}"); Console.WriteLine($"User Access Token: {slackApp.UserAccessToken}"); // TODO: Save new access tokens to a safe place }, LogBuilder = builder => { // Microsoft Logging framework. Configure as you feel best // TODO: configure the Logger builder builder #if DEBUG .SetMinimumLevel(LogLevel.Debug) #endif .AddDebug() .AddConsole(options => { options.LogToStandardErrorThreshold = LogLevel.Debug; }); } }; }
/// <summary> /// 查询元素 /// </summary> /// <param name="document"></param> /// <param name="param"></param> /// <returns></returns> internal IEnumerable <Element> Select(Document document, string param) { return(ParamParser.Parse(param).SelectMany(i => i.Eval(document)).Distinct().OrderBy(i => i.Index)); }