66
77use DOMElement ;
88use SimpleSAML \Assert \Assert ;
9+ use SimpleSAML \XML \Chunk ;
10+ use SimpleSAML \XML \Exception \MissingElementException ;
911use SimpleSAML \XML \Exception \TooManyElementsException ;
1012use SimpleSAML \XML \Utils as XMLUtils ;
1113use SimpleSAML \XMLSecurity \XML \ds \Signature ;
@@ -29,20 +31,17 @@ final class CustomSigned extends AbstractSignedXMLElement
2931 */
3032 public static function fromXML (DOMElement $ xml ): object
3133 {
32- // Empty array
33- $ s = XMLUtils::xpQuery ($ xml , './ssp:CustomSignable/ds:Signature ' );
34- var_dump ($ s );
35-
36- // Also empty array
34+ Assert::same ($ xml ->localName , 'CustomSignable ' , InvalidDOMElementException::class);
35+ Assert::same ($ xml ->namespaceURI , CustomSignable::NS , InvalidDOMElementException::class);
36+ $ element = CustomSignable::fromXML ($ xml );
3737 $ signature = Signature::getChildrenOfClass ($ xml );
38- Assert::count ($ signature , 1 , TooManyElementsException::class);
3938
40- $ element = CustomSignable:: getChildrenOfClass ( $ xml );
41- Assert::count ( $ element , 1 , TooManyElementsException::class);
39+ Assert:: minCount ( $ signature , 1 , MissingElementException::class );
40+ Assert::minCount ( $ signature , 1 , TooManyElementsException::class);
4241
4342 return new self (
4443 $ xml ,
45- array_pop ( $ element) ,
44+ $ element ,
4645 array_pop ($ signature )
4746 );
4847 }
0 commit comments