Opened 6 years ago
Closed 6 years ago
#162 closed defect (invalid)
ListView>>contents returns CR in a String by default
Reported by: | Patrik Svestka | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | default | Keywords: | |
Cc: | Also affects CVS HEAD (eXept version): | no |
Description
When loading tests e.g. textView contents:'This text is to continue '.
The ListView? used always changes the String in the StringCollection? to contain CR character at the String's end.
Attachments (1)
Change History (7)
comment:1 Changed 6 years ago by
Changed 6 years ago by
Attachment: | libwidg_fix_1_of_1_rev_dbfcd6a6cf68_Issue__162__ListView__contents_returns_CR_in_a_String_by_default.patch added |
---|
Fixing the CR at the EditTextView?
comment:2 Changed 6 years ago by
Status: | new → testing |
---|
comment:3 Changed 6 years ago by
Status: | testing → needs_work |
---|
After applying the patch, following test fails:
test_02 textView contents: 'Hello, here is Smalltalk X'. self assert: textView contents = ('Hello, here is Smalltalk X')
Note the newlines in string literal.
Looking at the patch, this is not surprising - you simply pass nil
as a line end to asStringWith:from:to:compressTabs:final:
which effectively discards all new lines.
The question is what's the problem you're trying to solve.
The St/X editor automatically adds a newline after last line, hence the ...' , Character cr)
in tests. That's fine - most editors have a setting to do (or not) so. If it really bother you, then you need to change only last parameter to asStringWith:from:to:compressTabs:final:
to either line end sequence (if you want to add new line at the end of last line) or nil
(if you do not).
That being said, the (new) instvar name lineEndCR
is cimpletely misleading, it should be something like addNewLineAfterLastLine
. Accessor should have proper comment what's an effect of having there true
and false
(false
would - I guess - mean to strip the last line end). This is easy (and fine with me).
One may want to have tree-value setting - add newline, keep as it is and strip newline - this would be lot more tricky to achieve.
That being said, this patch have to be reworked. Please also edit the ticket summary and description to clearly state what's the problem (would be easier to search year later)
comment:4 Changed 6 years ago by
Status: | needs_work → testing |
---|
comment:5 Changed 6 years ago by
Status: | testing → needs_work |
---|
comment:6 Changed 6 years ago by
Resolution: | → invalid |
---|---|
Status: | needs_work → closed |
This should fix the need to use the ( ..., Character CR) when testing EditTextView?. All what is needed is to tell the EditTextView? that you don't want to use lineEndCR -
textView lineEndCR: false.
If you want to use the CR during the tests you can switch it back on with
textView lineEndCR: true.
The tests have been adjusted to fit the new reality.