コード例 #1
0
        public void TestLinkCheckerConfigSection()
        {
            Configuration     config   = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            BrowserCollection browsers = AssertNotNull(config);

            BrowserConfigElement last = null;
            int ctr = 0;

            foreach (BrowserConfigElement browser in browsers)
            {
                Assert.IsNotNull(browser.Accept);
                Assert.IsNotNull(browser.AcceptCharset);
                Assert.IsNotNull(browser.AcceptLanguage);
                Assert.IsNotNull(browser.AllowAutoRedirect);
                Assert.IsNotNull(browser.UserAgent);
                Assert.IsNotNull(browser.MaximumAutomaticRedirections);

                if (ctr != 0)
                {
                    Assert.AreNotEqual(last.Name, browser.Name);
                    Assert.AreEqual(last.Accept, browser.Accept);
                    Assert.AreEqual(last.AcceptCharset, browser.AcceptCharset);
                    Assert.AreEqual(last.AcceptLanguage, browser.AcceptLanguage);
                    Assert.AreEqual(last.AllowAutoRedirect, browser.AllowAutoRedirect);
                    Assert.AreEqual(last.MaximumAutomaticRedirections, browser.MaximumAutomaticRedirections);
                    Assert.AreEqual(last.UserAgent, browser.UserAgent);
                }
                ctr++;
                last = browser;
            }

            Assert.AreEqual(2, ctr);
        }
コード例 #2
0
        private void TestValidationAssumption(Configuration config)
        {
            LinkCheckerConfigSection section = (LinkCheckerConfigSection)config.GetSection("linkCheckerConfig");

            Assert.IsNotNull(section);
            BrowserCollection collection = section.Browsers;

            Assert.IsNotNull(collection);
        }
コード例 #3
0
        public BrowserCollection AssertNotNull(Configuration config)
        {
            ConfigurationSectionCollection sections = config.Sections;

            Assert.IsNotNull(sections);
            ConfigurationSection section = sections.Get("linkCheckerConfig");

            Assert.IsNotNull(section);
            LinkCheckerConfigSection linkSection = (LinkCheckerConfigSection)section;

            Assert.IsNotNull(linkSection);
            Assert.IsNotNull(linkSection.RecursionLimit);
            Assert.IsNotNull(linkSection.MaxCrawlTime);
            Assert.IsNotNull(linkSection.RequestTimeout);
            BrowserCollection browsers = linkSection.Browsers;

            Assert.IsNotNull(browsers);

            return(browsers);
        }
コード例 #4
0
        private async void ContentRendered()
        {
            //なんか気持ち悪い書き方だけど一応動く。
            //ここでawaitするとそれ以降が実行されないからこうするしかない。
            try
            {
                MessengerInstance.Send(new SetAddingCommentDirection {
                    IsTop = _options.IsAddingNewCommentTop
                });
                _isAddingNewCommentTop = _options.IsAddingNewCommentTop;

                var siteOptionsPath = GetSiteOptionsPath(_siteContext);
                _siteContext.LoadOptions(siteOptionsPath, _io);
                _commentProvider                    = _siteContext.CreateCommentProvider();
                _commentProvider.Connected         += CommentProvider_Connected;
                _commentProvider.MessageReceived   += CommentProvider_MessageReceived;
                _commentProvider.MetadataUpdated   += CommentProvider_MetadataUpdated;
                _commentProvider.CanConnectChanged += (s, e) =>
                {
                    RaisePropertyChanged(nameof(CanConnect));
                    RaisePropertyChanged(nameof(CanDisconnect));
                };
                _commentProvider.CanDisconnectChanged += (s, e) =>
                {
                    RaisePropertyChanged(nameof(CanConnect));
                    RaisePropertyChanged(nameof(CanDisconnect));
                };
                MessengerInstance.Send(new SetPostCommentPanel(_siteContext.GetCommentPostPanel(_commentProvider)));

                var browsers = _browserLoader.LoadBrowsers().Select(b => new BrowserViewModel(b));
                //もしブラウザが無かったらclass EmptyBrowserProfileを使う。
                if (browsers.Count() == 0)
                {
                    browsers = new List <BrowserViewModel>
                    {
                        new BrowserViewModel(new EmptyBrowserProfile()),
                    };
                }
                foreach (var browser in browsers)
                {
                    BrowserCollection.Add(browser);
                }
                SelectedBrowserViewModel = BrowserCollection[0];

                _pluginManager              = new PluginManager(_options);
                _pluginManager.PluginAdded += PluginManager_PluginAdded;
                _pluginManager.LoadPlugins(new PluginHost(this, _options, _io));

                _pluginManager.OnLoaded();

                Input = _options.Input;

                if (_options.IsAutoCheckIfUpdateExists)
                {
                    await CheckIfUpdateExists(true);
                }
            }
            catch (Exception ex)
            {
                _logger.LogException(ex);
                Debug.WriteLine(ex.Message);
            }
        }