Hmmm.... VAST does what Pharo/Squeak did before:
#(1 2 3) endsWithSubCollection: #(3). true "<- VAST (11)"
#(1 2 3) endsWithSubCollection: #(). false "<- VAST (11)"
#(1 2 3) beginsWithSubCollection: #(1). true "<- VAST (11)"
#(1 2 3) beginsWithSubCollection: #(). false "<- VAST (11)"
But what about the following?
#() beginsWithSubCollection: #(). false "<- VAST (11)"
#() endsWithSubCollection: #(). false "<- VAST (11)"
In VAST both #beginsWithSubCollection: and #endsWithSubCollection: use #indexOfSubCollection:startingAt:, which is in an ANSI protocol. The comment in #indexOfSubCollection:startingAt: reads:
"[..] Answer 0 if no such subsequence is found in the receiver, or if @targetSequence is empty. [..] Answer 0 if the receiver is empty"
Answering 0 by #indexOfSubCollection:startingAt: results in #beginsWithSubCollection: and #endsWithSubCollection: to return false subsequently.
What behaviour do we want/need in Seaside? Looks like Seaside has no senders with an empty argument. So maybe not bother and drop the test?
Cheers,
Adriaan.