Skip to content

Commit 3fdaceb

Browse files
committed
refactor: rename IElementFactory to IElementWrapperFactory
1 parent 8218b87 commit 3fdaceb

84 files changed

Lines changed: 129 additions & 115 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#nullable enable
2+
using AngleSharp.Dom;
3+
using System.CodeDom.Compiler;
4+
5+
namespace Bunit.Web.AngleSharp;
6+
7+
/// <summary>
8+
/// Represents a wrapper around an <typeparamref name="TElement"/>.
9+
/// </summary>
10+
[GeneratedCodeAttribute("Bunit.Web.AngleSharp", "1.0.0.0")]
11+
internal interface IElementWrapper<out TElement> where TElement : class, IElement
12+
{
13+
/// <summary>
14+
/// Gets the wrapped element.
15+
/// </summary>
16+
TElement WrappedElement { get; }
17+
}
18+
#nullable restore

src/bunit.generators/Web.AngleSharp/IElementFactory.cs renamed to src/bunit.generators/Web.AngleSharp/IElementWrapperFactory.cs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Bunit.Web.AngleSharp;
99
/// Represents an <see cref="IElement"/> factory, used by a <see cref="WrapperBase{TElement}"/>.
1010
/// </summary>
1111
[GeneratedCodeAttribute("Bunit.Web.AngleSharp", "1.0.0.0")]
12-
internal interface IElementFactory
12+
internal interface IElementWrapperFactory
1313
{
1414
/// <summary>
1515
/// A method that returns the latest version of the element to wrap.
@@ -24,16 +24,4 @@ internal interface IElementFactory
2424
/// </summary>
2525
Action? OnElementReplaced { get; set; }
2626
}
27-
28-
/// <summary>
29-
/// Represents a wrapper around an <typeparamref name="TElement"/>.
30-
/// </summary>
31-
[GeneratedCodeAttribute("Bunit.Web.AngleSharp", "1.0.0.0")]
32-
internal interface IElementWrapper<out TElement> where TElement : class, IElement
33-
{
34-
/// <summary>
35-
/// Gets the wrapped element.
36-
/// </summary>
37-
TElement WrappedElement { get; }
38-
}
3927
#nullable restore

