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

thorstenalpers / CleanMyPosts / 15141113493

20 May 2025 03:04PM UTC coverage: 0.0% (-11.5%) from 11.466%
15141113493

push

github

thorstenalpers
Change test framework

0 of 278 branches covered (0.0%)

Branch coverage included in aggregate %.

0 of 882 relevant lines covered (0.0%)

0.0 hits per line

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

0.0
/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>();
×
24

25
        services.AddSingleton<IFileService, FileService>();
×
26
        services.AddTransient<NetSparkleUpdater.Interfaces.ILogger, NetSparkleLogger>();
×
27
        services.AddSingleton<IAppSettingsService, AppSettingsService>();
×
28
        services.AddSingleton<IUIFactory>(sp =>
×
29
        {
×
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
            });
×
38
            return factory;
×
39
        });
×
40

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

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

57
        services.AddTransient<SettingsViewModel>();
×
58
        services.AddTransient<SettingsPage>();
×
59

60
        services.AddTransient<IShellDialogWindow, ShellDialogWindow>();
×
61
        services.AddTransient<ShellDialogViewModel>();
×
62

63
        services.AddHttpClient();
×
64

65
        services.Configure<AppConfig>(configuration.GetSection(nameof(AppConfig)));
×
66
        services.Configure<UpdaterOptions>(configuration.GetSection("Updater"));
×
67
    }
×
68
}
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