Chris Muller uploaded a new version of CollectionsTests to project The Inbox:
http://source.squeak.org/inbox/CollectionsTests-cmm.313.mcz
==================== Summary ====================
Name: CollectionsTests-cmm.313
Author: cmm
Time: 4 June 2019, 4:54:40.961795 pm
UUID: f570a2c4-6e21-4241-8afb-2808173d3696
Ancestors: CollectionsTests-mt.311
Additional test for #joinSeparatedBy: describes the expected behavior for unordered collections.
=============== Diff against CollectionsTests-mt.311 ===============
Item was added:
+ ----- Method: CollectionTest>>testJoin (in category 'tests') -----
+ testJoin
+ | joined source |
+ self assert: #(a b c d e) join = 'abcde'.
+ self assert: (#(a b c) joinSeparatedBy: '|') = 'a|b|c'.
+ "Test with unordered Set."
+ source := #(a b c c b a x x x y z z z z z '1' '2' '3' '3' '2' '1') asSet.
+ joined := source joinSeparatedBy: '|'.
+ self assert: ((2 to: joined size by: 2) allSatisfy: [ : index | (joined at: index) = $| ]).
+ self assert: ((1 to: joined size by: 2) allSatisfy: [ : index | source includes: (joined at: index) asString ]).
+ "Repeat with Bag."
+ source := #(a b c c b a x x x y z z z z z '1' '2' '3' '3' '2' '1') asBag.
+ joined := source joinSeparatedBy: '|'.
+ self assert: ((2 to: joined size by: 2) allSatisfy: [ : index | (joined at: index) = $| ]).
+ self assert: ((1 to: joined size by: 2) allSatisfy: [ : index | source includes: (joined at: index) asString ]).
+ !
Item was removed:
- ----- Method: SequenceableCollectionTest>>testJoin (in category 'tests - converting') -----
- testJoin
-
- self assert: #(a b c d e) join = 'abcde'.
- self assert: (#(a b c) joinSeparatedBy: '|') = 'a|b|c'.!
Alistair Grant and I, with the support of Feenk, have made GitHub repositories
for OSProcess and CommandShell at:
https://github.com/dtlewis290/OSProcess-Tonelhttps://github.com/dtlewis290/CommandShell-Tonel
Alistair did the conversions using Peter Uhn??k's migration tool, and I set up
the repositories so that they can now be loading in Pharo as follows:
Metacello new
repository: 'github://dtlewis290/OSProcess-Tonel/src';
baseline: 'OSProcess';
load.
Metacello new
repository: 'github://dtlewis290/CommandShell-Tonel/src';
baseline: 'CommandShell';
load.
Note, the two respositories are named *-Tonel because I also maintain a GitHub
repository for OSProcess on Cuis, and will probably do repositories in Squot
format in the future.
@Thierry Goubier - If you have an account on GitHub I will add you as a
collaborator (but my own development work remains on squeaksource so I prefer
contributions there anyway).
Enjoy,
Dave and Alistair
I wanted to take a look at the code John McI recently announced that built on my MQTT client. It's on a github server, in that not-very-comprehendable format.
I had noticed the 'Git Browser' entry in the Tools menu so I thought that might help with viewing the code. Well... it took around ten minutes to install, added around 2Mb to my change log, added what looks like 50+ categories to the browser category list and has no readily findable doc.
Oh and a trivial point/bug, the progress bar kept leaping around from screen centre to centred on the mouse pointer - a small but very visually irritating point.
Once loaded and a Git Browser opened I was all at sea. As mentioned, no readily apparent doc, and the vast list of added categories didn't exactly help in trying to find a relevant seeming class to look at any class comments. Some googling found the 2018 HPI paper on the system which at least has some small explanation of the UI, but nothing to help me start using it.
I eventually found the 'clone project' menu entry and recalled from my *extremely* tiny familiarity that this might well be important. I pasted the URL from the github page 'Clone or download' widget in and thing whirred and clanked a bit. My problem now is that I still see nothing that appears to have any connection to actual visible code.
This is what I see -
Where might I find useful information on what to do next? Is this even supposed to work?
It may well be broken since the related 'Metacello' Tools menu entry fails in Installer class>ensureRecentMetacello since there is a logic bug that leaves the temp 'metacello' nil if Metacello is already installed.
tim
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: PHP: Put Hackers into Privileged mode
A new version of CollectionsTests was added to project The Inbox:
http://source.squeak.org/inbox/CollectionsTests-ct.312.mcz
==================== Summary ====================
Name: CollectionsTests-ct.312
Author: ct
Time: 1 June 2019, 11:45:41.221879 am
UUID: 6b015370-ef46-aa46-a181-6ee1476a6a79
Ancestors: CollectionsTests-mt.311
Move test for #join and #joinSeparatedBy: from SequenceableCollectionTest into CollectionTest
Cf. ct.828
=============== Diff against CollectionsTests-mt.311 ===============
Item was added:
+ ----- Method: CollectionTest>>testJoin (in category 'tests') -----
+ testJoin
+
+ self assert: #(a b c d e) join = 'abcde'.
+ self assert: (#(a b c) joinSeparatedBy: '|') = 'a|b|c'.!
Item was removed:
- ----- Method: SequenceableCollectionTest>>testJoin (in category 'tests - converting') -----
- testJoin
-
- self assert: #(a b c d e) join = 'abcde'.
- self assert: (#(a b c) joinSeparatedBy: '|') = 'a|b|c'.!
A new version of Collections was added to project The Inbox:
http://source.squeak.org/inbox/Collections-ct.828.mcz
==================== Summary ====================
Name: Collections-ct.828
Author: ct
Time: 1 June 2019, 11:44:28.179879 am
UUID: 6aa0cef4-9502-0e4d-8d58-5552f7e07379
Ancestors: Collections-cmm.826
Move #join and #joinSeparatedBy: from SequenceableCollection to Collection
=============== Diff against Collections-cmm.826 ===============
Item was added:
+ ----- Method: Collection>>join (in category 'converting') -----
+ join
+ "Example: #(H e l l o W o r l d) join = 'HelloWorld'. "
+
+ ^ self joinSeparatedBy: ''!
Item was added:
+ ----- Method: Collection>>joinSeparatedBy: (in category 'converting') -----
+ joinSeparatedBy: aSeparator
+ "Returns a string, which is a concatenation of each element's string representation separated by another string."
+
+ ^ String streamContents: [:stream |
+ self
+ do: [:ea | stream nextPutAll: ea asString]
+ separatedBy: [stream nextPutAll: aSeparator asString]]!
Item was removed:
- ----- Method: SequenceableCollection>>join (in category 'converting') -----
- join
- "Example: #(H e l l o W o r l d) join = 'HelloWorld'. "
-
- ^ self joinSeparatedBy: ''!
Item was removed:
- ----- Method: SequenceableCollection>>joinSeparatedBy: (in category 'converting') -----
- joinSeparatedBy: aSeparator
- "Returns a string, which is a concatenation of each element's string representation separated by another string."
-
- ^ String streamContents: [:stream |
- self
- do: [:ea | stream nextPutAll: ea asString]
- separatedBy: [stream nextPutAll: aSeparator asString]]!