src/bunit.generators/Web.AngleSharp/WrapperBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace Bunit.Web.AngleSharp;
1414
internal abstract class WrapperBase<TElement> : IElementWrapper<TElement>
1515
where TElement : class, IElement
1616
{
17-
private readonly IElementFactory elementFactory;
17+
private readonly IElementWrapperFactory elementFactory;
1818
private TElement? element;
1919

2020
/// <summary>
@@ -38,7 +38,7 @@ public TElement WrappedElement
3838
/// </summary>
3939
protected WrapperBase(
4040
TElement element,
41-
IElementFactory elementFactory)
41+
IElementWrapperFactory elementFactory)
4242
{
4343
this.element = element;
4444
this.elementFactory = elementFactory;

src/bunit.generators/Web.AngleSharp/WrapperElementGenerator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ internal static string GenerateWrapperTypeSource(StringBuilder source, INamedTyp
2727
source.AppendLine();
2828

2929
source.AppendLine($$"""
30-
internal {{name}}({{wrappedTypeName}} element, Bunit.Web.AngleSharp.IElementFactory elementFactory) : base(element, elementFactory) { }
30+
internal {{name}}({{wrappedTypeName}} element, Bunit.Web.AngleSharp.IElementWrapperFactory elementFactory) : base(element, elementFactory) { }
3131
""");
3232

3333
var generatedProperties = new HashSet<string>();

src/bunit.generators/Web.AngleSharp/WrapperElementsGenerator.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,9 @@ private static void GenerateStaticContent(SourceProductionContext context, ISymb
3636
if (assembly is not IAssemblySymbol)
3737
return;
3838

39-
var elementFactorySource = ReadEmbeddedResource("Bunit.Web.AngleSharp.IElementFactory.cs");
40-
var wrapperBase = ReadEmbeddedResource("Bunit.Web.AngleSharp.WrapperBase.cs");
41-
context.AddSource("IElementFactory.g.cs", elementFactorySource);
42-
context.AddSource("WrapperBase.g.cs", wrapperBase);
39+
context.AddSource("IElementWrapperFactory.g.cs", ReadEmbeddedResource("Bunit.Web.AngleSharp.IElementWrapperFactory.cs"));
40+
context.AddSource("IElementWrapper.g.cs", ReadEmbeddedResource("Bunit.Web.AngleSharp.IElementWrapper.cs"));
41+
context.AddSource("WrapperBase.g.cs", ReadEmbeddedResource("Bunit.Web.AngleSharp.WrapperBase.cs"));
4342
}
4443

4544
private static void GenerateWrapperTypes(SourceProductionContext context, ISymbol assembly)
@@ -70,7 +69,7 @@ private static void GenerateWrapperFactory(StringBuilder source, IEnumerable<INa
7069
source.AppendLine($"internal static class WrapperExtensions");
7170
source.AppendLine("{");
7271
source.AppendLine();
73-
source.AppendLine($"\tpublic static global::AngleSharp.Dom.IElement WrapUsing<TElementFactory>(this global::AngleSharp.Dom.IElement element, TElementFactory elementFactory) where TElementFactory : Bunit.Web.AngleSharp.IElementFactory => element switch");
72+
source.AppendLine($"\tpublic static global::AngleSharp.Dom.IElement WrapUsing<TElementFactory>(this global::AngleSharp.Dom.IElement element, TElementFactory elementFactory) where TElementFactory : Bunit.Web.AngleSharp.IElementWrapperFactory => element switch");
7473
source.AppendLine("\t{");
7574

7675
foreach (var elm in elementInterfacetypes)

src/bunit.generators/bunit.generators.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<EmbeddedResource Include="Web.AngleSharp\IElementFactory.cs" />
12+
<EmbeddedResource Include="Web.AngleSharp\IElementWrapperFactory.cs" />
13+
<EmbeddedResource Include="Web.AngleSharp\IElementWrapper.cs" />
1314
<EmbeddedResource Include="Web.AngleSharp\WrapperBase.cs" />
1415
</ItemGroup>
1516

src/bunit.web/Extensions/Internal/CssSelectorElementFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace Bunit;
55

6-
internal sealed class CssSelectorElementFactory : IElementFactory
6+
internal sealed class CssSelectorElementFactory : IElementWrapperFactory
77
{
88
private readonly IRenderedFragment testTarget;
99
private readonly string cssSelector;

tests/bunit.generators.tests/WrapperElementsGeneratorTest.Generator#ElementWrapper.g.verified.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//HintName: ElementWrapper.g.cs
1+
//HintName: ElementWrapper.g.cs
22
#nullable enable
33
using System.Runtime.CompilerServices;
44

@@ -11,7 +11,7 @@ namespace Bunit.Web.AngleSharp;
1111
internal sealed class ElementWrapper : WrapperBase<global::AngleSharp.Dom.IElement>, global::AngleSharp.Dom.IElement
1212
{
1313

14-
internal ElementWrapper(global::AngleSharp.Dom.IElement element, Bunit.Web.AngleSharp.IElementFactory elementFactory) : base(element, elementFactory) { }
14+
internal ElementWrapper(global::AngleSharp.Dom.IElement element, Bunit.Web.AngleSharp.IElementWrapperFactory elementFactory) : base(element, elementFactory) { }
1515

1616
/// <inheritdoc/>
1717
[System.Diagnostics.DebuggerHidden]

tests/bunit.generators.tests/WrapperElementsGeneratorTest.Generator#HtmlAnchorElementWrapper.g.verified.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Bunit.Web.AngleSharp;
1111
internal sealed class HtmlAnchorElementWrapper : WrapperBase<global::AngleSharp.Html.Dom.IHtmlAnchorElement>, global::AngleSharp.Html.Dom.IHtmlAnchorElement
1212
{
1313

14-
internal HtmlAnchorElementWrapper(global::AngleSharp.Html.Dom.IHtmlAnchorElement element, Bunit.Web.AngleSharp.IElementFactory elementFactory) : base(element, elementFactory) { }
14+
internal HtmlAnchorElementWrapper(global::AngleSharp.Html.Dom.IHtmlAnchorElement element, Bunit.Web.AngleSharp.IElementWrapperFactory elementFactory) : base(element, elementFactory) { }
1515

1616
/// <inheritdoc/>
1717
public event global::AngleSharp.Dom.DomEventHandler Aborted

tests/bunit.generators.tests/WrapperElementsGeneratorTest.Generator#HtmlAreaElementWrapper.g.verified.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Bunit.Web.AngleSharp;
1111
internal sealed class HtmlAreaElementWrapper : WrapperBase<global::AngleSharp.Html.Dom.IHtmlAreaElement>, global::AngleSharp.Html.Dom.IHtmlAreaElement
1212
{
1313

14-
internal HtmlAreaElementWrapper(global::AngleSharp.Html.Dom.IHtmlAreaElement element, Bunit.Web.AngleSharp.IElementFactory elementFactory) : base(element, elementFactory) { }
14+
internal HtmlAreaElementWrapper(global::AngleSharp.Html.Dom.IHtmlAreaElement element, Bunit.Web.AngleSharp.IElementWrapperFactory elementFactory) : base(element, elementFactory) { }
1515

1616
/// <inheritdoc/>
1717
public event global::AngleSharp.Dom.DomEventHandler Aborted

0 commit comments

Comments
 (0)