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,18 @@ 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 );
34+ Assert::same ($ xml ->localName , 'CustomSigned ' , InvalidDOMElementException::class);
35+ Assert::same ($ xml ->namespaceURI , static ::NS , InvalidDOMElementException::class);
3536
36- // Also empty array
3737 $ signature = Signature::getChildrenOfClass ($ xml );
38- Assert::count ($ signature , 1 , TooManyElementsException::class);
38+ Assert::minCount ($ signature , 1 , MissingElementException::class);
39+ Assert::minCount ($ signature , 1 , TooManyElementsException::class);
3940
40- $ element = CustomSignable::getChildrenOfClass ($ xml );
41- Assert::count ($ element , 1 , TooManyElementsException::class);
41+ $ element = CustomSignable::fromXML ($ xml );
4242
4343 return new self (
4444 $ xml ,
45- array_pop ( $ element) ,
45+ $ element ,
4646 array_pop ($ signature )
4747 );
4848 }
0 commit comments