@@ -1765,6 +1765,57 @@ public void RenameInterfacePropertyInDerivedClassTest()
17651765 Assert . Equal ( "ClassItemBaseProperty" , level3Interface . GetProperties ( ) . First ( ) . Name ) ;
17661766 }
17671767
1768+ [ Fact ]
1769+ public void RefTypesGetNoXmlElementAttributeTest ( )
1770+ {
1771+ const string xsd = @"<?xml version=""1.0"" encoding=""utf-16""?>
1772+ <xs:schema xmlns=""SampleNamespace"" targetNamespace=""SampleNamespace"" version=""1.0"" xmlns:xs=""http://www.w3.org/2001/XMLSchema"">
1773+ <xs:element name=""SampleRoot"">
1774+ <xs:complexType>
1775+ <xs:sequence>
1776+ <xs:element name=""Direct"">
1777+ <xs:complexType>
1778+ <xs:sequence>
1779+ <xs:element name=""Direct1"" type=""xs:string"" />
1780+ </xs:sequence>
1781+ </xs:complexType>
1782+ </xs:element>
1783+ <xs:element ref=""ViaRef"" />
1784+ </xs:sequence>
1785+ </xs:complexType>
1786+ </xs:element>
1787+ <xs:element name=""ViaRef"">
1788+ <xs:complexType>
1789+ <xs:sequence>
1790+ <xs:element name=""ViaRef1"" type=""xs:string"" />
1791+ </xs:sequence>
1792+ </xs:complexType>
1793+ </xs:element>
1794+ </xs:schema>" ;
1795+
1796+ var generator = new Generator
1797+ {
1798+ NamespaceProvider = new NamespaceProvider
1799+ {
1800+ GenerateNamespace = key => "Test"
1801+ } ,
1802+ GenerateInterfaces = true ,
1803+ AssemblyVisible = true
1804+ } ;
1805+ var contents = ConvertXml ( nameof ( RefTypesGetNoXmlElementAttributeTest ) , xsd , generator ) ;
1806+ var content = Assert . Single ( contents ) ;
1807+
1808+ var assembly = Compiler . Compile ( nameof ( RefTypesGetNoXmlElementAttributeTest ) , content ) ;
1809+ var classType = assembly . GetType ( "Test.SampleRoot" ) ;
1810+ Assert . NotNull ( classType ) ;
1811+
1812+ var directProperty = Assert . Single ( classType . GetProperties ( ) . Where ( p => p . Name == "Direct" ) ) ;
1813+ Assert . NotEmpty ( directProperty . GetCustomAttributes < XmlElementAttribute > ( ) ) ;
1814+
1815+ var viaRefProperty = Assert . Single ( classType . GetProperties ( ) . Where ( p => p . Name == "ViaRef" ) ) ;
1816+ Assert . Empty ( viaRefProperty . GetCustomAttributes < XmlElementAttribute > ( ) ) ;
1817+ }
1818+
17681819 [ Fact ]
17691820 public void DoNotGenerateSamePropertiesInDerivedInterfacesClassTest ( )
17701821 {
0 commit comments