diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6c5ee8d --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist +*~ diff --git a/.travis.yml b/.travis.yml index 9e38a90..6d59f0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,13 @@ language: erlang env: - - ST=GemStone-2.4.4.1 + - ST=Pharo-2.0 + - ST=Pharo-3.0 + - ST=Pharo-4.0 + - ST=GemStone-2.4.5.3 - ST=GemStone-2.4.6 - ST=GemStone-3.1.0.6 - - ST=GemStone-3.2.3 + - ST=GemStone-3.2.6 install: - export PROJECT_HOME="$(pwd)" diff --git a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st index fbf89af..5e54855 100644 --- a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st +++ b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st @@ -4,19 +4,33 @@ baseline: spec spec for: #'common' do: [ - spec - baseline: 'GLASS1' - with: [ - spec - loads: #('GsSqueakCommon'); - repository: 'github://glassdb/glass:master/repository' ]; - yourself. spec package: 'STON-Core'; + package: 'STON-UTF8-Core' with: [ spec requires: 'STON-Core' ]; package: 'STON-Tests' with: [ spec requires: 'STON-Core' ]; + package: 'STON-UTF8-Tests' with: [ spec requires: 'STON-UTF8-Core' ]; yourself. spec - group: 'default' with: #('Core'); + group: 'default' with: #('Core' 'UTF8'); group: 'Core' with: #('STON-Core'); - group: 'Tests' with: #('STON-Tests'); + group: 'UTF8' with: #('STON-UTF8-Core'); + group: 'Tests' with: #('STON-Tests' 'STON-UTF8-Tests'); + yourself ]. + spec + for: #'pharo' + do: [ + spec + package: 'STON-Core' with: [ spec includes: #('STON-Pharo-Core') ]; + package: 'STON-Pharo-Core' with: [ spec requires: #('STON-Core') ]; + package: 'STON-Tests' with: [ spec includes: #('STON-Pharo-Tests') ]; + package: 'STON-Pharo-Tests' with: [ spec requires: #('STON-Tests') ]; + yourself ]. + spec + for: #'gemstone' + do: [ + spec + package: 'STON-Core' with: [ spec includes: #('STON-GemStone-Core') ]; + package: 'STON-GemStone-Core' with: [ spec requires: #('STON-Core') ]; + package: 'STON-Tests' with: [ spec includes: #('STON-GemStone-Tests') ]; + package: 'STON-GemStone-Tests' with: [ spec requires: #('STON-Tests') ]; yourself ] \ No newline at end of file diff --git a/repository/BaselineOfSton.package/BaselineOfSton.class/methodProperties.json b/repository/BaselineOfSton.package/BaselineOfSton.class/methodProperties.json index 079abdd..5e5b5a1 100644 --- a/repository/BaselineOfSton.package/BaselineOfSton.class/methodProperties.json +++ b/repository/BaselineOfSton.package/BaselineOfSton.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "baseline:" : "dkh 11/21/2014 21:27" } } + "baseline:" : "dkh 06/26/2015 15:33" } } diff --git a/repository/BaselineOfSton.package/monticello.meta/version b/repository/BaselineOfSton.package/monticello.meta/version index d6f94ad..772e501 100644 --- a/repository/BaselineOfSton.package/monticello.meta/version +++ b/repository/BaselineOfSton.package/monticello.meta/version @@ -1 +1 @@ -(name 'BaselineOfSton-dkh.2' message 'methods moved to GsSqueakCommon tweak baseline' id '95ee1850-6f04-40d6-9ad6-b545b564683b' date '11/21/2014' time '21:40:37' author 'dkh' ancestors ((name 'BaselineOfSton-dkh.1' message 'first baseline' id '40015af9-4ad1-4c0b-912e-be0d1dc962a9' date '06/16/2012' time '09:54:51' author 'dkh' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'BaselineOfSton-dkh.5' message 'Issue #6: split out platform-specific tests' id 'f34bbba6-3233-4a51-88a4-0061a5e59e5f' date '06/26/2015' time '15:37:35' author 'dkh' ancestors ((name 'BaselineOfSton-dkh.4' message 'Issue #6: split out platform-specific methods for pharo and gemstone' id '4d2e16bf-07c3-4fb6-82d9-6a8dd3e2b460' date '06/26/2015' time '14:57:31' author 'dkh' ancestors ((name 'BaselineOfSton-dkh.3' message 'Issue #6: laying the groundwork for supporting the 4 STON serialization options: - classic (utf8 challenged) - utf8-friendly - GemStone/tODE v0.5.1 - GemStone/tODE v0.9.* Consolidating the Pharo/GemStone packages in the gemstone branch.' id '7b50b553-a9f2-4f17-9bd9-b301607341f7' date '06/26/2015' time '14:19:20' author 'dkh' ancestors ((name 'BaselineOfSton-dkh.2' message 'methods moved to GsSqueakCommon tweak baseline' id '95ee1850-6f04-40d6-9ad6-b545b564683b' date '11/21/2014' time '21:40:37' author 'dkh' ancestors ((name 'BaselineOfSton-dkh.1' message 'first baseline' id '40015af9-4ad1-4c0b-912e-be0d1dc962a9' date '06/16/2012' time '09:54:51' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/STON-Core.package/CharacterCollection.extension/instance/stonProcessSubObjects..st b/repository/STON-Core.package/CharacterCollection.extension/instance/stonProcessSubObjects..st deleted file mode 100644 index e291dc9..0000000 --- a/repository/STON-Core.package/CharacterCollection.extension/instance/stonProcessSubObjects..st +++ /dev/null @@ -1,2 +0,0 @@ -*ston-core -stonProcessSubObjects: block \ No newline at end of file diff --git a/repository/STON-Core.package/CharacterCollection.extension/methodProperties.json b/repository/STON-Core.package/CharacterCollection.extension/methodProperties.json deleted file mode 100644 index 6c0b7ab..0000000 --- a/repository/STON-Core.package/CharacterCollection.extension/methodProperties.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "class" : { - }, - "instance" : { - "stonOn:" : "DataCurator 01/09/2013 07:52", - "stonProcessSubObjects:" : "DataCurator 01/09/2013 07:53" } } diff --git a/repository/STON-Core.package/Date.extension/methodProperties.json b/repository/STON-Core.package/Date.extension/methodProperties.json index 67cc702..dee305f 100644 --- a/repository/STON-Core.package/Date.extension/methodProperties.json +++ b/repository/STON-Core.package/Date.extension/methodProperties.json @@ -1,6 +1,6 @@ { "class" : { - "fromSton:" : "SvenVanCaekenberghe 2/12/2012 15:17" }, + }, "instance" : { "stonContainSubObjects" : "SvenVanCaekenberghe 11/29/2012 16:26", "stonOn:" : "SvenVanCaekenberghe 2/12/2012 20:03" } } diff --git a/repository/STON-Core.package/DateAndTime.extension/methodProperties.json b/repository/STON-Core.package/DateAndTime.extension/methodProperties.json index fd741c8..e48721d 100644 --- a/repository/STON-Core.package/DateAndTime.extension/methodProperties.json +++ b/repository/STON-Core.package/DateAndTime.extension/methodProperties.json @@ -2,5 +2,4 @@ "class" : { "fromSton:" : "SvenVanCaekenberghe 2/12/2012 19:50" }, "instance" : { - "stonContainSubObjects" : "SvenVanCaekenberghe 11/29/2012 16:25", - "stonOn:" : "SvenVanCaekenberghe 2/12/2012 20:03" } } + "stonContainSubObjects" : "SvenVanCaekenberghe 11/29/2012 16:25" } } diff --git a/repository/STON-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st b/repository/STON-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st deleted file mode 100644 index f5e6259..0000000 --- a/repository/STON-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-core -decodeFromUTF8 - ^ self \ No newline at end of file diff --git a/repository/STON-Core.package/DoubleByteString.extension/methodProperties.json b/repository/STON-Core.package/DoubleByteString.extension/methodProperties.json deleted file mode 100644 index 63873d6..0000000 --- a/repository/STON-Core.package/DoubleByteString.extension/methodProperties.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "class" : { - }, - "instance" : { - "decodeFromUTF8" : "PaulDeBruicker 10/01/2013 17:29" } } diff --git a/repository/STON-Core.package/DoubleByteString.extension/properties.json b/repository/STON-Core.package/DoubleByteString.extension/properties.json deleted file mode 100644 index dbbfbb3..0000000 --- a/repository/STON-Core.package/DoubleByteString.extension/properties.json +++ /dev/null @@ -1,2 +0,0 @@ -{ - "name" : "DoubleByteString" } diff --git a/repository/STON-Core.package/Object.extension/methodProperties.json b/repository/STON-Core.package/Object.extension/methodProperties.json index a6aa48e..3568a93 100644 --- a/repository/STON-Core.package/Object.extension/methodProperties.json +++ b/repository/STON-Core.package/Object.extension/methodProperties.json @@ -6,5 +6,4 @@ "isStonReference" : "SvenVanCaekenberghe 1/18/2012 20:16", "stonContainSubObjects" : "SvenVanCaekenberghe 11/29/2012 16:24", "stonOn:" : "SvenVanCaekenberghe 11/28/2012 14:27", - "stonProcessSubObjects:" : "SvenVanCaekenberghe 11/29/2012 16:22", "stonShouldWriteNilInstVars" : "SvenVanCaekenberghe 11/13/2013 23:43" } } diff --git a/repository/STON-Core.package/STON.class/class/fromStream..st b/repository/STON-Core.package/STON.class/class/fromStream..st index aa2b93e..e84a693 100644 --- a/repository/STON-Core.package/STON.class/class/fromStream..st +++ b/repository/STON-Core.package/STON.class/class/fromStream..st @@ -1,3 +1,3 @@ -convencience +convenience fromStream: readStream ^ (self reader on: readStream) next \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/fromString..st b/repository/STON-Core.package/STON.class/class/fromString..st index 8f5f9ad..b1548e5 100644 --- a/repository/STON-Core.package/STON.class/class/fromString..st +++ b/repository/STON-Core.package/STON.class/class/fromString..st @@ -1,3 +1,3 @@ -convencience +convenience fromString: string - ^ self fromStream: string readStream \ No newline at end of file + ^ self fromStream: string readStream \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/put.asJsonOnStream..st b/repository/STON-Core.package/STON.class/class/put.asJsonOnStream..st index db31b6e..a9bd2c8 100644 --- a/repository/STON-Core.package/STON.class/class/put.asJsonOnStream..st +++ b/repository/STON-Core.package/STON.class/class/put.asJsonOnStream..st @@ -1,3 +1,3 @@ -convencience +convenience put: object asJsonOnStream: stream (self jsonWriter on: stream) nextPut: object \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/put.asJsonOnStreamPretty..st b/repository/STON-Core.package/STON.class/class/put.asJsonOnStreamPretty..st index c182fe1..13407b9 100644 --- a/repository/STON-Core.package/STON.class/class/put.asJsonOnStreamPretty..st +++ b/repository/STON-Core.package/STON.class/class/put.asJsonOnStreamPretty..st @@ -1,4 +1,4 @@ -convencience +convenience put: object asJsonOnStreamPretty: stream (self jsonWriter on: stream) prettyPrint: true; diff --git a/repository/STON-Core.package/STON.class/class/put.onStream..st b/repository/STON-Core.package/STON.class/class/put.onStream..st index 4b3f964..207e676 100644 --- a/repository/STON-Core.package/STON.class/class/put.onStream..st +++ b/repository/STON-Core.package/STON.class/class/put.onStream..st @@ -1,3 +1,3 @@ -convencience +convenience put: object onStream: stream (self writer on: stream) nextPut: object \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/put.onStreamPretty..st b/repository/STON-Core.package/STON.class/class/put.onStreamPretty..st index f8f16b1..2101440 100644 --- a/repository/STON-Core.package/STON.class/class/put.onStreamPretty..st +++ b/repository/STON-Core.package/STON.class/class/put.onStreamPretty..st @@ -1,4 +1,4 @@ -convencience +convenience put: object onStreamPretty: stream (self writer on: stream) prettyPrint: true; diff --git a/repository/STON-Core.package/STON.class/class/toJsonString..st b/repository/STON-Core.package/STON.class/class/toJsonString..st index 3c43464..3146ff2 100644 --- a/repository/STON-Core.package/STON.class/class/toJsonString..st +++ b/repository/STON-Core.package/STON.class/class/toJsonString..st @@ -1,4 +1,3 @@ -convencience +convenience toJsonString: object - ^ String streamContents: [ :stream | - self put: object asJsonOnStream: stream ] \ No newline at end of file + ^ String streamContents: [ :stream | self put: object asJsonOnStream: stream ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toJsonStringPretty..st b/repository/STON-Core.package/STON.class/class/toJsonStringPretty..st index a41c2a1..4b56d3c 100644 --- a/repository/STON-Core.package/STON.class/class/toJsonStringPretty..st +++ b/repository/STON-Core.package/STON.class/class/toJsonStringPretty..st @@ -1,4 +1,4 @@ -convencience +convenience toJsonStringPretty: object - ^ String streamContents: [ :stream | - self put: object asJsonOnStreamPretty: stream ] \ No newline at end of file + ^ String + streamContents: [ :stream | self put: object asJsonOnStreamPretty: stream ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toString..st b/repository/STON-Core.package/STON.class/class/toString..st index f798f18..0d00047 100644 --- a/repository/STON-Core.package/STON.class/class/toString..st +++ b/repository/STON-Core.package/STON.class/class/toString..st @@ -1,4 +1,3 @@ -convencience +convenience toString: object - ^ String streamContents: [ :stream | - self put: object onStream: stream ] \ No newline at end of file + ^ String streamContents: [ :stream | self put: object onStream: stream ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toStringPretty..st b/repository/STON-Core.package/STON.class/class/toStringPretty..st index 13e7e74..7f2cb22 100644 --- a/repository/STON-Core.package/STON.class/class/toStringPretty..st +++ b/repository/STON-Core.package/STON.class/class/toStringPretty..st @@ -1,4 +1,3 @@ -convencience +convenience toStringPretty: object - ^ String streamContents: [ :stream | - self put: object onStreamPretty: stream ] \ No newline at end of file + ^ String streamContents: [ :stream | self put: object onStreamPretty: stream ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/methodProperties.json b/repository/STON-Core.package/STON.class/methodProperties.json index c0d3318..f846d0c 100644 --- a/repository/STON-Core.package/STON.class/methodProperties.json +++ b/repository/STON-Core.package/STON.class/methodProperties.json @@ -1,7 +1,7 @@ { "class" : { "fromStream:" : "SvenVanCaekenberghe 1/24/2012 09:39", - "fromString:" : "SvenVanCaekenberghe 1/24/2012 09:40", + "fromString:" : "dkh 06/22/2015 14:51", "jsonWriter" : "SvenVanCaekenberghe 5/15/2012 09:32", "listClass" : "SvenVanCaekenberghe 1/24/2012 09:36", "mapClass" : "SvenVanCaekenberghe 1/24/2012 09:36", @@ -10,10 +10,10 @@ "put:onStream:" : "SvenVanCaekenberghe 1/24/2012 09:49", "put:onStreamPretty:" : "SvenVanCaekenberghe 2/12/2012 19:30", "reader" : "SvenVanCaekenberghe 1/24/2012 09:37", - "toJsonString:" : "SvenVanCaekenberghe 5/30/2012 22:07", - "toJsonStringPretty:" : "SvenVanCaekenberghe 5/30/2012 22:07", - "toString:" : "SvenVanCaekenberghe 1/24/2012 09:49", - "toStringPretty:" : "SvenVanCaekenberghe 2/12/2012 19:30", + "toJsonString:" : "dkh 06/22/2015 14:48", + "toJsonStringPretty:" : "dkh 06/22/2015 14:48", + "toString:" : "dkh 06/22/2015 14:51", + "toStringPretty:" : "dkh 06/22/2015 14:51", "writer" : "SvenVanCaekenberghe 1/24/2012 09:37" }, "instance" : { } } diff --git a/repository/STON-Core.package/STONReader.class/instance/parseCharacter.st b/repository/STON-Core.package/STONReader.class/instance/parseCharacter.st index 4eaa999..f75fbfa 100644 --- a/repository/STON-Core.package/STONReader.class/instance/parseCharacter.st +++ b/repository/STON-Core.package/STONReader.class/instance/parseCharacter.st @@ -1,20 +1,20 @@ parsing-internal parseCharacter - | char | - (char := readStream next) = $\ - ifFalse: [ ^ char ]. - (#( $' $" $/ $\) includes: (char := readStream next)) - ifTrue: [ ^ char ]. - char = $b - ifTrue: [ ^ Character backspace ]. - char = $f - ifTrue: [ ^ Character newPage ]. - char = $n - ifTrue: [ ^ Character lf ]. - char = $r - ifTrue: [ ^ Character cr ]. - char = $t - ifTrue: [ ^ Character tab ]. - char = $u - ifTrue: [ ^ self parseCharacterHex ]. - self error: 'invalid escape character \' , (String with: char) \ No newline at end of file + | char | + (char := readStream next) = $\ + ifFalse: [ ^ char ]. + (#($' $" $/ $\) includes: (char := readStream next)) + ifTrue: [ ^ char ]. + char = $b + ifTrue: [ ^ Character backspace ]. + char = $f + ifTrue: [ ^ Character newPage ]. + char = $n + ifTrue: [ ^ Character lf ]. + char = $r + ifTrue: [ ^ Character cr ]. + char = $t + ifTrue: [ ^ Character tab ]. + char = $u + ifTrue: [ ^ self parseCharacterHex ]. + self error: 'invalid escape character \' , (String with: char) \ No newline at end of file diff --git a/repository/STON-Core.package/STONReader.class/instance/parseCharacterHex.st b/repository/STON-Core.package/STONReader.class/instance/parseCharacterHex.st index e0bf75f..923c943 100644 --- a/repository/STON-Core.package/STONReader.class/instance/parseCharacterHex.st +++ b/repository/STON-Core.package/STONReader.class/instance/parseCharacterHex.st @@ -1,7 +1,6 @@ parsing-internal parseCharacterHex - | value | - value := self parseCharacterHexDigit. - 3 timesRepeat: [ - value := (value << 4) + self parseCharacterHexDigit ]. - ^ Character codePoint: value \ No newline at end of file + | value | + value := self parseCharacterHexDigit. + 3 timesRepeat: [ value := (value << 4) + self parseCharacterHexDigit ]. + ^ Character codePoint: value \ No newline at end of file diff --git a/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st b/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st index 086de50..8a48581 100644 --- a/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st +++ b/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st @@ -5,6 +5,8 @@ parseStringInternal (delimiter = $' or: [ delimiter = $" ]) ifFalse: [ self error: ''' or " expected' ]. result := self - stringStreamContents: [ :stream | [ readStream atEnd or: [ readStream peek = delimiter ] ] whileFalse: [ stream nextPut: self parseCharacter ] ]. + stringStreamContents: [ :stream | + [ readStream atEnd or: [ readStream peek = delimiter ] ] + whileFalse: [ stream nextPut: self parseCharacter ] ]. self expectChar: delimiter. - ^ result decodeFromUTF8 \ No newline at end of file + ^ result \ No newline at end of file diff --git a/repository/STON-Core.package/STONReader.class/methodProperties.json b/repository/STON-Core.package/STONReader.class/methodProperties.json index c72484c..5088176 100644 --- a/repository/STON-Core.package/STONReader.class/methodProperties.json +++ b/repository/STON-Core.package/STONReader.class/methodProperties.json @@ -19,8 +19,8 @@ "next" : "SvenVanCaekenberghe 4/27/2012 16:48", "on:" : "SvenVanCaekenberghe 1/14/2012 20:26", "optimizeForLargeStructures" : "SvenVanCaekenberghe 11/29/2012 15:54", - "parseCharacter" : "SvenVanCaekenberghe 1/15/2012 21:38", - "parseCharacterHex" : "SvenVanCaekenberghe 5/29/2012 21:12", + "parseCharacter" : "dkh 06/22/2015 16:19", + "parseCharacterHex" : "dkh 06/22/2015 16:35", "parseCharacterHexDigit" : "SvenVanCaekenberghe 1/15/2012 11:28", "parseClass" : "SvenVanCaekenberghe 5/29/2012 21:13", "parseConstantDo:" : "SvenVanCaekenberghe 5/7/2012 13:16", @@ -36,7 +36,7 @@ "parseObject" : "SvenVanCaekenberghe 2/12/2012 13:45", "parseReference" : "SvenVanCaekenberghe 11/29/2012 08:52", "parseString" : "SvenVanCaekenberghe 2/29/2012 21:50", - "parseStringInternal" : "SvenVanCaekenberghe 5/29/2012 21:12", + "parseStringInternal" : "dkh 06/29/2015 11:39", "parseSymbol" : "SvenVanCaekenberghe 5/7/2012 10:42", "parseValue" : "SvenVanCaekenberghe 5/7/2012 13:16", "processSubObjectsOf:" : "SvenVanCaekenberghe 11/29/2012 16:29", diff --git a/repository/STON-Core.package/STONWriter.class/instance/encodeString..st b/repository/STON-Core.package/STONWriter.class/instance/encodeString..st index 02ac0ee..cfc8ac3 100644 --- a/repository/STON-Core.package/STONWriter.class/instance/encodeString..st +++ b/repository/STON-Core.package/STONWriter.class/instance/encodeString..st @@ -1,7 +1,7 @@ private encodeString: string | encodedString | - encodedString := string encodeAsUTF8 asString. + encodedString := string. writeStream nextPut: (jsonMode diff --git a/repository/STON-Core.package/STONWriter.class/methodProperties.json b/repository/STON-Core.package/STONWriter.class/methodProperties.json index f5fc846..f3e54a9 100644 --- a/repository/STON-Core.package/STONWriter.class/methodProperties.json +++ b/repository/STON-Core.package/STONWriter.class/methodProperties.json @@ -7,11 +7,10 @@ "on:" : "SvenVanCaekenberghe 1/14/2012 15:48" }, "instance" : { "close" : "SvenVanCaekenberghe 1/14/2012 15:37", - "encodeCharacter:" : "SvenVanCaekenberghe 4/29/2012 12:23:33", "encodeKey:value:" : "SvenVanCaekenberghe 1/23/2012 11:32", "encodeList:" : "SvenVanCaekenberghe 5/5/2012 16:56", "encodeMap:" : "SvenVanCaekenberghe 5/5/2012 16:56", - "encodeString:" : "SvenVanCaekenberghe 4/27/2012 13:49", + "encodeString:" : "dkh 06/29/2015 11:40", "indentedDo:" : "SvenVanCaekenberghe 1/23/2012 11:12", "initialize" : "SvenVanCaekenberghe 3/7/2013 10:38", "isSimpleSymbol:" : "SvenVanCaekenberghe 4/15/2014 13:35", @@ -30,7 +29,6 @@ "shortListElementSeparator" : "SvenVanCaekenberghe 4/29/2012 12:23:33", "with:do:" : "SvenVanCaekenberghe 4/26/2012 17:18", "writeBoolean:" : "SvenVanCaekenberghe 1/14/2012 15:51", - "writeFloat:" : "SvenVanCaekenberghe 1/14/2012 16:05", "writeInteger:" : "SvenVanCaekenberghe 1/14/2012 15:48", "writeList:" : "SvenVanCaekenberghe 1/24/2012 10:00", "writeMap:" : "SvenVanCaekenberghe 1/24/2012 10:01", diff --git a/repository/STON-Core.package/monticello.meta/version b/repository/STON-Core.package/monticello.meta/version index 27e4039..55eaf1f 100644 --- a/repository/STON-Core.package/monticello.meta/version +++ b/repository/STON-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'STON-Core-dkh.52' message 'merged by GitFileTree-MergeDriver' id '6e0563c5-e9f0-4013-be50-1a4763b131ff' date '23 June 2015' time '10:23:26.047453 am' author 'dkh' ancestors ((name 'STON-Core-dkh.51' message 'remove support GRSmallDictionary and SmallDictionary ... SmallDictionary not implemented in GemStone and GRSmallDictionary is lacking #= so tests fail ...' id '2389d089-7f0a-4458-be55-f8cea5631a23' date '19 June 2015' time '11:30:27 am' author 'dkh' ancestors ((name 'STON-Core-SvenVanCaekenberghe.50' message 'merged by GitFileTree-MergeDriver' id '409e98c6-2000-4cdc-93a7-29e6e9223afc' date '18 June 2015' time '5:19:22 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.49' message 'Fix to allow working with the empty Symbol #'''' (changed STONWriter>>#isSimpleSymbol: to return false for the empty symbol) [Thx Martin - tinchodias]' id 'b5e2e82b-b296-46ff-b275-3040d055e7bc' date '15 April 2014' time '2:16:03 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.48' message 'Added explicit #stonOn: and #fromSton: methods to Text and RunArray who are inheriting the wrong behavior + unit test' id 'd56b9e2a-a712-4edd-b1db-a4dfe7d9ad3b' date '24 March 2014' time '2:29:29 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.47' message 'Modify STONReader>>#error: to remain compatible with streams that don''t understand #position' id 'ffbdccdd-6a3c-4053-b90a-fa0f7ec2217f' date '13 December 2013' time '4:27:38 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-DamienCassou.46' message '- Display the position where the input error has been found' id '18cce271-f166-4115-a497-4f651b599275' date '9 December 2013' time '1:31:17 am' author 'DamienCassou' ancestors ((name 'STON-Core-SvenVanCaekenberghe.45' message 'Changed the implementation of STONWriter>>#writeObject: to skip nil instance variables unless Object>>#stonShouldWriteNilInstVars is overridden to be true' id '46c8ccc1-35f1-4f1b-be48-ff873ef99f2f' date '14 November 2013' time '12:02:29 pm' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.44' message 'Added support for Small[Identity]Dictionary' id 'd0e318c2-2878-4586-a122-f8ec96186e5f' date '17 September 2013' time '8:17:17 am' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'STON-Core-dkh.48' message 'Stack moved to GsSqueakCommon' id '281fa1ff-5656-4917-82c6-c09f1868630e' date '22 November 2014' time '1:14:45 pm' author 'dkh' ancestors ((name 'STON-Core-dkh.47' message 'move ByteArray>>readHexFrom: and ByteArray class>>readHexFrom: to GsSqueakCommon package ...' id '681b12e0-5642-46ac-90a5-ef44b375ec5d' date '21 November 2014' time '8:08:31 pm' author 'dkh' ancestors ((name 'STON-Core-dkh.46' message 'turns out that we should be using #_basicSize instead of #basicSize in Object>>stonProcessSubObjects:' id '85342a57-56b8-4f61-a223-552b9afd9664' date '5 November 2013' time '12:18:40 pm' author 'dkh' ancestors ((name 'STON-Core-dkh.45' message 'move KeyValueDictionary>>stonProcessSubObjects: to AbstractDictionary>>stonProcessSubObjects: ... needed for all Dictionaries.' id '464c5149-c04b-44c8-848a-ba99fc9c8d61' date '26 October 2013' time '9:06:40 am' author 'dkh' ancestors ((name 'STON-Core-SvenVanCaekenberghe.44' message 'bump version to reflect changes for GemStone' id 'bf892d42-7863-44bd-b051-0869cf7b899b' date '25 October 2013' time '7:18:15 pm' author 'dkh' ancestors ((name 'STON-Core-SvenVanCaekenberghe.43' message 'Added custom newline support to STONWriter' id '824c9f51-461a-4b92-92fb-861b2722d5f7' date '7 March 2013' time '10:51:24 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.42' message 'minor refactoring using #peekFor:' id 'b1ce0d4c-6029-4f7f-b617-4833005155a8' date '3 December 2012' time '11:13:17 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.41' message 'replace all ''do-nothing'' implementations of #stonProcessSubObjects: with the new #stonContainSubObjects returning false; rewrote STONReader>>#processSubObjects: to use this to shortcircuit doing sub processing (thx Norbert Hartl for the suggestion)' id 'd1218bc7-e5bc-4b8e-9ec2-d102b1264a25' date '29 November 2012' time '4:57:15 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.40' message 'make #optimizeForLargeStructures do nothing when the Fuel classes are missing' id '9f2a085f-b279-4d6c-895e-e57082139f35' date '29 November 2012' time '3:56:19 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.39' message 'changed STONReader>>#processSubObjectsOf: from a recursive to an iterative process using a stack (as suggested by Norbert Hartl); added #optimizeForLargeStructures to STONReader and STONWriter to use some special Fuel datastructures optimized for large sizes (these are standard in Pharo)' id '9d8ce1ba-3a6e-4c8c-98da-85f32816e2cd' date '29 November 2012' time '3:43:05 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.38' message 'fixed a bug that prevented object structures with cycles from being materialized (as reported with an excellent test case by Stuart Herring): STONReader>>#parseReference will no longer resolve references eagerly since that led to cycles in #processSubObjectsOf: moved most logic from Object>>#stonOn: to STONWriter>>#writeObject: while adding a shortcut for objects without instance variables; add STONReference>>#printOn: to ease debugging' id 'a1e38a45-29ff-4267-ba97-1c21e21d519d' date '29 November 2012' time '12:12:04 pm' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.37' message 'this is a copy of Ston-Core-SvenVanCaekenberghe.36 with the monticello package name changed from Ston-Core to STON-Core' id 'ba8612a2-47a2-4d81-9a7e-468f4d9aefd5' date '26 October 2012' time '10:36:37 am' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'STON-Core-SvenVanCaekenberghe.50' message 'merged by GitFileTree-MergeDriver' id 'd9f1960b-f7ae-4bc9-b23e-91d6d0e3bab3' date '23 June 2015' time '10:21:22.974277 am' author 'SvenVanCaekenberghe' ancestors ((id 'b5e2e82b-b296-46ff-b275-3040d055e7bc')) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'STON-Core-dkh.57' message 'Issue #6: return STONWriter and STONReader implementations to original implementation ... GemStone-specific mods are now present in STON051*, STON091*, and STONutf8* classes ... Modify tests to accomodate https://github.com/svenvc/ston/issues/11' id '37b1424c-9342-4388-b9ab-c2f63cf600a2' date '06/29/2015' time '14:10:18' author 'dkh' ancestors ((name 'STON-Core-dkh.56' message 'Issue #6: push a few more methods around' id 'bdb83f65-9b8d-4931-bca4-a0b5ce2d207e' date '06/26/2015' time '15:03:11' author 'dkh' ancestors ((name 'STON-Core-dkh.55' message 'Issue #6: split out platform-specific methods for pharo and gemstone' id 'b9b307c7-ae03-42b1-a38f-97f3a216236b' date '06/26/2015' time '14:57:31' author 'dkh' ancestors ((name 'STON-Core-dkh.54' message 'Issue #6: laying the groundwork for supporting the 4 STON serialization options: - classic (utf8 challenged) - utf8-friendly - GemStone/tODE v0.5.1 - GemStone/tODE v0.9.* Consolidating the Pharo/GemStone packages in the gemstone branch.' id 'c17e6ade-0d82-4339-8273-5981719eef41' date '06/26/2015' time '14:19:19' author 'dkh' ancestors ((name 'STON-Core-dkh.53' message 'Issue #6 add STON class>>fromUTF8: and STON class>>toUTF8:' id '6175f8c3-cef1-41fe-8cc0-5cb34c091e93' date '06/24/2015' time '16:49:13' author 'dkh' ancestors ((name 'STON-Core-dkh.51' message 'remove support GRSmallDictionary and SmallDictionary ... SmallDictionary not implemented in GemStone and GRSmallDictionary is lacking #= so tests fail ...' id '2389d089-7f0a-4458-be55-f8cea5631a23' date '06/19/2015' time '11:30:27' author 'dkh' ancestors ((name 'STON-Core-SvenVanCaekenberghe.50' message 'merged by GitFileTree-MergeDriver' id '409e98c6-2000-4cdc-93a7-29e6e9223afc' date '06/18/2015' time '05:19:22' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.49' message 'Fix to allow working with the empty Symbol #'''' (changed STONWriter>>#isSimpleSymbol: to return false for the empty symbol) [Thx Martin - tinchodias]' id 'b5e2e82b-b296-46ff-b275-3040d055e7bc' date '04/15/2014' time '02:16:03' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.48' message 'Added explicit #stonOn: and #fromSton: methods to Text and RunArray who are inheriting the wrong behavior + unit test' id 'd56b9e2a-a712-4edd-b1db-a4dfe7d9ad3b' date '03/24/2014' time '02:29:29' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.47' message 'Modify STONReader>>#error: to remain compatible with streams that don''t understand #position' id 'ffbdccdd-6a3c-4053-b90a-fa0f7ec2217f' date '12/13/2013' time '04:27:38' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-DamienCassou.46' message '- Display the position where the input error has been found' id '18cce271-f166-4115-a497-4f651b599275' date '12/09/2013' time '01:31:17' author 'DamienCassou' ancestors ((name 'STON-Core-SvenVanCaekenberghe.45' message 'Changed the implementation of STONWriter>>#writeObject: to skip nil instance variables unless Object>>#stonShouldWriteNilInstVars is overridden to be true' id '46c8ccc1-35f1-4f1b-be48-ff873ef99f2f' date '11/14/2013' time '12:02:29' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.44' message 'Added support for Small[Identity]Dictionary' id 'd0e318c2-2878-4586-a122-f8ec96186e5f' date '09/17/2013' time '08:17:17' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'STON-Core-dkh.48' message 'Stack moved to GsSqueakCommon' id '281fa1ff-5656-4917-82c6-c09f1868630e' date '11/22/2014' time '13:14:45' author 'dkh' ancestors ((name 'STON-Core-dkh.47' message 'move ByteArray>>readHexFrom: and ByteArray class>>readHexFrom: to GsSqueakCommon package ...' id '681b12e0-5642-46ac-90a5-ef44b375ec5d' date '11/21/2014' time '20:08:31' author 'dkh' ancestors ((name 'STON-Core-dkh.46' message 'turns out that we should be using #_basicSize instead of #basicSize in Object>>stonProcessSubObjects:' id '85342a57-56b8-4f61-a223-552b9afd9664' date '11/05/2013' time '12:18:40' author 'dkh' ancestors ((name 'STON-Core-dkh.45' message 'move KeyValueDictionary>>stonProcessSubObjects: to AbstractDictionary>>stonProcessSubObjects: ... needed for all Dictionaries.' id '464c5149-c04b-44c8-848a-ba99fc9c8d61' date '10/26/2013' time '09:06:40' author 'dkh' ancestors ((name 'STON-Core-SvenVanCaekenberghe.44' message 'bump version to reflect changes for GemStone' id 'bf892d42-7863-44bd-b051-0869cf7b899b' date '10/25/2013' time '19:18:15' author 'dkh' ancestors ((name 'STON-Core-SvenVanCaekenberghe.43' message 'Added custom newline support to STONWriter' id '824c9f51-461a-4b92-92fb-861b2722d5f7' date '03/07/2013' time '10:51:24' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.42' message 'minor refactoring using #peekFor:' id 'b1ce0d4c-6029-4f7f-b617-4833005155a8' date '12/03/2012' time '11:13:17' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.41' message 'replace all ''do-nothing'' implementations of #stonProcessSubObjects: with the new #stonContainSubObjects returning false; rewrote STONReader>>#processSubObjects: to use this to shortcircuit doing sub processing (thx Norbert Hartl for the suggestion)' id 'd1218bc7-e5bc-4b8e-9ec2-d102b1264a25' date '11/29/2012' time '04:57:15' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.40' message 'make #optimizeForLargeStructures do nothing when the Fuel classes are missing' id '9f2a085f-b279-4d6c-895e-e57082139f35' date '11/29/2012' time '03:56:19' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.39' message 'changed STONReader>>#processSubObjectsOf: from a recursive to an iterative process using a stack (as suggested by Norbert Hartl); added #optimizeForLargeStructures to STONReader and STONWriter to use some special Fuel datastructures optimized for large sizes (these are standard in Pharo)' id '9d8ce1ba-3a6e-4c8c-98da-85f32816e2cd' date '11/29/2012' time '03:43:05' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.38' message 'fixed a bug that prevented object structures with cycles from being materialized (as reported with an excellent test case by Stuart Herring): STONReader>>#parseReference will no longer resolve references eagerly since that led to cycles in #processSubObjectsOf: moved most logic from Object>>#stonOn: to STONWriter>>#writeObject: while adding a shortcut for objects without instance variables; add STONReference>>#printOn: to ease debugging' id 'a1e38a45-29ff-4267-ba97-1c21e21d519d' date '11/29/2012' time '12:12:04' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Core-SvenVanCaekenberghe.37' message 'this is a copy of Ston-Core-SvenVanCaekenberghe.36 with the monticello package name changed from Ston-Core to STON-Core' id 'ba8612a2-47a2-4d81-9a7e-468f4d9aefd5' date '10/26/2012' time '10:36:37' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/.filetree b/repository/STON-GemStone-Core.package/.filetree new file mode 100644 index 0000000..8998102 --- /dev/null +++ b/repository/STON-GemStone-Core.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/STON-GemStone-Core.package/AbstractDictionary.extension/class/fromSton..st b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/class/fromSton..st new file mode 100644 index 0000000..8aa84be --- /dev/null +++ b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/class/fromSton..st @@ -0,0 +1,10 @@ +*ston-gemstone-core +fromSton: stonReader + "Instances of STON mapClass will be read directly and won't arrive here. + Other (sub)classes will use this method." + + | dictionary | + dictionary := self new. + stonReader parseMapDo: [ :key :value | + dictionary at: key put: value ]. + ^ dictionary \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/AbstractDictionary.extension/instance/stonOn..st b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/instance/stonOn..st new file mode 100644 index 0000000..096b9cc --- /dev/null +++ b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/instance/stonOn..st @@ -0,0 +1,12 @@ +*ston-gemstone-core +stonOn: stonWriter + "Instances of STON mapClass will be encoded directly, without a class tag. + Other (sub)classes will be encoded with a class tag and will use a map representation. " + + self class == STON mapClass + ifTrue: [ + stonWriter writeMap: self ] + ifFalse: [ + stonWriter + writeObject: self + do: [ stonWriter encodeMap: self ] ] \ No newline at end of file diff --git a/repository/STON-Core.package/AbstractDictionary.extension/instance/stonProcessSubObjects..st b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/instance/stonProcessSubObjects..st similarity index 96% rename from repository/STON-Core.package/AbstractDictionary.extension/instance/stonProcessSubObjects..st rename to repository/STON-GemStone-Core.package/AbstractDictionary.extension/instance/stonProcessSubObjects..st index 5e9f80e..f8f786c 100644 --- a/repository/STON-Core.package/AbstractDictionary.extension/instance/stonProcessSubObjects..st +++ b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/instance/stonProcessSubObjects..st @@ -1,4 +1,4 @@ -*ston-core +*ston-gemstone-core stonProcessSubObjects: block "Execute block to (potentially) change each of my subObjects. In general, all instance and indexable variables are processed. diff --git a/repository/STON-Core.package/AbstractDictionary.extension/methodProperties.json b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/methodProperties.json similarity index 100% rename from repository/STON-Core.package/AbstractDictionary.extension/methodProperties.json rename to repository/STON-GemStone-Core.package/AbstractDictionary.extension/methodProperties.json diff --git a/repository/STON-Core.package/AbstractDictionary.extension/properties.json b/repository/STON-GemStone-Core.package/AbstractDictionary.extension/properties.json similarity index 100% rename from repository/STON-Core.package/AbstractDictionary.extension/properties.json rename to repository/STON-GemStone-Core.package/AbstractDictionary.extension/properties.json diff --git a/repository/STON-GemStone-Core.package/CharacterCollection.extension/instance/stonContainSubObjects.st b/repository/STON-GemStone-Core.package/CharacterCollection.extension/instance/stonContainSubObjects.st new file mode 100644 index 0000000..701323d --- /dev/null +++ b/repository/STON-GemStone-Core.package/CharacterCollection.extension/instance/stonContainSubObjects.st @@ -0,0 +1,3 @@ +*ston-gemstone-core +stonContainSubObjects + ^ false \ No newline at end of file diff --git a/repository/STON-Core.package/CharacterCollection.extension/instance/stonOn..st b/repository/STON-GemStone-Core.package/CharacterCollection.extension/instance/stonOn..st similarity index 70% rename from repository/STON-Core.package/CharacterCollection.extension/instance/stonOn..st rename to repository/STON-GemStone-Core.package/CharacterCollection.extension/instance/stonOn..st index b731441..54bf85f 100644 --- a/repository/STON-Core.package/CharacterCollection.extension/instance/stonOn..st +++ b/repository/STON-GemStone-Core.package/CharacterCollection.extension/instance/stonOn..st @@ -1,3 +1,3 @@ -*ston-core +*ston-gemstone-core stonOn: stonWriter stonWriter writeString: self \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/CharacterCollection.extension/methodProperties.json b/repository/STON-GemStone-Core.package/CharacterCollection.extension/methodProperties.json new file mode 100644 index 0000000..4a61a58 --- /dev/null +++ b/repository/STON-GemStone-Core.package/CharacterCollection.extension/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "stonContainSubObjects" : "dkh 06/26/2015 14:45", + "stonOn:" : "DataCurator 01/09/2013 07:52" } } diff --git a/repository/STON-Core.package/CharacterCollection.extension/properties.json b/repository/STON-GemStone-Core.package/CharacterCollection.extension/properties.json similarity index 100% rename from repository/STON-Core.package/CharacterCollection.extension/properties.json rename to repository/STON-GemStone-Core.package/CharacterCollection.extension/properties.json diff --git a/repository/STON-Core.package/CollisionBucket.extension/instance/stonContainSubObjects.st b/repository/STON-GemStone-Core.package/CollisionBucket.extension/instance/stonContainSubObjects.st similarity index 60% rename from repository/STON-Core.package/CollisionBucket.extension/instance/stonContainSubObjects.st rename to repository/STON-GemStone-Core.package/CollisionBucket.extension/instance/stonContainSubObjects.st index 2d97d56..c24b7ee 100644 --- a/repository/STON-Core.package/CollisionBucket.extension/instance/stonContainSubObjects.st +++ b/repository/STON-GemStone-Core.package/CollisionBucket.extension/instance/stonContainSubObjects.st @@ -1,3 +1,3 @@ -*ston-core +*ston-gemstone-core stonContainSubObjects ^false \ No newline at end of file diff --git a/repository/STON-Core.package/CollisionBucket.extension/methodProperties.json b/repository/STON-GemStone-Core.package/CollisionBucket.extension/methodProperties.json similarity index 100% rename from repository/STON-Core.package/CollisionBucket.extension/methodProperties.json rename to repository/STON-GemStone-Core.package/CollisionBucket.extension/methodProperties.json diff --git a/repository/STON-Core.package/CollisionBucket.extension/properties.json b/repository/STON-GemStone-Core.package/CollisionBucket.extension/properties.json similarity index 100% rename from repository/STON-Core.package/CollisionBucket.extension/properties.json rename to repository/STON-GemStone-Core.package/CollisionBucket.extension/properties.json diff --git a/repository/STON-Core.package/Date.extension/class/fromSton..st b/repository/STON-GemStone-Core.package/Date.extension/class/fromSton..st similarity index 84% rename from repository/STON-Core.package/Date.extension/class/fromSton..st rename to repository/STON-GemStone-Core.package/Date.extension/class/fromSton..st index b601662..a7029dd 100644 --- a/repository/STON-Core.package/Date.extension/class/fromSton..st +++ b/repository/STON-GemStone-Core.package/Date.extension/class/fromSton..st @@ -1,4 +1,4 @@ -*ston-core +*ston-gemstone-core fromSton: stonReader ^ self fromStream: stonReader parseListSingleton readStream usingFormat: #(3 2 1 $- 1 1) \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/Date.extension/methodProperties.json b/repository/STON-GemStone-Core.package/Date.extension/methodProperties.json new file mode 100644 index 0000000..5c30b36 --- /dev/null +++ b/repository/STON-GemStone-Core.package/Date.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "fromSton:" : "SvenVanCaekenberghe 2/12/2012 15:17" }, + "instance" : { + } } diff --git a/repository/STON-GemStone-Core.package/Date.extension/properties.json b/repository/STON-GemStone-Core.package/Date.extension/properties.json new file mode 100644 index 0000000..190900c --- /dev/null +++ b/repository/STON-GemStone-Core.package/Date.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "Date" } diff --git a/repository/STON-Core.package/DateAndTime.extension/instance/stonOn..st b/repository/STON-GemStone-Core.package/DateAndTime.extension/instance/stonOn..st similarity index 89% rename from repository/STON-Core.package/DateAndTime.extension/instance/stonOn..st rename to repository/STON-GemStone-Core.package/DateAndTime.extension/instance/stonOn..st index 141029a..9bed07d 100644 --- a/repository/STON-Core.package/DateAndTime.extension/instance/stonOn..st +++ b/repository/STON-GemStone-Core.package/DateAndTime.extension/instance/stonOn..st @@ -1,4 +1,4 @@ -*ston-core +*ston-gemstone-core stonOn: stonWriter "Use an ISO representation with all details" diff --git a/repository/STON-GemStone-Core.package/DateAndTime.extension/methodProperties.json b/repository/STON-GemStone-Core.package/DateAndTime.extension/methodProperties.json new file mode 100644 index 0000000..8b7d7d4 --- /dev/null +++ b/repository/STON-GemStone-Core.package/DateAndTime.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "stonOn:" : "SvenVanCaekenberghe 2/12/2012 20:03" } } diff --git a/repository/STON-GemStone-Core.package/DateAndTime.extension/properties.json b/repository/STON-GemStone-Core.package/DateAndTime.extension/properties.json new file mode 100644 index 0000000..43b042d --- /dev/null +++ b/repository/STON-GemStone-Core.package/DateAndTime.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "DateAndTime" } diff --git a/repository/STON-Core.package/Object.extension/instance/stonProcessSubObjects..st b/repository/STON-GemStone-Core.package/Object.extension/instance/stonProcessSubObjects..st similarity index 96% rename from repository/STON-Core.package/Object.extension/instance/stonProcessSubObjects..st rename to repository/STON-GemStone-Core.package/Object.extension/instance/stonProcessSubObjects..st index 521a105..0fb0b1b 100644 --- a/repository/STON-Core.package/Object.extension/instance/stonProcessSubObjects..st +++ b/repository/STON-GemStone-Core.package/Object.extension/instance/stonProcessSubObjects..st @@ -1,4 +1,4 @@ -*ston-core +*ston-gemstone-core stonProcessSubObjects: block "Execute block to (potentially) change each of my subObjects. In general, all instance and indexable variables are processed. diff --git a/repository/STON-GemStone-Core.package/Object.extension/methodProperties.json b/repository/STON-GemStone-Core.package/Object.extension/methodProperties.json new file mode 100644 index 0000000..d387e28 --- /dev/null +++ b/repository/STON-GemStone-Core.package/Object.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "stonProcessSubObjects:" : "dkh 11/05/2013 11:41" } } diff --git a/repository/STON-GemStone-Core.package/Object.extension/properties.json b/repository/STON-GemStone-Core.package/Object.extension/properties.json new file mode 100644 index 0000000..3d3b9ec --- /dev/null +++ b/repository/STON-GemStone-Core.package/Object.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "Object" } diff --git a/repository/STON-GemStone-Core.package/STONWriter.extension/instance/encodeCharacter..st b/repository/STON-GemStone-Core.package/STONWriter.extension/instance/encodeCharacter..st new file mode 100644 index 0000000..d58224e --- /dev/null +++ b/repository/STON-GemStone-Core.package/STONWriter.extension/instance/encodeCharacter..st @@ -0,0 +1,12 @@ +*ston-gemstone-core +encodeCharacter: char + | code encoding | + ((code := char codePoint) < 127 + and: [ (encoding := STONCharacters at: code + 1) notNil ]) + ifTrue: [ + encoding = #'pass' + ifTrue: [ writeStream nextPut: char ] + ifFalse: [ writeStream nextPutAll: encoding ] ] + ifFalse: [ + writeStream nextPutAll: '\u'. + writeStream nextPutAll: (code printPaddedWith: $0 to: 4 base: 16) ] \ No newline at end of file diff --git a/repository/STON-Core.package/STONWriter.class/instance/writeFloat..st b/repository/STON-GemStone-Core.package/STONWriter.extension/instance/writeFloat..st similarity index 75% rename from repository/STON-Core.package/STONWriter.class/instance/writeFloat..st rename to repository/STON-GemStone-Core.package/STONWriter.extension/instance/writeFloat..st index 5b085ed..a98972b 100644 --- a/repository/STON-Core.package/STONWriter.class/instance/writeFloat..st +++ b/repository/STON-GemStone-Core.package/STONWriter.extension/instance/writeFloat..st @@ -1,3 +1,3 @@ -writing +*ston-gemstone-core writeFloat: float writeStream nextPutAll: float greaseString \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json b/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json new file mode 100644 index 0000000..98e94e1 --- /dev/null +++ b/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "encodeCharacter:" : "dkh 06/24/2015 15:41", + "writeFloat:" : "SvenVanCaekenberghe 1/14/2012 16:05" } } diff --git a/repository/STON-GemStone-Core.package/STONWriter.extension/properties.json b/repository/STON-GemStone-Core.package/STONWriter.extension/properties.json new file mode 100644 index 0000000..7f903d9 --- /dev/null +++ b/repository/STON-GemStone-Core.package/STONWriter.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "STONWriter" } diff --git a/repository/STON-Core.package/TimeStamp.extension/class/fromSton..st b/repository/STON-GemStone-Core.package/TimeStamp.extension/class/fromSton..st similarity index 86% rename from repository/STON-Core.package/TimeStamp.extension/class/fromSton..st rename to repository/STON-GemStone-Core.package/TimeStamp.extension/class/fromSton..st index b1c0f7a..0868c9f 100644 --- a/repository/STON-Core.package/TimeStamp.extension/class/fromSton..st +++ b/repository/STON-GemStone-Core.package/TimeStamp.extension/class/fromSton..st @@ -1,4 +1,4 @@ -*ston-core +*ston-gemstone-core fromSton: stonReader "We use a representation from DateAndTime" diff --git a/repository/STON-Core.package/TimeStamp.extension/instance/stonOn..st b/repository/STON-GemStone-Core.package/TimeStamp.extension/instance/stonOn..st similarity index 89% rename from repository/STON-Core.package/TimeStamp.extension/instance/stonOn..st rename to repository/STON-GemStone-Core.package/TimeStamp.extension/instance/stonOn..st index b31265a..bf26703 100644 --- a/repository/STON-Core.package/TimeStamp.extension/instance/stonOn..st +++ b/repository/STON-GemStone-Core.package/TimeStamp.extension/instance/stonOn..st @@ -1,4 +1,4 @@ -*ston-core +*ston-gemstone-core stonOn: stonWriter "Use an ISO representation with all details" diff --git a/repository/STON-Core.package/TimeStamp.extension/methodProperties.json b/repository/STON-GemStone-Core.package/TimeStamp.extension/methodProperties.json similarity index 100% rename from repository/STON-Core.package/TimeStamp.extension/methodProperties.json rename to repository/STON-GemStone-Core.package/TimeStamp.extension/methodProperties.json diff --git a/repository/STON-Core.package/TimeStamp.extension/properties.json b/repository/STON-GemStone-Core.package/TimeStamp.extension/properties.json similarity index 100% rename from repository/STON-Core.package/TimeStamp.extension/properties.json rename to repository/STON-GemStone-Core.package/TimeStamp.extension/properties.json diff --git a/repository/STON-Core.package/UnorderedCollection.extension/instance/stonProcessSubObjects..st b/repository/STON-GemStone-Core.package/UnorderedCollection.extension/instance/stonProcessSubObjects..st similarity index 96% rename from repository/STON-Core.package/UnorderedCollection.extension/instance/stonProcessSubObjects..st rename to repository/STON-GemStone-Core.package/UnorderedCollection.extension/instance/stonProcessSubObjects..st index e958576..06b676c 100644 --- a/repository/STON-Core.package/UnorderedCollection.extension/instance/stonProcessSubObjects..st +++ b/repository/STON-GemStone-Core.package/UnorderedCollection.extension/instance/stonProcessSubObjects..st @@ -1,4 +1,4 @@ -*ston-core +*ston-gemstone-core stonProcessSubObjects: block "Execute block to (potentially) change each of my subObjects. In general, all instance and indexable variables are processed. diff --git a/repository/STON-Core.package/UnorderedCollection.extension/methodProperties.json b/repository/STON-GemStone-Core.package/UnorderedCollection.extension/methodProperties.json similarity index 100% rename from repository/STON-Core.package/UnorderedCollection.extension/methodProperties.json rename to repository/STON-GemStone-Core.package/UnorderedCollection.extension/methodProperties.json diff --git a/repository/STON-Core.package/UnorderedCollection.extension/properties.json b/repository/STON-GemStone-Core.package/UnorderedCollection.extension/properties.json similarity index 100% rename from repository/STON-Core.package/UnorderedCollection.extension/properties.json rename to repository/STON-GemStone-Core.package/UnorderedCollection.extension/properties.json diff --git a/repository/STON-GemStone-Core.package/monticello.meta/initializers.st b/repository/STON-GemStone-Core.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-GemStone-Core.package/monticello.meta/package b/repository/STON-GemStone-Core.package/monticello.meta/package new file mode 100644 index 0000000..0b9d8a7 --- /dev/null +++ b/repository/STON-GemStone-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'STON-GemStone-Core') \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/monticello.meta/version b/repository/STON-GemStone-Core.package/monticello.meta/version new file mode 100644 index 0000000..08fe66e --- /dev/null +++ b/repository/STON-GemStone-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'STON-GemStone-Core-dkh.3' message 'Issue #6: pretty much flesh out the test suite to cover expanded Unicode strings (Unicode16 and Unicode32 examples) and a bit of cross materialization (051 serializer -> 091 marterializer)' id '5e497165-8f3f-4745-bb4a-323d9083f7c3' date '06/26/2015' time '17:58:28' author 'dkh' ancestors ((name 'STON-GemStone-Core-dkh.2' message 'Issue #6: push a few more methods around' id '282427f8-74b7-4216-8aee-36b27388ea38' date '06/26/2015' time '15:03:12' author 'dkh' ancestors ((name 'STON-GemStone-Core-dkh.1' message 'Issue #6: split out platform-specific methods for pharo and gemstone' id '2451bb7b-e244-46bc-af75-d48660ff8803' date '06/26/2015' time '14:57:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/properties.json b/repository/STON-GemStone-Core.package/properties.json new file mode 100644 index 0000000..f037444 --- /dev/null +++ b/repository/STON-GemStone-Core.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/STON-GemStone-Tests.package/.filetree b/repository/STON-GemStone-Tests.package/.filetree new file mode 100644 index 0000000..8998102 --- /dev/null +++ b/repository/STON-GemStone-Tests.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/instance/testGemStoneCollections.st b/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/instance/testGemStoneCollections.st new file mode 100644 index 0000000..c1db689 --- /dev/null +++ b/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/instance/testGemStoneCollections.st @@ -0,0 +1,10 @@ +*ston-gemstone-tests +testGemStoneCollections + | collections | + collections := STON listClass + withAll: + {(KeyValueDictionary new + at: 1 put: 1; + at: 2 put: 2; + yourself)}. + self serializeAndMaterialize: collections \ No newline at end of file diff --git a/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/methodProperties.json b/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/methodProperties.json new file mode 100644 index 0000000..fa19468 --- /dev/null +++ b/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "testGemStoneCollections" : "dkh 06/26/2015 15:07" } } diff --git a/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/properties.json b/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/properties.json new file mode 100644 index 0000000..0d1d78c --- /dev/null +++ b/repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "STONWriteReadTests" } diff --git a/repository/STON-GemStone-Tests.package/monticello.meta/initializers.st b/repository/STON-GemStone-Tests.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-GemStone-Tests.package/monticello.meta/package b/repository/STON-GemStone-Tests.package/monticello.meta/package new file mode 100644 index 0000000..4960d85 --- /dev/null +++ b/repository/STON-GemStone-Tests.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'STON-GemStone-Tests') \ No newline at end of file diff --git a/repository/STON-GemStone-Tests.package/monticello.meta/version b/repository/STON-GemStone-Tests.package/monticello.meta/version new file mode 100644 index 0000000..d433014 --- /dev/null +++ b/repository/STON-GemStone-Tests.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'STON-GemStone-Tests-dkh.1' message 'Issue #6: split out platform-specific tests' id 'cfbd1e32-7f08-4228-af59-875495a76c17' date '06/26/2015' time '15:37:35' author 'dkh' ancestors () stepChildren ()) \ No newline at end of file diff --git a/repository/STON-GemStone-Tests.package/properties.json b/repository/STON-GemStone-Tests.package/properties.json new file mode 100644 index 0000000..f037444 --- /dev/null +++ b/repository/STON-GemStone-Tests.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/STON-Pharo-Core.package/.filetree b/repository/STON-Pharo-Core.package/.filetree new file mode 100644 index 0000000..8998102 --- /dev/null +++ b/repository/STON-Pharo-Core.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/STON-Pharo-Core.package/Date.extension/class/fromSton..st b/repository/STON-Pharo-Core.package/Date.extension/class/fromSton..st new file mode 100644 index 0000000..8bb4efa --- /dev/null +++ b/repository/STON-Pharo-Core.package/Date.extension/class/fromSton..st @@ -0,0 +1,3 @@ +*ston-pharo-core +fromSton: stonReader + ^ self readFrom: stonReader parseListSingleton readStream \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/Date.extension/methodProperties.json b/repository/STON-Pharo-Core.package/Date.extension/methodProperties.json new file mode 100644 index 0000000..30f870e --- /dev/null +++ b/repository/STON-Pharo-Core.package/Date.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "fromSton:" : "SvenVanCaekenberghe 5/15/2012 09:35:20" }, + "instance" : { + } } diff --git a/repository/STON-Pharo-Core.package/Date.extension/properties.json b/repository/STON-Pharo-Core.package/Date.extension/properties.json new file mode 100644 index 0000000..190900c --- /dev/null +++ b/repository/STON-Pharo-Core.package/Date.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "Date" } diff --git a/repository/STON-Pharo-Core.package/DateAndTime.extension/instance/stonOn..st b/repository/STON-Pharo-Core.package/DateAndTime.extension/instance/stonOn..st new file mode 100644 index 0000000..fd22c5a --- /dev/null +++ b/repository/STON-Pharo-Core.package/DateAndTime.extension/instance/stonOn..st @@ -0,0 +1,7 @@ +*STON-Pharo-Core +stonOn: stonWriter + "Use an ISO representation with all details" + + stonWriter writeObject: self listSingleton: + (String streamContents: [ :stream | + self printOn: stream withLeadingSpace: false ]) \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/DateAndTime.extension/methodProperties.json b/repository/STON-Pharo-Core.package/DateAndTime.extension/methodProperties.json new file mode 100644 index 0000000..6ebcbfb --- /dev/null +++ b/repository/STON-Pharo-Core.package/DateAndTime.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "stonOn:" : "SvenVanCaekenberghe 5/15/2012 09:35:20" } } diff --git a/repository/STON-Pharo-Core.package/DateAndTime.extension/properties.json b/repository/STON-Pharo-Core.package/DateAndTime.extension/properties.json new file mode 100644 index 0000000..43b042d --- /dev/null +++ b/repository/STON-Pharo-Core.package/DateAndTime.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "DateAndTime" } diff --git a/repository/STON-Core.package/AbstractDictionary.extension/class/fromSton..st b/repository/STON-Pharo-Core.package/Dictionary.extension/class/fromSton..st similarity index 94% rename from repository/STON-Core.package/AbstractDictionary.extension/class/fromSton..st rename to repository/STON-Pharo-Core.package/Dictionary.extension/class/fromSton..st index 663e12c..e4ccb86 100644 --- a/repository/STON-Core.package/AbstractDictionary.extension/class/fromSton..st +++ b/repository/STON-Pharo-Core.package/Dictionary.extension/class/fromSton..st @@ -1,4 +1,4 @@ -*ston-core +*ston-pharo-core fromSton: stonReader "Instances of STON mapClass will be read directly and won't arrive here. Other (sub)classes will use this method." diff --git a/repository/STON-Core.package/AbstractDictionary.extension/instance/stonOn..st b/repository/STON-Pharo-Core.package/Dictionary.extension/instance/stonOn..st similarity index 95% rename from repository/STON-Core.package/AbstractDictionary.extension/instance/stonOn..st rename to repository/STON-Pharo-Core.package/Dictionary.extension/instance/stonOn..st index b7cf1d5..81dae31 100644 --- a/repository/STON-Core.package/AbstractDictionary.extension/instance/stonOn..st +++ b/repository/STON-Pharo-Core.package/Dictionary.extension/instance/stonOn..st @@ -1,4 +1,4 @@ -*ston-core +*ston-pharo-core stonOn: stonWriter "Instances of STON mapClass will be encoded directly, without a class tag. Other (sub)classes will be encoded with a class tag and will use a map representation. " diff --git a/repository/STON-Pharo-Core.package/Dictionary.extension/methodProperties.json b/repository/STON-Pharo-Core.package/Dictionary.extension/methodProperties.json new file mode 100644 index 0000000..14e8fbe --- /dev/null +++ b/repository/STON-Pharo-Core.package/Dictionary.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "fromSton:" : "SvenVanCaekenberghe 5/15/2012 09:35:20" }, + "instance" : { + "stonOn:" : "SvenVanCaekenberghe 5/15/2012 09:35:20" } } diff --git a/repository/STON-Pharo-Core.package/Dictionary.extension/properties.json b/repository/STON-Pharo-Core.package/Dictionary.extension/properties.json new file mode 100644 index 0000000..cb1bf50 --- /dev/null +++ b/repository/STON-Pharo-Core.package/Dictionary.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "Dictionary" } diff --git a/repository/STON-Pharo-Core.package/Object.extension/instance/stonProcessSubObjects..st b/repository/STON-Pharo-Core.package/Object.extension/instance/stonProcessSubObjects..st new file mode 100644 index 0000000..4b4e01c --- /dev/null +++ b/repository/STON-Pharo-Core.package/Object.extension/instance/stonProcessSubObjects..st @@ -0,0 +1,12 @@ +*STON-Pharo-Core +stonProcessSubObjects: block + "Execute block to (potentially) change each of my subObjects. + In general, all instance and indexable variables are processed. + Overwrite when necessary. Not used when #stonContainSubObjects returns false." + + 1 to: self class instSize do: [ :each | + self instVarAt: each put: (block value: (self instVarAt: each)) ]. + (self class isVariable and: [ self class isBytes not ]) + ifTrue: [ + 1 to: self basicSize do: [ :each | + self basicAt: each put: (block value: (self basicAt: each)) ] ] \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/Object.extension/methodProperties.json b/repository/STON-Pharo-Core.package/Object.extension/methodProperties.json new file mode 100644 index 0000000..4904b85 --- /dev/null +++ b/repository/STON-Pharo-Core.package/Object.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "stonProcessSubObjects:" : "SvenVanCaekenberghe 11/29/2012 16:22" } } diff --git a/repository/STON-Pharo-Core.package/Object.extension/properties.json b/repository/STON-Pharo-Core.package/Object.extension/properties.json new file mode 100644 index 0000000..3d3b9ec --- /dev/null +++ b/repository/STON-Pharo-Core.package/Object.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "Object" } diff --git a/repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st b/repository/STON-Pharo-Core.package/STONWriter.extension/instance/encodeCharacter..st similarity index 79% rename from repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st rename to repository/STON-Pharo-Core.package/STONWriter.extension/instance/encodeCharacter..st index d8dcc8d..2760966 100644 --- a/repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st +++ b/repository/STON-Pharo-Core.package/STONWriter.extension/instance/encodeCharacter..st @@ -1,4 +1,4 @@ -private +*STON-Pharo-Core encodeCharacter: char | code encoding | ((code := char codePoint) < 127 and: [ (encoding := STONCharacters at: code + 1) notNil ]) @@ -8,4 +8,4 @@ encodeCharacter: char ifFalse: [ writeStream nextPutAll: encoding ] ] ifFalse: [ writeStream nextPutAll: '\u'. - writeStream nextPutAll: (code printPaddedWith: $0 to: 4 base: 16) ] \ No newline at end of file + code printOn: writeStream base: 16 nDigits: 4 ] diff --git a/repository/STON-Pharo-Core.package/STONWriter.extension/instance/writeFloat..st b/repository/STON-Pharo-Core.package/STONWriter.extension/instance/writeFloat..st new file mode 100644 index 0000000..961dac1 --- /dev/null +++ b/repository/STON-Pharo-Core.package/STONWriter.extension/instance/writeFloat..st @@ -0,0 +1,3 @@ +*STON-Pharo-Core +writeFloat: float + writeStream print: float \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json b/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json new file mode 100644 index 0000000..02812e8 --- /dev/null +++ b/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "encodeCharacter:" : "SvenVanCaekenberghe 5/15/2012 09:35:20", + "writeFloat:" : "SvenVanCaekenberghe 5/15/2012 09:35:20" } } diff --git a/repository/STON-Pharo-Core.package/STONWriter.extension/properties.json b/repository/STON-Pharo-Core.package/STONWriter.extension/properties.json new file mode 100644 index 0000000..7f903d9 --- /dev/null +++ b/repository/STON-Pharo-Core.package/STONWriter.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "STONWriter" } diff --git a/repository/STON-Pharo-Core.package/SmallDictionary.extension/class/fromSton..st b/repository/STON-Pharo-Core.package/SmallDictionary.extension/class/fromSton..st new file mode 100644 index 0000000..6c5ba2c --- /dev/null +++ b/repository/STON-Pharo-Core.package/SmallDictionary.extension/class/fromSton..st @@ -0,0 +1,9 @@ +*ston-pharo-core +fromSton: stonReader + "My instances are stored as maps." + + | dictionary | + dictionary := self new. + stonReader parseMapDo: [ :key :value | + dictionary at: key put: value ]. + ^ dictionary \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/SmallDictionary.extension/instance/stonOn..st b/repository/STON-Pharo-Core.package/SmallDictionary.extension/instance/stonOn..st new file mode 100644 index 0000000..5411448 --- /dev/null +++ b/repository/STON-Pharo-Core.package/SmallDictionary.extension/instance/stonOn..st @@ -0,0 +1,7 @@ +*ston-pharo-core +stonOn: stonWriter + "I store my instances as maps" + + stonWriter + writeObject: self + do: [ stonWriter encodeMap: self ] \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/SmallDictionary.extension/methodProperties.json b/repository/STON-Pharo-Core.package/SmallDictionary.extension/methodProperties.json new file mode 100644 index 0000000..44497c4 --- /dev/null +++ b/repository/STON-Pharo-Core.package/SmallDictionary.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "fromSton:" : "SvenVanCaekenberghe 9/17/2013 19:50" }, + "instance" : { + "stonOn:" : "SvenVanCaekenberghe 9/17/2013 20:13" } } diff --git a/repository/STON-Pharo-Core.package/SmallDictionary.extension/properties.json b/repository/STON-Pharo-Core.package/SmallDictionary.extension/properties.json new file mode 100644 index 0000000..82b9f93 --- /dev/null +++ b/repository/STON-Pharo-Core.package/SmallDictionary.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "SmallDictionary" } diff --git a/repository/STON-Pharo-Core.package/String.extension/instance/decodeFromUTF8.st b/repository/STON-Pharo-Core.package/String.extension/instance/decodeFromUTF8.st new file mode 100644 index 0000000..ae0aee7 --- /dev/null +++ b/repository/STON-Pharo-Core.package/String.extension/instance/decodeFromUTF8.st @@ -0,0 +1,3 @@ +*STON-Pharo-Core +decodeFromUTF8 + ^ self convertFromEncoding: #'utf-8' \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/String.extension/instance/encodeAsUTF8intoString.st b/repository/STON-Pharo-Core.package/String.extension/instance/encodeAsUTF8intoString.st new file mode 100644 index 0000000..ba77cb5 --- /dev/null +++ b/repository/STON-Pharo-Core.package/String.extension/instance/encodeAsUTF8intoString.st @@ -0,0 +1,3 @@ +*STON-Pharo-Core +encodeAsUTF8intoString + ^ self convertToEncoding: #'utf-8' \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/String.extension/methodProperties.json b/repository/STON-Pharo-Core.package/String.extension/methodProperties.json new file mode 100644 index 0000000..b685620 --- /dev/null +++ b/repository/STON-Pharo-Core.package/String.extension/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "decodeFromUTF8" : "dkh 6/24/2015 15:29", + "encodeAsUTF8intoString" : "dkh 6/24/2015 15:30" } } diff --git a/repository/STON-Pharo-Core.package/String.extension/properties.json b/repository/STON-Pharo-Core.package/String.extension/properties.json new file mode 100644 index 0000000..c213850 --- /dev/null +++ b/repository/STON-Pharo-Core.package/String.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "String" } diff --git a/repository/STON-Pharo-Core.package/TimeStamp.extension/class/fromSton..st b/repository/STON-Pharo-Core.package/TimeStamp.extension/class/fromSton..st new file mode 100644 index 0000000..e702c2f --- /dev/null +++ b/repository/STON-Pharo-Core.package/TimeStamp.extension/class/fromSton..st @@ -0,0 +1,5 @@ +*ston-pharo-core +fromSton: stonReader + "We use a representation from DateAndTime" + + ^ (super fromSton: stonReader) asTimeStamp \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/TimeStamp.extension/methodProperties.json b/repository/STON-Pharo-Core.package/TimeStamp.extension/methodProperties.json new file mode 100644 index 0000000..30f870e --- /dev/null +++ b/repository/STON-Pharo-Core.package/TimeStamp.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "fromSton:" : "SvenVanCaekenberghe 5/15/2012 09:35:20" }, + "instance" : { + } } diff --git a/repository/STON-Pharo-Core.package/TimeStamp.extension/properties.json b/repository/STON-Pharo-Core.package/TimeStamp.extension/properties.json new file mode 100644 index 0000000..f04cbf2 --- /dev/null +++ b/repository/STON-Pharo-Core.package/TimeStamp.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TimeStamp" } diff --git a/repository/STON-Pharo-Core.package/monticello.meta/categories.st b/repository/STON-Pharo-Core.package/monticello.meta/categories.st new file mode 100644 index 0000000..2a19626 --- /dev/null +++ b/repository/STON-Pharo-Core.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'STON-Pharo-Core'! diff --git a/repository/STON-Pharo-Core.package/monticello.meta/initializers.st b/repository/STON-Pharo-Core.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-Pharo-Core.package/monticello.meta/package b/repository/STON-Pharo-Core.package/monticello.meta/package new file mode 100644 index 0000000..0e94f7c --- /dev/null +++ b/repository/STON-Pharo-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'STON-Pharo-Core') \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/monticello.meta/version b/repository/STON-Pharo-Core.package/monticello.meta/version new file mode 100644 index 0000000..6dd4cd8 --- /dev/null +++ b/repository/STON-Pharo-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'STON-Pharo-Core-dkh.3' message 'Issue #6: push a few more methods around' id '7306fbcb-3b49-4a01-aace-7c29d4e5815a' date '26 June 2015' time '3:03:01.267522 pm' author 'dkh' ancestors ((name 'STON-Pharo-Core-dkh.2' message 'Issue #6: split out platform-specific methods for pharo and gemstone' id '4f6bac51-1a57-42a2-99f1-3b9747e52393' date '26 June 2015' time '2:57:13.582334 pm' author 'dkh' ancestors ((name 'STON-Pharo-Core-dkh.1' message 'create the package' id '76d8fddf-7966-49b2-bc0d-53b46ceba77b' date '26 June 2015' time '2:11:27 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/properties.json b/repository/STON-Pharo-Core.package/properties.json new file mode 100644 index 0000000..f037444 --- /dev/null +++ b/repository/STON-Pharo-Core.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/STON-Pharo-Tests.package/.filetree b/repository/STON-Pharo-Tests.package/.filetree new file mode 100644 index 0000000..8998102 --- /dev/null +++ b/repository/STON-Pharo-Tests.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testPharoCollections.st b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testPharoCollections.st new file mode 100644 index 0000000..cbb6419 --- /dev/null +++ b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testPharoCollections.st @@ -0,0 +1,9 @@ +*ston-pharo-tests +testPharoCollections + | collections | + collections := STON listClass + withAll: + {#[1 2 3]. + (#(1 2 3) asIntegerArray). + (#(1 2 3) asFloatArray)}. + self serializeAndMaterialize: collections \ No newline at end of file diff --git a/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testSmallDictionary.st b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testSmallDictionary.st new file mode 100644 index 0000000..a18e7d2 --- /dev/null +++ b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testSmallDictionary.st @@ -0,0 +1,18 @@ +*ston-pharo-tests +testSmallDictionary + "SmallDictionary is special because it does not inherit from Dictionary. + It might also not exist in some dialects, where this test could be skipped." + + | dictionaries | + dictionaries := STON listClass + withAll: + {(SmallDictionary new + at: 1 put: 1; + at: 2 put: 2; + yourself). + (SmallIdentityDictionary new + at: 1 put: 1; + at: 2 put: 2; + yourself). + (SmallDictionary new)}. + self serializeAndMaterialize: dictionaries \ No newline at end of file diff --git a/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/methodProperties.json b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/methodProperties.json new file mode 100644 index 0000000..316afbf --- /dev/null +++ b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "testPharoCollections" : "dkh 6/26/2015 15:10", + "testSmallDictionary" : "dkh 6/26/2015 15:12" } } diff --git a/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/properties.json b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/properties.json new file mode 100644 index 0000000..0d1d78c --- /dev/null +++ b/repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "STONWriteReadTests" } diff --git a/repository/STON-Pharo-Tests.package/monticello.meta/categories.st b/repository/STON-Pharo-Tests.package/monticello.meta/categories.st new file mode 100644 index 0000000..e76c7b8 --- /dev/null +++ b/repository/STON-Pharo-Tests.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'STON-Pharo-Tests'! diff --git a/repository/STON-Pharo-Tests.package/monticello.meta/initializers.st b/repository/STON-Pharo-Tests.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-Pharo-Tests.package/monticello.meta/package b/repository/STON-Pharo-Tests.package/monticello.meta/package new file mode 100644 index 0000000..6f7e5cf --- /dev/null +++ b/repository/STON-Pharo-Tests.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'STON-Pharo-Tests') \ No newline at end of file diff --git a/repository/STON-Pharo-Tests.package/monticello.meta/version b/repository/STON-Pharo-Tests.package/monticello.meta/version new file mode 100644 index 0000000..093fbf3 --- /dev/null +++ b/repository/STON-Pharo-Tests.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'STON-Pharo-Tests-dkh.1' message 'Issue #6: split out platform-specific tests' id '5dee03de-e820-4a2e-8856-3b5c2f6cf9d7' date '26 June 2015' time '3:37:08.801457 pm' author 'dkh' ancestors () stepChildren ()) \ No newline at end of file diff --git a/repository/STON-Pharo-Tests.package/properties.json b/repository/STON-Pharo-Tests.package/properties.json new file mode 100644 index 0000000..f037444 --- /dev/null +++ b/repository/STON-Pharo-Tests.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/STON-Tests.package/STONReaderTests.class/class/shouldInheritSelectors.st b/repository/STON-Tests.package/STONReaderTests.class/class/shouldInheritSelectors.st new file mode 100644 index 0000000..dee9780 --- /dev/null +++ b/repository/STON-Tests.package/STONReaderTests.class/class/shouldInheritSelectors.st @@ -0,0 +1,5 @@ +Testing +shouldInheritSelectors + "Me and my subclasses inherit selectors" + + ^ true \ No newline at end of file diff --git a/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st index cf6fa33..68c87d5 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st @@ -5,7 +5,9 @@ testJsonString | string | self assert: (self materialize: '"foo"') = 'foo'. self assert: (self materialize: '"FOO"') = 'FOO'. - self assert: (self materialize: '"\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais"') = 'élève en Français'. + self + assert: + (self materialize: '"\u00E9l\u00E8ve en Fran\u00E7ais"') = 'élève en Français'. string := String withAll: {$". diff --git a/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st index 8f43dd6..f9a4e31 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st @@ -1,9 +1,24 @@ tests testString - | string | + | string x | self assert: (self materialize: '''foo''') = 'foo'. self assert: (self materialize: '''FOO''') = 'FOO'. - self assert: (self materialize: '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais''') = 'élève en Français'. + self + assert: + (x := self materialize: '''\u00E9l\u00E8ve en Fran\u00E7ais''') + = 'élève en Français'. + self + assert: + (x := self + materialize: + '''\u042F \u043C\u043E\u0436\u0443 \u0457\u0441\u0442\u0438 \u0441\u043A\u043B\u043E, \u0456 \u0432\u043E\u043D\u043E \u043C\u0435\u043D\u0456 \u043D\u0435 \u0437\u0430\u0448\u043A\u043E\u0434\u0438\u0442\u044C.''') + = self unicode16TestString. + false + ifTrue: [ + "ambiguous encoding for 32-bit Unicode characters: https://github.com/svenvc/ston/issues/11" + self + assert: + (x := self materialize: '''\u2338F''') = self unicode32TestString ]. string := String withAll: {$". diff --git a/repository/STON-Tests.package/STONReaderTests.class/instance/testWhitespace.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testWhitespace.st index d728e0a..c641065 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testWhitespace.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testWhitespace.st @@ -1,6 +1,10 @@ tests testWhitespace - | whitespace | - whitespace := { Character space. Character tab. Character cr. Character lf }. - self assert: (self materialize: whitespace, '123') = 123 - \ No newline at end of file + | whitespace | + whitespace := String + withAll: + {(Character space). + (Character tab). + (Character cr). + (Character lf)}. + self assert: (self materialize: whitespace , '123') = 123 \ No newline at end of file diff --git a/repository/STON-Tests.package/STONReaderTests.class/instance/unicode16TestString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/unicode16TestString.st new file mode 100644 index 0000000..9b43cbc --- /dev/null +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/unicode16TestString.st @@ -0,0 +1,6 @@ +private +unicode16TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ 'Я можу їсти скло, і воно мені не зашкодить.' + decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-Tests.package/STONReaderTests.class/instance/unicode32TestString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/unicode32TestString.st new file mode 100644 index 0000000..a2e9253 --- /dev/null +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/unicode32TestString.st @@ -0,0 +1,5 @@ +private +unicode32TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ '𣎏' decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json index e941092..25c7a02 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json @@ -1,6 +1,6 @@ { "class" : { - }, + "shouldInheritSelectors" : "dkh 06/26/2015 11:36" }, "instance" : { "materialize:" : "SvenVanCaekenberghe 5/5/2012 20:02", "testBoolean" : "SvenVanCaekenberghe 1/15/2012 10:46", @@ -14,7 +14,7 @@ "testFloat" : "SvenVanCaekenberghe 1/15/2012 11:05", "testIdentityDictionary" : "dkh 4/29/2012 08:48:15", "testInteger" : "SvenVanCaekenberghe 1/15/2012 09:21", - "testJsonString" : "dkh 4/29/2012 08:48:15", + "testJsonString" : "dkh 06/29/2015 11:50", "testList" : "SvenVanCaekenberghe 5/5/2012 20:11", "testMap" : "SvenVanCaekenberghe 5/5/2012 20:11", "testMultiple" : "SvenVanCaekenberghe 5/7/2012 13:53", @@ -27,10 +27,12 @@ "testReferenceCycle" : "SvenVanCaekenberghe 5/5/2012 20:12", "testReferenceSharing" : "SvenVanCaekenberghe 5/5/2012 20:13", "testStreaming" : "SvenVanCaekenberghe 5/7/2012 13:53", - "testString" : "dkh 4/29/2012 08:48:15", + "testString" : "dkh 06/29/2015 12:54", "testSymbol" : "SvenVanCaekenberghe 1/15/2012 21:38", "testTime" : "dkh 4/29/2012 08:48:15", "testTimeStamp" : "SvenVanCaekenberghe 1/23/2012 09:51", "testUser" : "SvenVanCaekenberghe 1/23/2012 16:13", "testUser2" : "SvenVanCaekenberghe 2/7/2012 20:48", - "testWhitespace" : "SvenVanCaekenberghe 5/7/2012 13:39" } } + "testWhitespace" : "dkh 06/26/2015 12:42", + "unicode16TestString" : "dkh 06/29/2015 10:03", + "unicode32TestString" : "dkh 06/29/2015 10:03" } } diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/class/shouldInheritSelectors.st b/repository/STON-Tests.package/STONWriteReadTests.class/class/shouldInheritSelectors.st new file mode 100644 index 0000000..dee9780 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/class/shouldInheritSelectors.st @@ -0,0 +1,5 @@ +Testing +shouldInheritSelectors + "Me and my subclasses inherit selectors" + + ^ true \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/encodeOnSerialize.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/encodeOnSerialize.st new file mode 100644 index 0000000..b4a1573 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/encodeOnSerialize.st @@ -0,0 +1,3 @@ +private +encodeOnSerialize + ^ false \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/include32BitUnicodeStrings.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/include32BitUnicodeStrings.st new file mode 100644 index 0000000..7785800 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/include32BitUnicodeStrings.st @@ -0,0 +1,3 @@ +private +include32BitUnicodeStrings + ^ false \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/jsonWriter.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/jsonWriter.st new file mode 100644 index 0000000..dd3c052 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/jsonWriter.st @@ -0,0 +1,5 @@ +private +jsonWriter + ^ self writer + jsonMode: true; + yourself \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/materialize..st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/materialize..st index 2c69dd5..346b0bf 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/instance/materialize..st +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/materialize..st @@ -1,5 +1,9 @@ private materialize: string - ^ STON reader - on: string readStream; - next \ No newline at end of file + | str | + str := string. + self encodeOnSerialize + ifTrue: [ str := string decodeFromUTF8 ]. + ^ self reader + on: str readStream; + next \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/prettyWriter.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/prettyWriter.st new file mode 100644 index 0000000..c93a743 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/prettyWriter.st @@ -0,0 +1,5 @@ +private +prettyWriter + ^ self writer + prettyPrint: true; + yourself \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/reader.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/reader.st new file mode 100644 index 0000000..273f1f8 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STONReader new \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/serialize..st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/serialize..st index 0f86f76..997d5a3 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/instance/serialize..st +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/serialize..st @@ -1,6 +1,11 @@ private serialize: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - nextPut: anObject ] \ No newline at end of file + | str | + str := String + streamContents: [ :stream | + self writer + on: stream; + nextPut: anObject ]. + self encodeOnSerialize + ifFalse: [ ^ str ]. + ^ str encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/serializeJson..st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/serializeJson..st index 023b931..a423924 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/instance/serializeJson..st +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/serializeJson..st @@ -1,6 +1,11 @@ private serializeJson: anObject - ^ String streamContents: [ :stream | - STON jsonWriter - on: stream; - nextPut: anObject ] \ No newline at end of file + | str | + str := String + streamContents: [ :stream | + self jsonWriter + on: stream; + nextPut: anObject ]. + self encodeOnSerialize + ifFalse: [ ^ str ]. + ^ str encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/testCollections.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/testCollections.st index 3334a8b..98a44a2 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/instance/testCollections.st +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/testCollections.st @@ -1,14 +1,20 @@ tests testCollections - | collections | - collections := STON listClass withAll: { - #(1 2 3). - OrderedCollection withAll: #(1 2 3). - Set withAll: #(1 2 3). - IdentitySet withAll: #(1 2 3). - Bag withAll: #(1 2 2 3). - Dictionary new at: 1 put: 1; at: 2 put: 2; yourself. - KeyValueDictionary new at: 1 put: 1; at: 2 put: 2; yourself. - IdentityDictionary new at: 1 put: 1; at: 2 put: 2; yourself. - #(1 2 3) asByteArray }. - self serializeAndMaterialize: collections \ No newline at end of file + | collections | + collections := STON listClass + withAll: + {#(1 2 3). + (OrderedCollection withAll: #(1 2 3)). + (Set withAll: #(1 2 3)). + (IdentitySet withAll: #(1 2 3)). + (Bag withAll: #(1 2 2 3)). + (Dictionary new + at: 1 put: 1; + at: 2 put: 2; + yourself). + (IdentityDictionary new + at: 1 put: 1; + at: 2 put: 2; + yourself). + (#(1 2 3) asByteArray)}. + self serializeAndMaterialize: collections \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st new file mode 100644 index 0000000..d6209eb --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st @@ -0,0 +1,12 @@ +tests +testUnicodeStrings + | strings | + strings := {(String + withAll: + {(Character codePoint: 0). + (Character codePoint: 255). + (Character codePoint: 256)}). + (self unicode16TestString). + (self unicode32TestString). + 'élève en Français'}. + self serializeAndMaterialize: strings \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode16TestString.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode16TestString.st new file mode 100644 index 0000000..9b43cbc --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode16TestString.st @@ -0,0 +1,6 @@ +private +unicode16TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ 'Я можу їсти скло, і воно мені не зашкодить.' + decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode32TestString.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode32TestString.st new file mode 100644 index 0000000..53afa64 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode32TestString.st @@ -0,0 +1,7 @@ +private +unicode32TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ self include32BitUnicodeStrings + ifTrue: [ '𣎏' decodeFromUTF8 ] + ifFalse: [ 'abc' ] \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/instance/writer.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/writer.st new file mode 100644 index 0000000..6008f61 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STONWriter new \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json index bb757e0..db114c9 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json @@ -1,15 +1,20 @@ { "class" : { - }, + "shouldInheritSelectors" : "dkh 06/26/2015 17:17" }, "instance" : { - "materialize:" : "SvenVanCaekenberghe 5/5/2012 20:03", - "serialize:" : "SvenVanCaekenberghe 5/5/2012 20:04", + "encodeOnSerialize" : "dkh 06/26/2015 17:05", + "include32BitUnicodeStrings" : "dkh 06/29/2015 14:05", + "jsonWriter" : "dkh 06/26/2015 17:06", + "materialize:" : "dkh 06/26/2015 17:22", + "prettyWriter" : "dkh 06/26/2015 17:06", + "reader" : "dkh 06/26/2015 17:06", + "serialize:" : "dkh 06/26/2015 17:08", "serializeAndMaterialize:" : "SvenVanCaekenberghe 5/5/2012 19:55", "serializeAndMaterializeJsonMode:" : "SvenVanCaekenberghe 5/5/2012 19:55", - "serializeJson:" : "SvenVanCaekenberghe 5/15/2012 09:33", + "serializeJson:" : "dkh 06/26/2015 17:08", "testAssociations" : "SvenVanCaekenberghe 2/8/2012 14:23", "testCharacters" : "SvenVanCaekenberghe 2/8/2012 14:58", - "testCollections" : "PaulDeBruicker 09/30/2013 08:14", + "testCollections" : "dkh 06/26/2015 15:06", "testComplexSet" : "dkh 10/26/2013 09:10", "testDatesAndTimes" : "dkh 11/05/2013 14:53", "testDomainObject" : "SvenVanCaekenberghe 2/10/2012 20:53", @@ -21,5 +26,9 @@ "testStrings" : "SvenVanCaekenberghe 1/23/2012 12:23", "testSymbols" : "SvenVanCaekenberghe 4/15/2014 13:36", "testTextAndRunArray" : "SvenVanCaekenberghe 3/24/2014 13:23", + "testUnicodeStrings" : "dkh 06/29/2015 10:07", "testUser" : "SvenVanCaekenberghe 1/24/2012 10:17", - "testUser2" : "SvenVanCaekenberghe 2/7/2012 20:48" } } + "testUser2" : "SvenVanCaekenberghe 2/7/2012 20:48", + "unicode16TestString" : "dkh 06/29/2015 10:07", + "unicode32TestString" : "dkh 06/29/2015 14:06", + "writer" : "dkh 06/26/2015 17:06" } } diff --git a/repository/STON-Tests.package/STONWriterTests.class/class/shouldInheritSelectors.st b/repository/STON-Tests.package/STONWriterTests.class/class/shouldInheritSelectors.st new file mode 100644 index 0000000..dee9780 --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/class/shouldInheritSelectors.st @@ -0,0 +1,5 @@ +Testing +shouldInheritSelectors + "Me and my subclasses inherit selectors" + + ^ true \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/encodeOnSerialize.st b/repository/STON-Tests.package/STONWriterTests.class/instance/encodeOnSerialize.st new file mode 100644 index 0000000..b4a1573 --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/encodeOnSerialize.st @@ -0,0 +1,3 @@ +private +encodeOnSerialize + ^ false \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/jsonWriter.st b/repository/STON-Tests.package/STONWriterTests.class/instance/jsonWriter.st new file mode 100644 index 0000000..dd3c052 --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/jsonWriter.st @@ -0,0 +1,5 @@ +private +jsonWriter + ^ self writer + jsonMode: true; + yourself \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/materialize..st b/repository/STON-Tests.package/STONWriterTests.class/instance/materialize..st index 46e0374..024bcb4 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/materialize..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/materialize..st @@ -1,6 +1,10 @@ private materialize: string - ^ STON reader - on: string readStream; + | str | + str := string. + self encodeOnSerialize + ifTrue: [ str := string decodeFromUTF8 ]. + ^ self reader + on: str readStream; allowComplexMapKeys: true; next \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/prettyWriter.st b/repository/STON-Tests.package/STONWriterTests.class/instance/prettyWriter.st new file mode 100644 index 0000000..c93a743 --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/prettyWriter.st @@ -0,0 +1,5 @@ +private +prettyWriter + ^ self writer + prettyPrint: true; + yourself \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/reader.st b/repository/STON-Tests.package/STONWriterTests.class/instance/reader.st new file mode 100644 index 0000000..273f1f8 --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STONReader new \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st b/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st index 0f86f76..997d5a3 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st @@ -1,6 +1,11 @@ private serialize: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - nextPut: anObject ] \ No newline at end of file + | str | + str := String + streamContents: [ :stream | + self writer + on: stream; + nextPut: anObject ]. + self encodeOnSerialize + ifFalse: [ ^ str ]. + ^ str encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st b/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st index 184ae78..a423924 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st @@ -1,6 +1,11 @@ private serializeJson: anObject - ^ String streamContents: [ :stream | - STON jsonWriter - on: stream; - nextPut: anObject ] \ No newline at end of file + | str | + str := String + streamContents: [ :stream | + self jsonWriter + on: stream; + nextPut: anObject ]. + self encodeOnSerialize + ifFalse: [ ^ str ]. + ^ str encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/serializePretty..st b/repository/STON-Tests.package/STONWriterTests.class/instance/serializePretty..st index c619802..00d8789 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serializePretty..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serializePretty..st @@ -1,7 +1,11 @@ private serializePretty: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - prettyPrint: true; - nextPut: anObject ] \ No newline at end of file + | str | + str := String + streamContents: [ :stream | + self prettyWriter + on: stream; + nextPut: anObject ]. + self encodeOnSerialize + ifFalse: [ ^ str ]. + ^ str encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st index f4e8322..6dc581f 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st @@ -3,7 +3,9 @@ testDoubleQuotedString | string | self assert: (self serializeJson: 'foo') = '"foo"'. self assert: (self serializeJson: 'FOO') = '"FOO"'. - self assert: (self serializeJson: 'élève en Français') = '"\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais"'. + self + assert: + (self serializeJson: 'élève en Français') = '"\u00E9l\u00E8ve en Fran\u00E7ais"'. string := String withAll: {$". diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st index 60b195d..633bc53 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st @@ -3,7 +3,20 @@ testString | x string | self assert: (self serialize: 'foo') = '''foo'''. self assert: (self serialize: 'FOO') = '''FOO'''. - self assert: (x := self serialize: 'élève en Français') = '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais'''. + self + assert: + (x := self serialize: 'élève en Français') + = '''\u00E9l\u00E8ve en Fran\u00E7ais'''. + self + assert: + (x := self serialize: self unicode16TestString) + = + '''\u042F \u043C\u043E\u0436\u0443 \u0457\u0441\u0442\u0438 \u0441\u043A\u043B\u043E, \u0456 \u0432\u043E\u043D\u043E \u043C\u0435\u043D\u0456 \u043D\u0435 \u0437\u0430\u0448\u043A\u043E\u0434\u0438\u0442\u044C.'''. + false + ifTrue: [ + "ambiguous encoding for 32-bit Unicode characters: https://github.com/svenvc/ston/issues/11" + self + assert: (x := self serialize: self unicode32TestString) = '''\u2338F''' ]. string := String withAll: {$". diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/unicode16TestString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/unicode16TestString.st new file mode 100644 index 0000000..9b43cbc --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/unicode16TestString.st @@ -0,0 +1,6 @@ +private +unicode16TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ 'Я можу їсти скло, і воно мені не зашкодить.' + decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/unicode32TestString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/unicode32TestString.st new file mode 100644 index 0000000..a2e9253 --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/unicode32TestString.st @@ -0,0 +1,5 @@ +private +unicode32TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ '𣎏' decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/writer.st b/repository/STON-Tests.package/STONWriterTests.class/instance/writer.st new file mode 100644 index 0000000..6008f61 --- /dev/null +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STONWriter new \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json index ceef610..32bb5e5 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json @@ -1,11 +1,15 @@ { "class" : { - }, + "shouldInheritSelectors" : "dkh 06/26/2015 11:37" }, "instance" : { - "materialize:" : "dkh 10/26/2013 09:03", - "serialize:" : "SvenVanCaekenberghe 5/5/2012 20:06", - "serializeJson:" : "SvenVanCaekenberghe 5/15/2012 09:33", - "serializePretty:" : "SvenVanCaekenberghe 5/5/2012 20:05", + "encodeOnSerialize" : "dkh 06/26/2015 16:59", + "jsonWriter" : "dkh 06/26/2015 16:26", + "materialize:" : "dkh 06/26/2015 17:02", + "prettyWriter" : "dkh 06/26/2015 16:37", + "reader" : "dkh 06/26/2015 16:30", + "serialize:" : "dkh 06/26/2015 17:00", + "serializeJson:" : "dkh 06/26/2015 17:01", + "serializePretty:" : "dkh 06/26/2015 17:01", "testBoolean" : "SvenVanCaekenberghe 1/14/2012 15:50", "testByteArray" : "dkh 4/29/2012 08:48:15", "testCustomNewline" : "SvenVanCaekenberghe 3/7/2013 10:52", @@ -13,7 +17,7 @@ "testDateAndTime" : "SvenVanCaekenberghe 1/19/2012 10:00", "testDictionary" : "SvenVanCaekenberghe 5/5/2012 20:15", "testDictionaryWithComplexKeys" : "dkh 10/26/2013 09:02", - "testDoubleQuotedString" : "SvenVanCaekenberghe 5/5/2012 19:10", + "testDoubleQuotedString" : "dkh 06/29/2015 11:50", "testEmptyArrayPretty" : "SvenVanCaekenberghe 5/5/2012 19:09", "testEmptyDictionaryPretty" : "SvenVanCaekenberghe 5/5/2012 19:09", "testFloat" : "SvenVanCaekenberghe 5/3/2012 20:56", @@ -31,7 +35,7 @@ "testReferenceSharingError" : "SvenVanCaekenberghe 5/5/2012 20:07", "testReferenceSharingIgnore" : "SvenVanCaekenberghe 5/5/2012 20:07", "testRestrictedClassesInJsonMode" : "SvenVanCaekenberghe 5/5/2012 19:11", - "testString" : "dkh 4/29/2012 08:48:15", + "testString" : "dkh 06/29/2015 12:53", "testSymbol" : "SvenVanCaekenberghe 2/14/2012 17:07", "testSymbolAsString" : "SvenVanCaekenberghe 5/5/2012 19:12", "testTime" : "dkh 4/29/2012 08:48:15", @@ -39,4 +43,7 @@ "testUser" : "SvenVanCaekenberghe 11/13/2013 23:58", "testUser2" : "SvenVanCaekenberghe 11/13/2013 23:58", "testUser3Nil" : "SvenVanCaekenberghe 11/13/2013 23:56", - "testUserNil" : "SvenVanCaekenberghe 11/13/2013 23:56" } } + "testUserNil" : "SvenVanCaekenberghe 11/13/2013 23:56", + "unicode16TestString" : "dkh 06/29/2015 10:04", + "unicode32TestString" : "dkh 06/29/2015 10:04", + "writer" : "dkh 06/26/2015 16:24" } } diff --git a/repository/STON-Tests.package/monticello.meta/version b/repository/STON-Tests.package/monticello.meta/version index 02eafde..ee667c6 100644 --- a/repository/STON-Tests.package/monticello.meta/version +++ b/repository/STON-Tests.package/monticello.meta/version @@ -1 +1 @@ -(name 'STON-Tests-dkh.51' message 'merged by GitFileTree-MergeDriver' id 'cfb878a5-74e5-45a4-84f4-11f237ded012' date '23 June 2015' time '10:23:25.781083 am' author 'dkh' ancestors ((name 'STON-Tests-dkh.50' message 'remove support GRSmallDictionary and SmallDictionary ... SmallDictionary not implemented in GemStone and GRSmallDictionary is lacking #= so tests fail ...' id '251788c0-dca9-47f9-b17a-d9295f0f093a' date '19 June 2015' time '11:30:28 am' author 'dkh' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.49' message 'merged by GitFileTree-MergeDriver' id 'a0b292fa-4397-4b0c-b92a-604948070c25' date '18 June 2015' time '5:19:21 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.44' message 'Fix to allow working with the empty Symbol #'''' (changed STONWriter>>#isSimpleSymbol: to return false for the empty symbol) [Thx Martin - tinchodias]' id '44f1860b-d960-4530-be30-ad6a0a1b3fa7' date '15 April 2014' time '2:16:37 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.43' message 'Added explicit #stonOn: and #fromSton: methods to Text and RunArray who are inheriting the wrong behavior + unit test' id '89a8ad73-c664-4974-b111-02fd14287678' date '24 March 2014' time '2:30:08 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.42' message 'Changed the implementation of STONWriter>>#writeObject: to skip nil instance variables unless Object>>#stonShouldWriteNilInstVars is overridden to be true' id '965f5e06-6db6-46d3-8724-cb9501357f95' date '14 November 2013' time '12:02:58 pm' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.41' message 'Added support for Small[Identity]Dictionary' id 'e1bd4c72-3d69-43af-96f3-420e01ae9d2c' date '17 September 2013' time '8:17:38 am' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'STON-Tests-dkh.48' message 'methods moved to GsSqueakCommon tweak baseline' id 'a2c5f568-2a68-4704-8bae-da1fd3b2b4b7' date '21 November 2014' time '9:40:36 pm' author 'dkh' ancestors ((name 'STON-Tests-dkh.47' message 'remove test logging' id 'a78de51e-d0f9-4cc5-a3a0-6dd58a0db0a2' date '21 November 2014' time '9:07:45 pm' author 'dkh' ancestors ((name 'STON-Tests-dkh.46' message 'fix up tests ... maps do not have a canonical order' id '9522615c-4f25-4e83-86c8-34dd0b91fa18' date '21 November 2014' time '9:05:03 pm' author 'dkh' ancestors ((name 'STON-Tests-dkh.45' message 'test logging ...' id '51fa6ab4-4e39-4755-a680-312e0a7ea89a' date '21 November 2014' time '8:24:51 pm' author 'dkh' ancestors ((name 'STON-Tests-dkh.44' message 'normalize TimeStamp (use ScaledDecimal seconds) as well as DateAndTime' id '879c4e5d-df49-4ac2-a30d-ea42530d2390' date '5 November 2013' time '2:54:35 pm' author 'dkh' ancestors ((name 'STON-Tests-dkh.43' message 'fix a GemStone2.x portability problem (literal byte array syntax...)' id '2e945397-1749-41ef-9e4b-b194c63e391b' date '26 October 2013' time '9:11:43 am' author 'dkh' ancestors ((name 'STON-Tests-dkh.42' message 'fix tests for some GemStone porting problems: comparing DateAndTime serialization order of Dictionary' id '68731474-b78a-456c-a48c-aa6a04058471' date '26 October 2013' time '9:07:26 am' author 'dkh' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.41' message 'bump version to reflect changes for GemStone' id '47f83b55-38bd-463e-a214-c4f1b452ce99' date '25 October 2013' time '7:19:32 pm' author 'dkh' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.40' message 'Added custom newline support to STONWriter' id 'afcdcc8a-9e20-4067-85a5-4c9a4be76189' date '7 March 2013' time '10:53:29 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.39' message 'moved/renamed STONBufferedReadStream -> ZnBufferedReadStream (into Zinc HTTP Components)' id '854ee094-9d25-410c-ba6c-af7d02ee9076' date '30 November 2012' time '11:03:18 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.38' message 'added STONTestMap class>>#classTree[Extended][:] to create some larger test object structures with cycles; added STONTests class helper methods #readFromFileNamed: and #write:toFileNamed: as well as #fastReadFromFileNamed: and #fastWrite:toFileNamed:; added STONBufferedReadStream to improve parsing performance' id 'f0fed4b1-b758-4aaf-bacb-f276dfa8eb66' date '30 November 2012' time '11:46:48 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.37' message 'update meta data' id '29122642-eec4-48e4-a9a6-be086656a70b' date '29 November 2012' time '3:58:21 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.36' message 'added STONLargeWriteReadTests to test #optimizeForLargeStructures of STONReader and STONWriter using some special Fuel datastructures optimized for large sizes (these are standard in Pharo)' id 'dce2dc6c-1a5a-496e-b5a3-2fbc66565d21' date '29 November 2012' time '3:46:16 am' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.35' message 'added STONTests>>#testRoomExitCycles and STONTestMap based on the problematic cycle model by Stuart Herring (Thx!)' id '46f62d3a-4746-4720-a709-52113d0fb52e' date '29 November 2012' time '12:13:45 pm' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.29' message 'this is a copy of Ston-Tests-SvenVanCaekenberghe.34 with the monticello package name changed from Ston-Tests to STON-Tests' id 'fc4432b5-2197-47ee-8dfe-947b37d16b89' date '26 October 2012' time '10:38:40 am' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'STON-Tests-SvenVanCaekenberghe.45' message 'merged by GitFileTree-MergeDriver' id '54a43602-f4c0-4b16-b7ae-e945a87e0654' date '23 June 2015' time '10:21:22.713663 am' author 'SvenVanCaekenberghe' ancestors ((id '44f1860b-d960-4530-be30-ad6a0a1b3fa7')) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'STON-Tests-dkh.57' message 'Issue #6: return STONWriter and STONReader implementations to original implementation ... GemStone-specific mods are now present in STON051*, STON091*, and STONutf8* classes ... Modify tests to accomodate https://github.com/svenvc/ston/issues/11' id '0725995e-e60f-41fd-bc8d-f24dc833e0b4' date '06/29/2015' time '14:10:18' author 'dkh' ancestors ((name 'STON-Tests-dkh.56' message 'Issue #6: Cannot embed Unicode16 or Unicode32 strings in 2.x methods' id '48f90d94-5550-4615-9e48-12a85f200685' date '06/29/2015' time '10:10:05' author 'dkh' ancestors ((name 'STON-Tests-dkh.55' message 'Issue #6: pretty much flesh out the test suite to cover expanded Unicode strings (Unicode16 and Unicode32 examples) and a bit of cross materialization (051 serializer -> 091 marterializer)' id '4f60e686-6ef8-4425-ad4e-e45aa99db02e' date '06/26/2015' time '17:58:29' author 'dkh' ancestors ((name 'STON-Tests-dkh.54' message 'Issue #6: STONReader and STONWriter tests are now passing for all 4 serialization schemes ' id '8644cc02-0163-419b-a1bd-462b428876fd' date '06/26/2015' time '16:57:55' author 'dkh' ancestors ((name 'STON-Tests-dkh.53' message 'Issue #6: split out platform-specific tests' id '034094b2-e682-48a9-b37e-538ccd69fd83' date '06/26/2015' time '15:37:35' author 'dkh' ancestors ((name 'STON-Tests-dkh.52' message 'Issue #6: laying the groundwork for supporting the 4 STON serialization options: - classic (utf8 challenged) - utf8-friendly - GemStone/tODE v0.5.1 - GemStone/tODE v0.9.* Consolidating the Pharo/GemStone packages in the gemstone branch.' id '893aae73-5083-4f6c-b26f-15750b8a1ee7' date '06/26/2015' time '14:19:20' author 'dkh' ancestors ((name 'STON-Tests-dkh.51' message 'merged by GitFileTree-MergeDriver' id 'cfb878a5-74e5-45a4-84f4-11f237ded012' date '06/23/2015' time '10:23:25' author 'dkh' ancestors ((name 'STON-Tests-dkh.50' message 'remove support GRSmallDictionary and SmallDictionary ... SmallDictionary not implemented in GemStone and GRSmallDictionary is lacking #= so tests fail ...' id '251788c0-dca9-47f9-b17a-d9295f0f093a' date '06/19/2015' time '11:30:28' author 'dkh' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.49' message 'merged by GitFileTree-MergeDriver' id 'a0b292fa-4397-4b0c-b92a-604948070c25' date '06/18/2015' time '05:19:21' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-dkh.48' message 'methods moved to GsSqueakCommon tweak baseline' id 'a2c5f568-2a68-4704-8bae-da1fd3b2b4b7' date '11/21/2014' time '21:40:36' author 'dkh' ancestors ((name 'STON-Tests-dkh.47' message 'remove test logging' id 'a78de51e-d0f9-4cc5-a3a0-6dd58a0db0a2' date '11/21/2014' time '21:07:45' author 'dkh' ancestors ((name 'STON-Tests-dkh.46' message 'fix up tests ... maps do not have a canonical order' id '9522615c-4f25-4e83-86c8-34dd0b91fa18' date '11/21/2014' time '21:05:03' author 'dkh' ancestors ((name 'STON-Tests-dkh.45' message 'test logging ...' id '51fa6ab4-4e39-4755-a680-312e0a7ea89a' date '11/21/2014' time '20:24:51' author 'dkh' ancestors ((name 'STON-Tests-dkh.44' message 'normalize TimeStamp (use ScaledDecimal seconds) as well as DateAndTime' id '879c4e5d-df49-4ac2-a30d-ea42530d2390' date '11/05/2013' time '14:54:35' author 'dkh' ancestors ((name 'STON-Tests-dkh.43' message 'fix a GemStone2.x portability problem (literal byte array syntax...)' id '2e945397-1749-41ef-9e4b-b194c63e391b' date '10/26/2013' time '09:11:43' author 'dkh' ancestors ((name 'STON-Tests-dkh.42' message 'fix tests for some GemStone porting problems: comparing DateAndTime serialization order of Dictionary' id '68731474-b78a-456c-a48c-aa6a04058471' date '10/26/2013' time '09:07:26' author 'dkh' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.41' message 'bump version to reflect changes for GemStone' id '47f83b55-38bd-463e-a214-c4f1b452ce99' date '10/25/2013' time '19:19:32' author 'dkh' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.40' message 'Added custom newline support to STONWriter' id 'afcdcc8a-9e20-4067-85a5-4c9a4be76189' date '03/07/2013' time '10:53:29' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.39' message 'moved/renamed STONBufferedReadStream -> ZnBufferedReadStream (into Zinc HTTP Components)' id '854ee094-9d25-410c-ba6c-af7d02ee9076' date '11/30/2012' time '11:03:18' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.38' message 'added STONTestMap class>>#classTree[Extended][:] to create some larger test object structures with cycles; added STONTests class helper methods #readFromFileNamed: and #write:toFileNamed: as well as #fastReadFromFileNamed: and #fastWrite:toFileNamed:; added STONBufferedReadStream to improve parsing performance' id 'f0fed4b1-b758-4aaf-bacb-f276dfa8eb66' date '11/30/2012' time '11:46:48' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.37' message 'update meta data' id '29122642-eec4-48e4-a9a6-be086656a70b' date '11/29/2012' time '03:58:21' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.36' message 'added STONLargeWriteReadTests to test #optimizeForLargeStructures of STONReader and STONWriter using some special Fuel datastructures optimized for large sizes (these are standard in Pharo)' id 'dce2dc6c-1a5a-496e-b5a3-2fbc66565d21' date '11/29/2012' time '03:46:16' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.35' message 'added STONTests>>#testRoomExitCycles and STONTestMap based on the problematic cycle model by Stuart Herring (Thx!)' id '46f62d3a-4746-4720-a709-52113d0fb52e' date '11/29/2012' time '12:13:45' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.29' message 'this is a copy of Ston-Tests-SvenVanCaekenberghe.34 with the monticello package name changed from Ston-Tests to STON-Tests' id 'fc4432b5-2197-47ee-8dfe-947b37d16b89' date '10/26/2012' time '10:38:40' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'STON-Tests-SvenVanCaekenberghe.45' message 'merged by GitFileTree-MergeDriver' id '54a43602-f4c0-4b16-b7ae-e945a87e0654' date '06/23/2015' time '10:21:22' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.44' message 'Fix to allow working with the empty Symbol #'''' (changed STONWriter>>#isSimpleSymbol: to return false for the empty symbol) [Thx Martin - tinchodias]' id '44f1860b-d960-4530-be30-ad6a0a1b3fa7' date '04/15/2014' time '02:16:37' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.43' message 'Added explicit #stonOn: and #fromSton: methods to Text and RunArray who are inheriting the wrong behavior + unit test' id '89a8ad73-c664-4974-b111-02fd14287678' date '03/24/2014' time '02:30:08' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.42' message 'Changed the implementation of STONWriter>>#writeObject: to skip nil instance variables unless Object>>#stonShouldWriteNilInstVars is overridden to be true' id '965f5e06-6db6-46d3-8724-cb9501357f95' date '11/14/2013' time '12:02:58' author 'SvenVanCaekenberghe' ancestors ((name 'STON-Tests-SvenVanCaekenberghe.41' message 'Added support for Small[Identity]Dictionary' id 'e1bd4c72-3d69-43af-96f3-420e01ae9d2c' date '09/17/2013' time '08:17:38' author 'SvenVanCaekenberghe' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/.filetree b/repository/STON-UTF8-Core.package/.filetree new file mode 100644 index 0000000..8998102 --- /dev/null +++ b/repository/STON-UTF8-Core.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/STON-UTF8-Core.package/STON051Reader.class/README.md b/repository/STON-UTF8-Core.package/STON051Reader.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st b/repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st new file mode 100644 index 0000000..7bf5f2a --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st @@ -0,0 +1,3 @@ +parsing-internal +parseStringInternal + ^ super parseStringInternal decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON051Reader.class/methodProperties.json b/repository/STON-UTF8-Core.package/STON051Reader.class/methodProperties.json new file mode 100644 index 0000000..e45d986 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Reader.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "parseStringInternal" : "dkh 06/29/2015 11:40" } } diff --git a/repository/STON-UTF8-Core.package/STON051Reader.class/properties.json b/repository/STON-UTF8-Core.package/STON051Reader.class/properties.json new file mode 100644 index 0000000..089df8d --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Reader.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "STON051Reader", + "pools" : [ + ], + "super" : "STONReader", + "type" : "normal" } diff --git a/repository/STON-UTF8-Core.package/STON051Writer.class/README.md b/repository/STON-UTF8-Core.package/STON051Writer.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st b/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st new file mode 100644 index 0000000..03fb8c3 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st @@ -0,0 +1,3 @@ +private +encodeString: string + ^ super encodeString: string encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON051Writer.class/methodProperties.json b/repository/STON-UTF8-Core.package/STON051Writer.class/methodProperties.json new file mode 100644 index 0000000..633f408 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Writer.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "encodeString:" : "dkh 06/29/2015 11:41" } } diff --git a/repository/STON-UTF8-Core.package/STON051Writer.class/properties.json b/repository/STON-UTF8-Core.package/STON051Writer.class/properties.json new file mode 100644 index 0000000..6c95d9f --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Writer.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "STON051Writer", + "pools" : [ + ], + "super" : "STONWriter", + "type" : "normal" } diff --git a/repository/STON-UTF8-Core.package/STON091Reader.class/README.md b/repository/STON-UTF8-Core.package/STON091Reader.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter..st b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter..st new file mode 100644 index 0000000..8c7c510 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter..st @@ -0,0 +1,4 @@ +accessing +encounteredHexCharacter: anObject + + encounteredHexCharacter := anObject diff --git a/repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter.st b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter.st new file mode 100644 index 0000000..a935b46 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter.st @@ -0,0 +1,4 @@ +accessing +encounteredHexCharacter + encounteredHexCharacter ifNil: [ ^ false ]. + ^ encounteredHexCharacter \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseCharacterHex.st b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseCharacterHex.st new file mode 100644 index 0000000..917e5f6 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseCharacterHex.st @@ -0,0 +1,4 @@ +parsing-internal +parseCharacterHex + self encounteredHexCharacter: true. + ^ super parseCharacterHex \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseStringInternal.st b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseStringInternal.st new file mode 100644 index 0000000..3181b30 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseStringInternal.st @@ -0,0 +1,15 @@ +parsing-internal +parseStringInternal + | result delimiter | + delimiter := readStream next. + (delimiter = $' or: [ delimiter = $" ]) + ifFalse: [ self error: ''' or " expected' ]. + self encounteredHexCharacter: false. + result := self + stringStreamContents: [ :stream | + [ readStream atEnd or: [ readStream peek = delimiter ] ] + whileFalse: [ stream nextPut: self parseCharacter ] ]. + self expectChar: delimiter. + self encounteredHexCharacter + ifTrue: [ ^ result decodeFromUTF8 ]. + ^ result \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON091Reader.class/methodProperties.json b/repository/STON-UTF8-Core.package/STON091Reader.class/methodProperties.json new file mode 100644 index 0000000..397dd5c --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Reader.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "encounteredHexCharacter" : "dkh 06/26/2015 12:10", + "encounteredHexCharacter:" : "dkh 06/26/2015 12:10", + "parseCharacterHex" : "dkh 06/26/2015 12:39", + "parseStringInternal" : "dkh 06/26/2015 12:39" } } diff --git a/repository/STON-UTF8-Core.package/STON091Reader.class/properties.json b/repository/STON-UTF8-Core.package/STON091Reader.class/properties.json new file mode 100644 index 0000000..e06662d --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Reader.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "encounteredHexCharacter" ], + "name" : "STON091Reader", + "pools" : [ + ], + "super" : "STONReader", + "type" : "normal" } diff --git a/repository/STON-UTF8-Core.package/STON091Writer.class/README.md b/repository/STON-UTF8-Core.package/STON091Writer.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeCharacter..st b/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeCharacter..st new file mode 100644 index 0000000..0274d7a --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeCharacter..st @@ -0,0 +1,10 @@ +private +encodeCharacter: char + | code encoding | + ((code := char codePoint) < 127 + and: [ (encoding := STONCharacters at: code + 1) notNil ]) + ifTrue: [ + encoding = #'pass' + ifTrue: [ writeStream nextPut: char ] + ifFalse: [ writeStream nextPutAll: encoding ] ] + ifFalse: [ writeStream nextPut: char ] \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json b/repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json new file mode 100644 index 0000000..05e2696 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "encodeCharacter:" : "dkh 06/26/2015 12:29" } } diff --git a/repository/STON-UTF8-Core.package/STON091Writer.class/properties.json b/repository/STON-UTF8-Core.package/STON091Writer.class/properties.json new file mode 100644 index 0000000..3ee1fed --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Writer.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 11:31", + "instvars" : [ + ], + "name" : "STON091Writer", + "pools" : [ + ], + "super" : "STONWriter", + "type" : "normal" } diff --git a/repository/STON-UTF8-Core.package/STONUtf8Reader.class/README.md b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseCharacterHex.st b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseCharacterHex.st new file mode 100644 index 0000000..da890d3 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseCharacterHex.st @@ -0,0 +1,5 @@ +parsing-internal +parseCharacterHex + self + error: + 'Unexpected character encountered. Utf8 encoded Strings do not use hex character encodings.' \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STONUtf8Reader.class/methodProperties.json b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/methodProperties.json new file mode 100644 index 0000000..b1b0137 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "parseCharacterHex" : "dkh 06/26/2015 12:21" } } diff --git a/repository/STON-UTF8-Core.package/STONUtf8Reader.class/properties.json b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/properties.json new file mode 100644 index 0000000..6f37c14 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 11:33", + "instvars" : [ + ], + "name" : "STONUtf8Reader", + "pools" : [ + ], + "super" : "STONReader", + "type" : "normal" } diff --git a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/README.md b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeCharacter..st b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeCharacter..st new file mode 100644 index 0000000..0274d7a --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeCharacter..st @@ -0,0 +1,10 @@ +private +encodeCharacter: char + | code encoding | + ((code := char codePoint) < 127 + and: [ (encoding := STONCharacters at: code + 1) notNil ]) + ifTrue: [ + encoding = #'pass' + ifTrue: [ writeStream nextPut: char ] + ifFalse: [ writeStream nextPutAll: encoding ] ] + ifFalse: [ writeStream nextPut: char ] \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json new file mode 100644 index 0000000..aa949fb --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "encodeCharacter:" : "dkh 06/26/2015 12:32" } } diff --git a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/properties.json b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/properties.json new file mode 100644 index 0000000..6d34b80 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 11:32", + "instvars" : [ + ], + "name" : "STONUtf8Writer", + "pools" : [ + ], + "super" : "STONWriter", + "type" : "normal" } diff --git a/repository/STON-UTF8-Core.package/monticello.meta/categories.st b/repository/STON-UTF8-Core.package/monticello.meta/categories.st new file mode 100644 index 0000000..ed29dad --- /dev/null +++ b/repository/STON-UTF8-Core.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'STON-UTF8-Core'! diff --git a/repository/STON-UTF8-Core.package/monticello.meta/initializers.st b/repository/STON-UTF8-Core.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Core.package/monticello.meta/package b/repository/STON-UTF8-Core.package/monticello.meta/package new file mode 100644 index 0000000..2bf728b --- /dev/null +++ b/repository/STON-UTF8-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'STON-UTF8-Core') \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/monticello.meta/version b/repository/STON-UTF8-Core.package/monticello.meta/version new file mode 100644 index 0000000..5f9b8cc --- /dev/null +++ b/repository/STON-UTF8-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'STON-UTF8-Core-dkh.4' message 'Issue #6: remote the (now) unused protocol in STON for using UTF8 encoding' id 'ead267b0-8f0c-459a-976f-a0042fcdfdf9' date '06/29/2015' time '14:16:16' author 'dkh' ancestors ((name 'STON-UTF8-Core-dkh.3' message 'Issue #6: return STONWriter and STONReader implementations to original implementation ... GemStone-specific mods are now present in STON051*, STON091*, and STONutf8* classes ... Modify tests to accomodate https://github.com/svenvc/ston/issues/11' id '56c81432-651e-46f4-a4fe-b5719065bfd0' date '06/29/2015' time '14:10:18' author 'dkh' ancestors ((name 'STON-UTF8-Core-dkh.2' message 'Issue #6: STONReader and STONWriter tests are now passing for all 4 serialization schemes ' id '2d4350c7-a5d4-49ef-b6d6-d01c176a406b' date '06/26/2015' time '16:57:54' author 'dkh' ancestors ((name 'STON-UTF8-Core-dkh.1' message 'Issue #6: laying the groundwork for supporting the 4 STON serialization options: - classic (utf8 challenged) - utf8-friendly - GemStone/tODE v0.5.1 - GemStone/tODE v0.9.* Consolidating the Pharo/GemStone packages in the gemstone branch.' id '1e5d4020-6ba1-4a9e-984b-c5b911bb8a26' date '06/26/2015' time '14:19:20' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/properties.json b/repository/STON-UTF8-Core.package/properties.json new file mode 100644 index 0000000..f037444 --- /dev/null +++ b/repository/STON-UTF8-Core.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/STON-UTF8-Tests.package/.filetree b/repository/STON-UTF8-Tests.package/.filetree new file mode 100644 index 0000000..8998102 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/README.md b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/materialize..st b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/materialize..st new file mode 100644 index 0000000..0599df8 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/materialize..st @@ -0,0 +1,3 @@ +private +materialize: string + ^ (STON051Reader on: string readStream) next \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testJsonString.st b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testJsonString.st new file mode 100644 index 0000000..67cee5d --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testJsonString.st @@ -0,0 +1,19 @@ +tests +testJsonString + "Allow double quotes for backwards JSON compatibility" + + | string | + self assert: (self materialize: '"foo"') = 'foo'. + self assert: (self materialize: '"FOO"') = 'FOO'. + self assert: (self materialize: '"\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais"') = 'élève en Français'. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self materialize: '"\"\''\\\t\r\n\f\b"') = string \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st new file mode 100644 index 0000000..e2052ca --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st @@ -0,0 +1,30 @@ +tests +testString + | string x | + self assert: (self materialize: '''foo''') = 'foo'. + self assert: (self materialize: '''FOO''') = 'FOO'. + self + assert: + (self materialize: '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais''') + = 'élève en Français'. + self + assert: + (x := self + materialize: + '''\u00D0\u00AF \u00D0\u00BC\u00D0\u00BE\u00D0\u00B6\u00D1\u0083 \u00D1\u0097\u00D1\u0081\u00D1\u0082\u00D0\u00B8 \u00D1\u0081\u00D0\u00BA\u00D0\u00BB\u00D0\u00BE, \u00D1\u0096 \u00D0\u00B2\u00D0\u00BE\u00D0\u00BD\u00D0\u00BE \u00D0\u00BC\u00D0\u00B5\u00D0\u00BD\u00D1\u0096 \u00D0\u00BD\u00D0\u00B5 \u00D0\u00B7\u00D0\u00B0\u00D1\u0088\u00D0\u00BA\u00D0\u00BE\u00D0\u00B4\u00D0\u00B8\u00D1\u0082\u00D1\u008C.''') + = self unicode16TestString. + self + assert: + (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') + = self unicode32TestString. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self materialize: '''\"\''\\\t\r\n\f\b''') = string \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json new file mode 100644 index 0000000..cdb2f3e --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "materialize:" : "dkh 06/26/2015 12:37", + "testJsonString" : "dkh 06/26/2015 11:43", + "testString" : "dkh 06/29/2015 10:04" } } diff --git a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/properties.json b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/properties.json new file mode 100644 index 0000000..03ce7bd --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "STON051ReaderTests", + "pools" : [ + ], + "super" : "STONReaderTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/README.md b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/include32BitUnicodeStrings.st b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/include32BitUnicodeStrings.st new file mode 100644 index 0000000..942afef --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/include32BitUnicodeStrings.st @@ -0,0 +1,3 @@ +private +include32BitUnicodeStrings + ^ true \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/reader.st b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/reader.st new file mode 100644 index 0000000..385dba1 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STON051Reader new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/writer.st b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/writer.st new file mode 100644 index 0000000..a0127f9 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STON051Writer new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json new file mode 100644 index 0000000..f98bea7 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "include32BitUnicodeStrings" : "dkh 06/29/2015 14:06", + "reader" : "dkh 06/26/2015 17:10", + "writer" : "dkh 06/26/2015 17:10" } } diff --git a/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/properties.json b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/properties.json new file mode 100644 index 0000000..ae136d9 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "STON051WriteReadTests", + "pools" : [ + ], + "super" : "STONWriteReadTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/README.md b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/reader.st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/reader.st new file mode 100644 index 0000000..385dba1 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STON051Reader new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testDoubleQuotedString.st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testDoubleQuotedString.st new file mode 100644 index 0000000..fb1e8a5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testDoubleQuotedString.st @@ -0,0 +1,17 @@ +tests +testDoubleQuotedString + | string | + self assert: (self serializeJson: 'foo') = '"foo"'. + self assert: (self serializeJson: 'FOO') = '"FOO"'. + self assert: (self serializeJson: 'élève en Français') = '"\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais"'. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self serializeJson: string) = '"\"\''\\\t\r\n\f\b"' \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st new file mode 100644 index 0000000..089cc02 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st @@ -0,0 +1,28 @@ +tests +testString + | x string | + self assert: (self serialize: 'foo') = '''foo'''. + self assert: (self serialize: 'FOO') = '''FOO'''. + self + assert: + (x := self serialize: 'élève en Français') + = '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais'''. + self + assert: + (x := self serialize: self unicode16TestString) + = + '''\u00D0\u00AF \u00D0\u00BC\u00D0\u00BE\u00D0\u00B6\u00D1\u0083 \u00D1\u0097\u00D1\u0081\u00D1\u0082\u00D0\u00B8 \u00D1\u0081\u00D0\u00BA\u00D0\u00BB\u00D0\u00BE, \u00D1\u0096 \u00D0\u00B2\u00D0\u00BE\u00D0\u00BD\u00D0\u00BE \u00D0\u00BC\u00D0\u00B5\u00D0\u00BD\u00D1\u0096 \u00D0\u00BD\u00D0\u00B5 \u00D0\u00B7\u00D0\u00B0\u00D1\u0088\u00D0\u00BA\u00D0\u00BE\u00D0\u00B4\u00D0\u00B8\u00D1\u0082\u00D1\u008C.'''. + self + assert: + (x := self serialize: self unicode32TestString) = '''\u00F0\u00A3\u008E\u008F'''. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self serialize: string) = '''\"\''\\\t\r\n\f\b''' \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/writer.st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/writer.st new file mode 100644 index 0000000..a0127f9 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STON051Writer new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json new file mode 100644 index 0000000..72367e9 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "reader" : "dkh 06/26/2015 16:31", + "testDoubleQuotedString" : "dkh 06/26/2015 11:41", + "testString" : "dkh 06/29/2015 10:05", + "writer" : "dkh 06/26/2015 16:27" } } diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/properties.json b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/properties.json new file mode 100644 index 0000000..5133543 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "STON051WriterTests", + "pools" : [ + ], + "super" : "STONWriterTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/README.md b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/materialize..st b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/materialize..st new file mode 100644 index 0000000..50ec1e7 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/materialize..st @@ -0,0 +1,3 @@ +private +materialize: string + ^ (STON091Reader on: string decodeFromUTF8 readStream) next \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st new file mode 100644 index 0000000..a34bb05 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st @@ -0,0 +1,19 @@ +tests +test051String + "materialize 051 serialiazed Unicode strings" + + | string x | + self + assert: + (self materialize: '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais''') + = 'élève en Français'. + self + assert: + (x := self + materialize: + '''\u00D0\u00AF \u00D0\u00BC\u00D0\u00BE\u00D0\u00B6\u00D1\u0083 \u00D1\u0097\u00D1\u0081\u00D1\u0082\u00D0\u00B8 \u00D1\u0081\u00D0\u00BA\u00D0\u00BB\u00D0\u00BE, \u00D1\u0096 \u00D0\u00B2\u00D0\u00BE\u00D0\u00BD\u00D0\u00BE \u00D0\u00BC\u00D0\u00B5\u00D0\u00BD\u00D1\u0096 \u00D0\u00BD\u00D0\u00B5 \u00D0\u00B7\u00D0\u00B0\u00D1\u0088\u00D0\u00BA\u00D0\u00BE\u00D0\u00B4\u00D0\u00B8\u00D1\u0082\u00D1\u008C.''') + = self unicode16TestString. + self + assert: + (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') + = self unicode32TestString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testJsonString.st b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testJsonString.st new file mode 100644 index 0000000..67cee5d --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testJsonString.st @@ -0,0 +1,19 @@ +tests +testJsonString + "Allow double quotes for backwards JSON compatibility" + + | string | + self assert: (self materialize: '"foo"') = 'foo'. + self assert: (self materialize: '"FOO"') = 'FOO'. + self assert: (self materialize: '"\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais"') = 'élève en Français'. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self materialize: '"\"\''\\\t\r\n\f\b"') = string \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st new file mode 100644 index 0000000..6331935 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st @@ -0,0 +1,27 @@ +tests +testString + | string x | + self assert: (self materialize: '''foo''') = 'foo'. + self assert: (self materialize: '''FOO''') = 'FOO'. + self + assert: + (self materialize: '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais''') + = 'élève en Français'. + self + assert: + (x := self + materialize: + '''Я можу їсти скло, і воно мені не зашкодить.''') + = self unicode16TestString. + self assert: (x := self materialize: '''𣎏''') = self unicode32TestString. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self materialize: '''\"\''\\\t\r\n\f\b''') = string \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json new file mode 100644 index 0000000..f7c6b80 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "materialize:" : "dkh 06/26/2015 12:37", + "test051String" : "dkh 06/29/2015 10:08", + "testJsonString" : "dkh 06/26/2015 11:43", + "testString" : "dkh 06/29/2015 10:04" } } diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/properties.json b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/properties.json new file mode 100644 index 0000000..7c3e61e --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 11:35", + "instvars" : [ + ], + "name" : "STON091ReaderTests", + "pools" : [ + ], + "super" : "STONReaderTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/README.md b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/encodeOnSerialize.st b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/encodeOnSerialize.st new file mode 100644 index 0000000..2362cc5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/encodeOnSerialize.st @@ -0,0 +1,3 @@ +private +encodeOnSerialize + ^ true \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/include32BitUnicodeStrings.st b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/include32BitUnicodeStrings.st new file mode 100644 index 0000000..942afef --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/include32BitUnicodeStrings.st @@ -0,0 +1,3 @@ +private +include32BitUnicodeStrings + ^ true \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/reader.st b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/reader.st new file mode 100644 index 0000000..9a555d7 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STON091Reader new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/writer.st b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/writer.st new file mode 100644 index 0000000..cb781a6 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STON091Writer new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json new file mode 100644 index 0000000..6c791d3 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "encodeOnSerialize" : "dkh 06/26/2015 17:10", + "include32BitUnicodeStrings" : "dkh 06/29/2015 14:06", + "reader" : "dkh 06/26/2015 17:11", + "writer" : "dkh 06/26/2015 17:11" } } diff --git a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/properties.json b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/properties.json new file mode 100644 index 0000000..8747dc8 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 17:10", + "instvars" : [ + ], + "name" : "STON091WriteReadTests", + "pools" : [ + ], + "super" : "STONWriteReadTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/README.md b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/encodeOnSerialize.st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/encodeOnSerialize.st new file mode 100644 index 0000000..2362cc5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/encodeOnSerialize.st @@ -0,0 +1,3 @@ +private +encodeOnSerialize + ^ true \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/reader.st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/reader.st new file mode 100644 index 0000000..9a555d7 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STON091Reader new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testDoubleQuotedString.st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testDoubleQuotedString.st new file mode 100644 index 0000000..0c78f98 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testDoubleQuotedString.st @@ -0,0 +1,19 @@ +tests +testDoubleQuotedString + | string x | + self assert: (self serializeJson: 'foo') = '"foo"'. + self assert: (self serializeJson: 'FOO') = '"FOO"'. + self + assert: + (x := self serializeJson: 'élève en Français') = '"élève en Français"'. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self serializeJson: string) = '"\"\''\\\t\r\n\f\b"' \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st new file mode 100644 index 0000000..0bec396 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st @@ -0,0 +1,25 @@ +tests +testString + | x string | + self assert: (self serialize: 'foo') = '''foo'''. + self assert: (self serialize: 'FOO') = '''FOO'''. + self + assert: + (x := self serialize: 'élève en Français') = '''élève en Français'''. + self + assert: + (x := self serialize: self unicode16TestString) + = + '''Я можу їсти скло, і воно мені не зашкодить.'''. + self assert: (x := self serialize: self unicode32TestString) = '''𣎏'''. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self serialize: string) = '''\"\''\\\t\r\n\f\b''' \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/writer.st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/writer.st new file mode 100644 index 0000000..cb781a6 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STON091Writer new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json new file mode 100644 index 0000000..9bb3948 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "encodeOnSerialize" : "dkh 06/26/2015 17:03", + "reader" : "dkh 06/26/2015 16:31", + "testDoubleQuotedString" : "dkh 06/26/2015 16:46", + "testString" : "dkh 06/29/2015 10:05", + "writer" : "dkh 06/26/2015 16:27" } } diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/properties.json b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/properties.json new file mode 100644 index 0000000..b442df2 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 11:34", + "instvars" : [ + ], + "name" : "STON091WriterTests", + "pools" : [ + ], + "super" : "STONWriterTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/README.md b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/materialize..st b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/materialize..st new file mode 100644 index 0000000..7cca37d --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/materialize..st @@ -0,0 +1,3 @@ +private +materialize: string + ^ (STONUtf8Reader on: string decodeFromUTF8 readStream) next \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testJsonString.st b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testJsonString.st new file mode 100644 index 0000000..71d24ea --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testJsonString.st @@ -0,0 +1,20 @@ +tests +testJsonString + "Allow double quotes for backwards JSON compatibility" + + | string | + self assert: (self materialize: '"foo"') = 'foo'. + self assert: (self materialize: '"FOO"') = 'FOO'. + self + assert: (self materialize: '''élève en Français''') = 'élève en Français'. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self materialize: '"\"\''\\\t\r\n\f\b"') = string \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st new file mode 100644 index 0000000..c4e2b43 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st @@ -0,0 +1,25 @@ +tests +testString + | string x | + self assert: (self materialize: '''foo''') = 'foo'. + self assert: (self materialize: '''FOO''') = 'FOO'. + self + assert: (self materialize: '''élève en Français''') = 'élève en Français'. + self + assert: + (x := self + materialize: + '''Я можу їсти скло, і воно мені не зашкодить.''') + = self unicode16TestString. + self assert: (x := self materialize: '''𣎏''') = self unicode32TestString. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self materialize: '''\"\''\\\t\r\n\f\b''') = string \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json new file mode 100644 index 0000000..da275a7 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "materialize:" : "dkh 06/26/2015 12:37", + "testJsonString" : "dkh 06/26/2015 12:45", + "testString" : "dkh 06/29/2015 10:04" } } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/properties.json b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/properties.json new file mode 100644 index 0000000..6593925 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 11:35", + "instvars" : [ + ], + "name" : "STONUtf8ReaderTests", + "pools" : [ + ], + "super" : "STONReaderTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/README.md b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/encodeOnSerialize.st b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/encodeOnSerialize.st new file mode 100644 index 0000000..2362cc5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/encodeOnSerialize.st @@ -0,0 +1,3 @@ +private +encodeOnSerialize + ^ true \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/include32BitUnicodeStrings.st b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/include32BitUnicodeStrings.st new file mode 100644 index 0000000..942afef --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/include32BitUnicodeStrings.st @@ -0,0 +1,3 @@ +private +include32BitUnicodeStrings + ^ true \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/reader.st b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/reader.st new file mode 100644 index 0000000..bd62d87 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STONUtf8Reader new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/writer.st b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/writer.st new file mode 100644 index 0000000..a36bf45 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STONUtf8Writer new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json new file mode 100644 index 0000000..df39e82 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "encodeOnSerialize" : "dkh 06/26/2015 17:11", + "include32BitUnicodeStrings" : "dkh 06/29/2015 14:06", + "reader" : "dkh 06/26/2015 17:11", + "writer" : "dkh 06/26/2015 17:11" } } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/properties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/properties.json new file mode 100644 index 0000000..93e7ebb --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 17:11", + "instvars" : [ + ], + "name" : "STONUtf8WriteReadTests", + "pools" : [ + ], + "super" : "STONWriteReadTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/README.md b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/encodeOnSerialize.st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/encodeOnSerialize.st new file mode 100644 index 0000000..2362cc5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/encodeOnSerialize.st @@ -0,0 +1,3 @@ +private +encodeOnSerialize + ^ true \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/reader.st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/reader.st new file mode 100644 index 0000000..bd62d87 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STONUtf8Reader new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testDoubleQuotedString.st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testDoubleQuotedString.st new file mode 100644 index 0000000..0c78f98 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testDoubleQuotedString.st @@ -0,0 +1,19 @@ +tests +testDoubleQuotedString + | string x | + self assert: (self serializeJson: 'foo') = '"foo"'. + self assert: (self serializeJson: 'FOO') = '"FOO"'. + self + assert: + (x := self serializeJson: 'élève en Français') = '"élève en Français"'. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self serializeJson: string) = '"\"\''\\\t\r\n\f\b"' \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st new file mode 100644 index 0000000..0bec396 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st @@ -0,0 +1,25 @@ +tests +testString + | x string | + self assert: (self serialize: 'foo') = '''foo'''. + self assert: (self serialize: 'FOO') = '''FOO'''. + self + assert: + (x := self serialize: 'élève en Français') = '''élève en Français'''. + self + assert: + (x := self serialize: self unicode16TestString) + = + '''Я можу їсти скло, і воно мені не зашкодить.'''. + self assert: (x := self serialize: self unicode32TestString) = '''𣎏'''. + string := String + withAll: + {$". + $'. + $\. + (Character tab). + (Character cr). + (Character lf). + (Character newPage). + (Character backspace)}. + self assert: (self serialize: string) = '''\"\''\\\t\r\n\f\b''' \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/writer.st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/writer.st new file mode 100644 index 0000000..a36bf45 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STONUtf8Writer new \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json new file mode 100644 index 0000000..d1806a8 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "encodeOnSerialize" : "dkh 06/26/2015 17:03", + "reader" : "dkh 06/26/2015 16:31", + "testDoubleQuotedString" : "dkh 06/26/2015 16:47", + "testString" : "dkh 06/29/2015 10:06", + "writer" : "dkh 06/26/2015 16:28" } } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/properties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/properties.json new file mode 100644 index 0000000..95f8957 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "STON-UTF8-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "dkh 06/26/2015 11:34", + "instvars" : [ + ], + "name" : "STONUtf8WriterTests", + "pools" : [ + ], + "super" : "STONWriterTests", + "type" : "normal" } diff --git a/repository/STON-UTF8-Tests.package/monticello.meta/categories.st b/repository/STON-UTF8-Tests.package/monticello.meta/categories.st new file mode 100644 index 0000000..10c2e42 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'STON-UTF8-Tests'! diff --git a/repository/STON-UTF8-Tests.package/monticello.meta/initializers.st b/repository/STON-UTF8-Tests.package/monticello.meta/initializers.st new file mode 100644 index 0000000..e69de29 diff --git a/repository/STON-UTF8-Tests.package/monticello.meta/package b/repository/STON-UTF8-Tests.package/monticello.meta/package new file mode 100644 index 0000000..ab8a64f --- /dev/null +++ b/repository/STON-UTF8-Tests.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'STON-UTF8-Tests') \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/monticello.meta/version b/repository/STON-UTF8-Tests.package/monticello.meta/version new file mode 100644 index 0000000..68538f2 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'STON-UTF8-Tests-dkh.5' message 'Issue #6: return STONWriter and STONReader implementations to original implementation ... GemStone-specific mods are now present in STON051*, STON091*, and STONutf8* classes ... Modify tests to accomodate https://github.com/svenvc/ston/issues/11' id '15f42710-0ea4-4be6-a625-0f7065505fed' date '06/29/2015' time '14:10:19' author 'dkh' ancestors ((name 'STON-UTF8-Tests-dkh.4' message 'Issue #6: Cannot embed Unicode16 or Unicode32 strings in 2.x methods' id '535e1879-6293-4fd7-9fdb-8cbd0f883048' date '06/29/2015' time '10:10:05' author 'dkh' ancestors ((name 'STON-UTF8-Tests-dkh.3' message 'Issue #6: pretty much flesh out the test suite to cover expanded Unicode strings (Unicode16 and Unicode32 examples) and a bit of cross materialization (051 serializer -> 091 marterializer)' id 'a613a12d-4586-465d-83b4-1f821dcccf86' date '06/26/2015' time '17:58:29' author 'dkh' ancestors ((name 'STON-UTF8-Tests-dkh.2' message 'Issue #6: STONReader and STONWriter tests are now passing for all 4 serialization schemes ' id 'c540be43-12e3-48a9-bfd0-90d30f98fed7' date '06/26/2015' time '16:57:55' author 'dkh' ancestors ((name 'STON-UTF8-Tests-dkh.1' message 'Issue #6: laying the groundwork for supporting the 4 STON serialization options: - classic (utf8 challenged) - utf8-friendly - GemStone/tODE v0.5.1 - GemStone/tODE v0.9.* Consolidating the Pharo/GemStone packages in the gemstone branch.' id 'bfcac8bc-6c8e-441b-9bda-af8383a74d47' date '06/26/2015' time '14:19:20' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/properties.json b/repository/STON-UTF8-Tests.package/properties.json new file mode 100644 index 0000000..f037444 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/tests/travisCI.st b/tests/travisCI.st index 76ddb19..84d1780 100644 --- a/tests/travisCI.st +++ b/tests/travisCI.st @@ -1,18 +1,50 @@ "Load and run tests to be performed by TravisCI" -| gitPath | -gitPath := (FileDirectory default directoryNamed: 'git_cache') fullName. +| gitCache gitPath loadBlock | +Transcript cr; show: 'travis---->travisCI.st'. + +gitCache := 'git_cache'. +gitPath := (Smalltalk at: #'FileDirectory' ifAbsent: [ ]) + ifNil: [ ((Smalltalk at: #'FileSystem') workingDirectory / gitCache) pathString ] + ifNotNil: [:fileDirectoryClass | (fileDirectoryClass default directoryNamed: gitCache ) fullName]. + +(Smalltalk at: #ConfigurationOfGLASS ifAbsent: []) + ifNotNil: [:cls | + "Upgrade to GLASS1" + Gofer new + package: 'GsUpgrader-Core'; + url: 'http://ss3.gemtalksystems.com/ss/gsUpgrader'; + load. + (Smalltalk at: #GsUpgrader) upgradeGLASS1 ] + ifNil: [ + "Upgrade to latest Metacello" + Metacello new + baseline: 'Metacello'; + repository: 'github://dalehenrich/metacello-work:master/repository'; + get. + Metacello new + baseline: 'Metacello'; + repository: 'github://dalehenrich/metacello-work:master/repository'; + onConflict: [:ex | ex allow]; + load ]. -Gofer new - package: 'GsUpgrader-Core'; - url: 'http://ss3.gemtalksystems.com/ss/gsUpgrader'; - load. -(Smalltalk at: #GsUpgrader) upgradeGLASS1. "load the STON tests" -Metacello new - baseline: 'Ston'; - repository: 'filetree://', gitPath, '/ston/repository'; - load: 'Tests'. +loadBlock := [ + Metacello new + baseline: 'Ston'; + repository: 'filetree://', gitPath, '/ston/repository'; + load: 'Tests' ]. + +[ + (Smalltalk at: #GsDeployer ifAbsent: []) + ifNil: [ loadBlock value] + ifNotNil: [:cls | + "GemStone, use GsDeployer to load" + cls deploy: loadBlock ] . + ] on: Warning + do: [:ex | + Transcript cr; show: ex description. + ex resume ]. "Run the tests" TravisCIHarness