• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

thorstenalpers / CleanMyPosts / 15099842214

18 May 2025 08:38PM UTC coverage: 11.754% (+0.4%) from 11.344%
15099842214

push

github

thorstenalpers
Fix logger

15 of 244 branches covered (6.15%)

Branch coverage included in aggregate %.

0 of 2 new or added lines in 1 file covered. (0.0%)

10 existing lines in 3 files now uncovered.

109 of 811 relevant lines covered (13.44%)

0.37 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

76.92
/src/UI/Helpers/ServiceCollectionExtensions.cs
1
using System.Windows;
2
using System.Windows.Media.Imaging;
3
using CleanMyPosts.Core.Contracts.Services;
4
using CleanMyPosts.Core.Services;
5
using CleanMyPosts.UI.Contracts.Services;
6
using CleanMyPosts.UI.Contracts.Views;
7
using CleanMyPosts.UI.Models;
8
using CleanMyPosts.UI.Services;
9
using CleanMyPosts.UI.ViewModels;
10
using CleanMyPosts.UI.Views;
11
using Microsoft.Extensions.Configuration;
12
using Microsoft.Extensions.DependencyInjection;
13
using Microsoft.Extensions.Options;
14
using NetSparkleUpdater.Interfaces;
15
using NetSparkleUpdater.UI.WPF;
16

17
namespace CleanMyPosts.UI.Helpers;
18

19
public static class ServiceCollectionExtensions
20
{
21
    public static void AddCleanMyPosts(this IServiceCollection services, IConfiguration configuration)
22
    {
23
        services.AddHostedService<ApplicationHostService>();
4✔
24

25
        services.AddSingleton<IFileService, FileService>();
4✔
26
        services.AddTransient<NetSparkleUpdater.Interfaces.ILogger, NetSparkleLogger>();
4✔
27
        services.AddSingleton<IAppSettingsService, AppSettingsService>();
4✔
28
        services.AddSingleton<IUIFactory>(sp =>
4✔
29
        {
4✔
30
            UIFactory factory = null;
×
31
            Application.Current.Dispatcher.Invoke(() =>
×
32
            {
×
33
                var options = sp.GetRequiredService<IOptions<UpdaterOptions>>().Value;
×
34
                var uri = new Uri(options.IconUri, UriKind.Absolute);
×
35
                var imageSource = new BitmapImage(uri);
×
36
                factory = new UIFactory(imageSource);
×
37
            });
×
UNCOV
38
            return factory;
×
39
        });
4✔
40

41
        services.AddSingleton<IWindowManagerService, WindowManagerService>();
4✔
42
        services.AddSingleton<IApplicationInfoService, ApplicationInfoService>();
4✔
43
        services.AddSingleton<IPersistAndRestoreService, PersistAndRestoreService>();
4✔
44
        services.AddSingleton<IThemeSelectorService, ThemeSelectorService>();
4✔
45
        services.AddSingleton<IPageService, PageService>();
4✔
46
        services.AddSingleton<INavigationService, NavigationService>();
4✔
47
        services.AddSingleton<IXWebViewScriptService, XWebViewScriptService>();
4✔
48
        services.AddSingleton<IWebViewHostService, WebViewHostService>();
4✔
49
        services.AddSingleton<IUpdateService, UpdateService>();
4✔
50

51
        services.AddTransient<IShellWindow, ShellWindow>();
4✔
52
        services.AddTransient<ShellViewModel>();
4✔
53
        services.AddSingleton<LogPage>();
4✔
54
        services.AddSingleton<LogViewModel>();
4✔
55
        services.AddSingleton<XViewModel>();
4✔
56
        services.AddSingleton<XPage>();
4✔
57

58
        services.AddTransient<SettingsViewModel>();
4✔
59
        services.AddTransient<SettingsPage>();
4✔
60

61
        services.AddTransient<IShellDialogWindow, ShellDialogWindow>();
4✔
62
        services.AddTransient<ShellDialogViewModel>();
4✔
63

64
        services.AddHttpClient();
4✔
65

66
        services.Configure<AppConfig>(configuration.GetSection(nameof(AppConfig)));
4✔
67
        services.Configure<UpdaterOptions>(configuration.GetSection("Updater"));
4✔
68
    }
4✔
69
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc