diff --git a/extra/sequences/inserters/inserters-tests.factor b/extra/sequences/inserters/inserters-tests.factor index b1f8691a8d..3b6220bd18 100644 --- a/extra/sequences/inserters/inserters-tests.factor +++ b/extra/sequences/inserters/inserters-tests.factor @@ -1,25 +1,26 @@ ! (c)2010 Joe Groff bsd license -USING: sequences.inserters tools.test ; +USING: assocs kernel sequences sequences.inserters tools.test +unicode.case ; IN: sequences.inserters.tests [ V{ 1 2 "Three" "Four" "Five" } ] [ { "three" "four" "five" } - [ >title ] V{ 1 2 } clone map-as + [ >title ] V{ 1 2 } clone map-as ] unit-test [ t ] [ { "three" "four" "five" } - [ >title ] V{ 1 2 } clone [ map-as ] keep eq? + [ >title ] V{ 1 2 } clone [ map-as ] keep eq? ] unit-test [ V{ 1 2 "Three" "Four" "Five" } ] [ { { "Th" "ree" } { "Fo" "ur" } { "Fi" "ve" } } - [ append ] V{ 1 2 } clone assoc>map + [ append ] V{ 1 2 } clone assoc>map ] unit-test [ t ] [ { { "Th" "ree" } { "Fo" "ur" } { "Fi" "ve" } } - [ append ] V{ 1 2 } clone [ assoc>map ] keep eq? + [ append ] V{ 1 2 } clone [ assoc>map ] keep eq? ] unit-test [ V{ "Three" "Four" "Five" } ] [ @@ -31,3 +32,14 @@ IN: sequences.inserters.tests { "three" "four" "five" } [ >title ] V{ 1 2 } clone [ map-as ] keep eq? ] unit-test + +[ V{ "Three" "Four" "Five" } ] [ + { { "Th" "ree" } { "Fo" "ur" } { "Fi" "ve" } } + [ append ] V{ 1 2 } clone assoc>map +] unit-test + +[ t ] [ + { { "Th" "ree" } { "Fo" "ur" } { "Fi" "ve" } } + [ append ] V{ 1 2 } clone [ assoc>map ] keep eq? +] unit-test + diff --git a/extra/sequences/inserters/inserters.factor b/extra/sequences/inserters/inserters.factor index 08b9b8911d..e0075f158c 100644 --- a/extra/sequences/inserters/inserters.factor +++ b/extra/sequences/inserters/inserters.factor @@ -22,12 +22,12 @@ M: inserter new-resizable M: inserter length drop 0 ; inline -TUPLE: back-inserter { underlying read-only } ; -C: back-inserter +TUPLE: appender { underlying read-only } ; +C: appender -INSTANCE: back-inserter inserter +INSTANCE: appender inserter -M:: back-inserter new-sequence ( len inserter -- sequence ) +M:: appender new-sequence ( len inserter -- sequence ) inserter underlying>> :> underlying underlying length :> old-length old-length len + :> new-length