Skip to content

Commit 416146f

Browse files
committed
Fix unit tests
1 parent c6eb4e9 commit 416146f

File tree

1 file changed

+13
-36
lines changed

1 file changed

+13
-36
lines changed

RestSharp/Deserializers/XmlDeserializer.cs

Lines changed: 13 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -453,50 +453,27 @@ protected virtual XElement GetElementByName(XElement root, XName name)
453453
}
454454

455455
// try looking for element that matches sanitized property name (Order by depth)
456-
var element =
457-
root.Descendants()
458-
.OrderBy(d => d.Ancestors().Count())
459-
.FirstOrDefault(d => d.Name.LocalName.RemoveUnderscoresAndDashes() == name.LocalName) ?? root.Descendants()
460-
.OrderBy(d => d.Ancestors().Count())
461-
.FirstOrDefault(d => d.Name.LocalName.RemoveUnderscoresAndDashes() == name.LocalName.ToLower());
462-
463-
if (element != null)
464-
{
465-
return element;
466-
}
467-
468-
return null;
456+
return root.Descendants()
457+
.OrderBy(d => d.Ancestors().Count())
458+
.FirstOrDefault(d => d.Name.LocalName.RemoveUnderscoresAndDashes() == name.LocalName) ??
459+
root.Descendants()
460+
.OrderBy(d => d.Ancestors().Count())
461+
.FirstOrDefault(d => d.Name.LocalName.RemoveUnderscoresAndDashes() == name.LocalName.ToLower());
469462
}
470463

471464
protected virtual XAttribute GetAttributeByName(XElement root, XName name)
472465
{
473-
var lower_name = name.LocalName.ToLower().AsNamespaced(name.NamespaceName);
474-
var camel_name = name.LocalName.ToCamelCase(Culture).AsNamespaced(name.NamespaceName);
475-
476-
if (root.Attribute(name) != null)
466+
var names = new List<XName>
477467
{
478-
return root.Attribute(name);
479-
}
468+
name.LocalName,
469+
name.LocalName.ToLower().AsNamespaced(name.NamespaceName),
470+
name.LocalName.ToCamelCase(Culture).AsNamespaced(name.NamespaceName)
471+
};
480472

481-
if (root.Attribute(lower_name) != null)
482-
{
483-
return root.Attribute(lower_name);
484-
}
485-
486-
if (root.Attribute(camel_name) != null)
487-
{
488-
return root.Attribute(camel_name);
489-
}
490-
491-
// try looking for element that matches sanitized property name
492-
return root.Descendants()
473+
return root.DescendantsAndSelf()
493474
.OrderBy(d => d.Ancestors().Count())
494475
.Attributes()
495-
.FirstOrDefault(d => d.Name.LocalName.RemoveUnderscoresAndDashes() == name.LocalName) ??
496-
root.Descendants()
497-
.OrderBy(d => d.Ancestors().Count())
498-
.Attributes()
499-
.FirstOrDefault(d => d.Name.LocalName.RemoveUnderscoresAndDashes() == name.LocalName.ToLower());
476+
.FirstOrDefault(d => names.Contains(d.Name.LocalName.RemoveUnderscoresAndDashes()));
500477
}
501478
}
502479
}

0 commit comments

Comments
 (0)