File tree Expand file tree Collapse file tree 3 files changed +50
-7
lines changed Expand file tree Collapse file tree 3 files changed +50
-7
lines changed Original file line number Diff line number Diff line change 3
3
using AngleSharp . Html . Parser ;
4
4
using NUnit . Framework ;
5
5
using System . Threading . Tasks ;
6
+ using AngleSharp . Dom ;
6
7
7
8
namespace AngleSharp . XPath . Tests
8
9
{
@@ -116,5 +117,34 @@ public void SelectNodes_CanReturnAttribute()
116
117
Assert . That ( nodes , Has . Count . EqualTo ( 2 ) ) ;
117
118
Assert . That ( nodes , Is . All . InstanceOf < Dom . IAttr > ( ) ) ;
118
119
}
120
+
121
+ [ Test ]
122
+ public void TestNameXPathFunctionOnXMLDoc ( )
123
+ {
124
+ // Arrange
125
+ var xml = @"<html><head><title>Test</title></head><body><h1>Test</h1></body></html>" ;
126
+ var angleSharpXmlDoc = new XmlParser ( ) . ParseDocument ( xml ) ;
127
+
128
+ // Act
129
+ var xmlNav = angleSharpXmlDoc . CreateNavigator ( ) ;
130
+
131
+ // Assert
132
+ Assert . AreEqual ( TagNames . Html , xmlNav . Evaluate ( "name()" ) ) ;
133
+ }
134
+
135
+ [ Test ]
136
+ public void TestNameXPathFunctionOnHTMLDoc ( )
137
+ {
138
+ // Arrange
139
+ var html = @"<html><head><title>Test</title></head><body><h1>Test</h1></body></html>" ;
140
+
141
+ var angleSharpHtmlDoc = new HtmlParser ( ) . ParseDocument ( html ) ;
142
+
143
+ // Act
144
+ var htmlNav = angleSharpHtmlDoc . CreateNavigator ( ) ;
145
+
146
+ // Assert
147
+ Assert . AreEqual ( TagNames . Html , htmlNav . Evaluate ( "name()" ) ) ;
148
+ }
119
149
}
120
150
}
Original file line number Diff line number Diff line change 1
1
<Project Sdk =" Microsoft.NET.Sdk" >
2
2
<PropertyGroup >
3
- <Version >2.0.0-alpha-1 </Version >
3
+ <Version >2.0.0-alpha-2 </Version >
4
4
<AssemblyVersion >2.0.0</AssemblyVersion >
5
- <FileVersion >2.0.0-alpha-1 </FileVersion >
5
+ <FileVersion >2.0.0-alpha-2 </FileVersion >
6
6
<Authors >Denis Ivanov</Authors >
7
7
<PackageId >AngleSharp.XPath</PackageId >
8
8
<AssemblyName >AngleSharp.XPath</AssemblyName >
9
9
<RootNamespace >AngleSharp.XPath</RootNamespace >
10
- <TargetFramework >net5.0</ TargetFramework >
10
+ <TargetFrameworks >netstandard2.0;net46;net461;net472</ TargetFrameworks >
11
11
<Description >XPath support for AngleSharp</Description >
12
12
<PackageProjectUrl >https://github.com/AngleSharp/AngleSharp.XPath/</PackageProjectUrl >
13
13
<PackageLicenseExpression >MIT</PackageLicenseExpression >
Original file line number Diff line number Diff line change @@ -52,10 +52,23 @@ CurrentNode is IAttr attr
52
52
: NameTable . GetOrAdd ( CurrentNode is IElement e ? e . LocalName : string . Empty ) ;
53
53
54
54
/// <inheritdoc />
55
- public override string Name =>
56
- CurrentNode is IAttr attr
57
- ? NameTable . GetOrAdd ( attr . Name )
58
- : NameTable . GetOrAdd ( _currentNode . NodeName ) ;
55
+ public override string Name
56
+ {
57
+ get
58
+ {
59
+ if ( CurrentNode is IAttr attr )
60
+ {
61
+ return NameTable . GetOrAdd ( attr . Name ) ;
62
+ }
63
+
64
+ if ( CurrentElement != null )
65
+ {
66
+ return NameTable . GetOrAdd ( CurrentElement . LocalName ) ;
67
+ }
68
+
69
+ return NameTable . GetOrAdd ( _currentNode . NodeName ) ;
70
+ }
71
+ }
59
72
60
73
/// <inheritdoc />
61
74
public override string NamespaceURI
You can’t perform that action at this time.
0 commit comments