'From Pharo5.0 of 16 April 2015 [Latest update: #50770] on 18 April 2017 at 8:08:44.889256 pm'!
"Change Set:		fixcrs-kks
Date:			18 April 2017
Author:			kks

Fixed ensureEndsWith: for start of stream. The error was putting extra blank lines in log output"!


!WriteStream methodsFor: 'accessing' stamp: 'kks 4/18/2017 19:59'!
ensureEndsWith: anObject
	"Append anObject to the receiver IFF there is not one on the end."

	(position == 0 or: [(collection at: position) = anObject]) ifTrue: [^self].
	self nextPut: anObject! !


!WriteStreamTest methodsFor: 'testing' stamp: 'kks 4/18/2017 19:57'!
testEnsureEndsWith
	"self debug: #testEnsureEndsWith"
	| stream |
	stream := String new writeStream.
	stream nextPutAll: 'this is a test'.
	stream ensureEndsWith: Character cr.
	stream nextPutAll: 'for WriteStreamTest'.
	self assert: stream contents = (('this is a test' copyWith: Character cr), 'for WriteStreamTest').
	
	"Manually put a new line and verify there are no 2 new lines"
	stream := String new writeStream.
	stream nextPutAll: ('this is a test' copyWith: Character cr).
	stream ensureEndsWith: Character cr.
	stream nextPutAll: 'for WriteStreamTest'.
	self assert: stream contents = (('this is a test' copyWith: Character cr), 'for WriteStreamTest').
	
	"Test with a empty stream"
	stream := String new writeStream.
	stream ensureEndsWith: Character cr.
	self assert: stream contents = ''.! !

