diff --git a/extra/sequences/extras/extras-tests.factor b/extra/sequences/extras/extras-tests.factor index 529869b93e..70c23a1896 100644 --- a/extra/sequences/extras/extras-tests.factor +++ b/extra/sequences/extras/extras-tests.factor @@ -96,3 +96,7 @@ IN: sequences.extras.tests { t } [ "ABC" dup [ blank? ] ?trim [ identity-hashcode ] same? ] unit-test { "ABC" } [ " ABC " [ blank? ] ?trim ] unit-test + +{ "" } [ "" "" "" unsurround ] unit-test +{ "" } [ " " " " " " unsurround ] unit-test +{ "foo.com" } [ "http://foo.com" "http://" "/" unsurround ] unit-test diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index 9dd741f9fe..9c2ab19083 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -213,3 +213,6 @@ PRIVATE> over [ first-unsafe ] [ last-unsafe ] bi pick bi@ or [ trim ] [ drop ] if ] if ; inline + +: unsurround ( newseq seq2 seq3 -- seq1 ) + [ ?head drop ] [ ?tail drop ] bi* ;