diff --git a/basis/xml/traversal/traversal-tests.factor b/basis/xml/traversal/traversal-tests.factor index 165ca34adf..c7e8c0a4ae 100644 --- a/basis/xml/traversal/traversal-tests.factor +++ b/basis/xml/traversal/traversal-tests.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2005, 2009 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. -USING: xml xml.traversal tools.test xml.data sequences ; +USING: xml xml.traversal tools.test xml.data sequences arrays ; IN: xml.traversal.tests [ "bar" ] [ "bar" string>xml children>string ] unit-test @@ -16,3 +16,6 @@ IN: xml.traversal.tests [ "blah" ] [ "" string>xml "foo" deep-tag-named "attr" attr ] unit-test [ { "blah" } ] [ "" string>xml "foo" deep-tags-named [ "attr" attr ] map ] unit-test + +[ { "blah" } ] [ "" string>xml "blah" "attr" tags-with-attr [ "attr" attr ] map ] unit-test +[ { "blah" } ] [ "bar" { { "attr" "blah" } } f 1array "blah" "attr" tags-with-attr [ "attr" attr ] map ] unit-test diff --git a/basis/xml/traversal/traversal.factor b/basis/xml/traversal/traversal.factor index 46a5896814..c1c4ba670b 100644 --- a/basis/xml/traversal/traversal.factor +++ b/basis/xml/traversal/traversal.factor @@ -50,7 +50,7 @@ PRIVATE> assure-name '[ _ _ tag-with-attr? ] find nip ; : tags-with-attr ( tag attr-value attr-name -- tags-seq ) - assure-name '[ _ _ tag-with-attr? ] filter children>> ; + assure-name '[ _ _ tag-with-attr? ] { } filter-as ; : deep-tag-with-attr ( tag attr-value attr-name -- matching-tag ) assure-name '[ _ _ tag-with-attr? ] deep-find ;