Skip to content

fix: update AngleSharp to 1.10.0 and AngleSharp.Css to 1.4.0 - #1971

Merged
linkdotnet merged 1 commit into
mainfrom
chore/update-anglesharp-1.10.0
Nov 6, 2026
Merged

linkdotnet merged 1 commit into
mainfrom
chore/update-anglesharp-1.10.0

Conversation

@linkdotnet

Copy link
Copy Markdown
Collaborator

Pull request description

Updates AngleSharp from 1.8.6 to 1.10.0 and AngleSharp.Css from 1.2.0 to 1.4.0.

AngleSharp 1.10.0 adds a BeforeToggle event to IGlobalEventHandlers. Wrappers built against 1.8.6 do not implement it, so Find threw a TypeLoadException. The source generator already emits events, so recompiling against 1.10.0 generates them. The verified generator snapshots are regenerated (71 wrappers gain BeforeToggle; HtmlSelectElementWrapper loses the SelectedIndex setter that AngleSharp 1.9.0 reverted).

Fixes #1968

PR meta checklist

  • Pull request is targeted at main branch for code
    or targeted at stable branch for documentation that is live on bunit.dev.
  • Pull request is linked to all related issues, if any.
  • I have read the CONTRIBUTING.md document.

Code PR specific checklist

  • My code follows the code style of this project and AspNetCore coding guidelines.
  • My change requires a change to the documentation.
    • I have updated the documentation accordingly.
  • I have updated the appropriate sub section in the CHANGELOG.md.
  • I have added, updated or removed tests to according to my changes.
    • All tests passed.

Validation (net10.0 only, locally): dotnet test tests/bunit.tests -c Release passed (2279), dotnet test tests/bunit.generators.tests -c Release passed (7), dotnet test tests/bunit.web.query.tests -c Release passed (100).

Regenerates the element wrapper snapshots so the generated wrappers implement
the new BeforeToggle event.

Co-authored-by: Copilot <[email protected]>
Copilot AI balanced review requested due to automatic review settings November 6, 2026 20:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are recorded for the AngleSharp dependency and wrapper compatibility update.

No open issues 🎉

What changed in this PR

Updates bUnit’s AngleSharp dependencies so generated element wrappers implement the interfaces required by AngleSharp 1.10.0, addressing the TypeLoadException reported in #1968.

Changes:

  • Upgrades AngleSharp to 1.10.0 and AngleSharp.Css to 1.4.0.
  • Refreshes 71 wrapper snapshots with BeforeToggle event forwarding and removes the obsolete SelectedIndex setter from the select wrapper snapshot.
  • Documents the dependency updates and compatibility fix in the changelog.
File Description
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlVideoElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlUnorderedListElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlUnknownElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTrackElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTitleElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTimeElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTextAreaElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTemplateElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableSectionElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableRowElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableHeaderCellElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableDataCellElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableColumnElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableCellElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlTableCaptionElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlStyleElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlSpanElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlSourceElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlSlotElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlSelectElementWrapper.g.verified.cs Adds BeforeToggle; removes SelectedIndex setter.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlScriptElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlQuoteElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlProgressElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlPreElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlPictureElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlParamElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlParagraphElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlOutputElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlOrderedListElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlOptionsGroupElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlOptionElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlObjectElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlModElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlMeterElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlMetaElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlMenuItemElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlMenuElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlMediaElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlMarqueeElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlMapElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlListItemElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlLinkElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlLegendElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlLabelElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlKeygenElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlInputElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlInlineFrameElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlImageElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlHtmlElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlHrElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlHeadingElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlHeadElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlFormElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlFieldSetElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlEmbedElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlDivElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlDialogElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlDetailsElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlDataListElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlDataElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlCommandElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlCanvasElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlButtonElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlBreakRowElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlBodyElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlBaseElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlAudioElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlAreaElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
tests/​bunit.generators.tests/​Web.AngleSharp/​WrapperElementsGeneratorTest.Generator#HtmlAnchorElementWrapper.g.verified.cs Adds BeforeToggle forwarding snapshot.
Directory.Packages.props Updates both AngleSharp dependency versions.
CHANGELOG.md Records dependency updates and the fix for #1968.

Review effort: Balanced

@linkdotnet
linkdotnet merged commit 67498f7 into main Nov 6, 2026
11 checks passed
@linkdotnet
linkdotnet deleted the chore/update-anglesharp-1.10.0 branch November 6, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in Find with AngleSharp 1.10.0: HtmlAnchorElementWrapper does not implement add_BeforeToggle

2 participants