From b36748bf2cf499ca7688ab07855b711e3591c38f Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Wed, 24 Jun 2015 16:17:36 -0700 Subject: [PATCH 01/15] Issue #6: cherry-pick the methods that will be involved in bugfix to common branch --- .../STON.class/class/fromStream..st | 2 +- .../STON.class/class/fromString..st | 2 +- .../STON.class/class/fromUTF8EncodedString..st | 5 +++++ .../STON.class/class/put.asJsonOnStream..st | 2 +- .../class/put.asJsonOnStreamPretty..st | 2 +- .../STON.class/class/put.onStream..st | 2 +- .../STON.class/class/put.onStreamPretty..st | 2 +- .../STON.class/class/toJsonString..st | 2 +- .../STON.class/class/toJsonStringPretty..st | 2 +- .../STON.class/class/toString..st | 2 +- .../STON.class/class/toStringPretty..st | 2 +- .../STON.class/class/toUTF8EncodedString..st | 5 +++++ .../class/toUTF8EncodedStringPretty..st | 5 +++++ .../instance/decodeFromUTF8.st | 3 +++ .../instance/encodeAsUTF8intoString.st | 3 +++ .../instance/testJsonString.st | 18 +++++++++++++----- .../instance/testString.st | 16 ++++++++++++---- .../instance/testDoubleQuotedString.st | 16 ++++++++++++---- .../instance/testString.st | 18 +++++++++++++----- 19 files changed, 81 insertions(+), 28 deletions(-) create mode 100644 repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st create mode 100644 repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st create mode 100644 repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st create mode 100644 repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st create mode 100644 repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st 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..979bac9 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 diff --git a/repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st b/repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st new file mode 100644 index 0000000..d413e1f --- /dev/null +++ b/repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st @@ -0,0 +1,5 @@ +utf8 +fromUTF8EncodedString: utf8EncodedString + ^ true + ifTrue: [ self fromString: utf8EncodedString ] + ifFalse: [ self fromString: utf8EncodedString decodeFromUTF8 ] \ 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..464e3c0 100644 --- a/repository/STON-Core.package/STON.class/class/toJsonString..st +++ b/repository/STON-Core.package/STON.class/class/toJsonString..st @@ -1,4 +1,4 @@ -convencience +convenience toJsonString: object ^ 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..e5865ef 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 diff --git a/repository/STON-Core.package/STON.class/class/toString..st b/repository/STON-Core.package/STON.class/class/toString..st index f798f18..c3653b6 100644 --- a/repository/STON-Core.package/STON.class/class/toString..st +++ b/repository/STON-Core.package/STON.class/class/toString..st @@ -1,4 +1,4 @@ -convencience +convenience toString: object ^ 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..110215e 100644 --- a/repository/STON-Core.package/STON.class/class/toStringPretty..st +++ b/repository/STON-Core.package/STON.class/class/toStringPretty..st @@ -1,4 +1,4 @@ -convencience +convenience toStringPretty: object ^ String streamContents: [ :stream | self put: object onStreamPretty: stream ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st b/repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st new file mode 100644 index 0000000..4974dd0 --- /dev/null +++ b/repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st @@ -0,0 +1,5 @@ +utf8 +toUTF8EncodedString: object + ^ true + ifTrue: [ self toString: object ] + ifFalse: [ (self toString: object) encodeAsUTF8intoString ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st b/repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st new file mode 100644 index 0000000..ceeb210 --- /dev/null +++ b/repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st @@ -0,0 +1,5 @@ +utf8 +toUTF8EncodedStringPretty: object + ^ true + ifTrue: [ self toStringPretty: object ] + ifFalse: [ (self toStringPretty: object) encodeAsUTF8intoString ] \ No newline at end of file diff --git a/repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st b/repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st new file mode 100644 index 0000000..6f5f3e9 --- /dev/null +++ b/repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st @@ -0,0 +1,3 @@ +*ston-core +decodeFromUTF8 + ^ self convertFromEncoding: #'utf-8' \ No newline at end of file diff --git a/repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st b/repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st new file mode 100644 index 0000000..25adaa0 --- /dev/null +++ b/repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st @@ -0,0 +1,3 @@ +*ston-core +encodeAsUTF8intoString + ^ self convertToEncoding: #'utf-8' \ 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 a2a253d..67cee5d 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st @@ -1,11 +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: '"\u00E9l\u00E8ve en Fran\u00E7ais"') = 'é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. + 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-Tests.package/STONReaderTests.class/instance/testString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st index fa52d0c..3fd1b15 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st @@ -3,7 +3,15 @@ testString | string | self assert: (self materialize: '''foo''') = 'foo'. self assert: (self materialize: '''FOO''') = 'FOO'. - self assert: (self materialize: '''\u00E9l\u00E8ve en Fran\u00E7ais''') = 'é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. + 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-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st index a0c8302..fb1e8a5 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st @@ -3,7 +3,15 @@ testDoubleQuotedString | string | self assert: (self serializeJson: 'foo') = '"foo"'. self assert: (self serializeJson: 'FOO') = '"FOO"'. - self assert: (self serializeJson: 'élève en Français') = '"\u00E9l\u00E8ve en Fran\u00E7ais"'. - string := String withAll: { - $". $'. $\. Character tab. Character cr. Character lf. Character newPage. Character backspace }. - self assert: (self serializeJson: string) = '"\"\''\\\t\r\n\f\b"'. + 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-Tests.package/STONWriterTests.class/instance/testString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st index ff4c321..6a5d968 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st @@ -1,9 +1,17 @@ tests testString - | string | + | x string | self assert: (self serialize: 'foo') = '''foo'''. self assert: (self serialize: 'FOO') = '''FOO'''. - self assert: (self serialize: 'élève en Français') = '''\u00E9l\u00E8ve en Fran\u00E7ais'''. - string := String withAll: { - $". $'. $\. Character tab. Character cr. Character lf. Character newPage. Character backspace }. - self assert: (self serialize: string) = '''\"\''\\\t\r\n\f\b'''. + self assert: (x := self serialize: 'é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 serialize: string) = '''\"\''\\\t\r\n\f\b''' \ No newline at end of file From d44fd8efccb53ca9df84f099b6d8a1cd7cfae66b Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Wed, 24 Jun 2015 16:21:52 -0700 Subject: [PATCH 02/15] Issue #6: remove String extenstion methods for decode/encode ... not a common implementation --- .../String.extension/instance/decodeFromUTF8.st | 3 --- .../String.extension/instance/encodeAsUTF8intoString.st | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st delete mode 100644 repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st diff --git a/repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st b/repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st deleted file mode 100644 index 6f5f3e9..0000000 --- a/repository/STON-Core.package/String.extension/instance/decodeFromUTF8.st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-core -decodeFromUTF8 - ^ self convertFromEncoding: #'utf-8' \ No newline at end of file diff --git a/repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st b/repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st deleted file mode 100644 index 25adaa0..0000000 --- a/repository/STON-Core.package/String.extension/instance/encodeAsUTF8intoString.st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-core -encodeAsUTF8intoString - ^ self convertToEncoding: #'utf-8' \ No newline at end of file From cb3aa48e1703efaec1d5a6b9e6d4d42230c6a08a Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Wed, 24 Jun 2015 16:42:25 -0700 Subject: [PATCH 03/15] Issue #6: picked up missing methods for STONReader and STONWriter --- .../instance/parseStringInternal.st | 17 ++++++++--------- .../STONWriter.class/instance/encodeString..st | 17 +++++++++++++---- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st b/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st index 91503e3..086de50 100644 --- a/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st +++ b/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st @@ -1,11 +1,10 @@ parsing-internal parseStringInternal - | result delimiter | - delimiter := readStream next. - (delimiter = $' or: [ delimiter = $" ]) - ifFalse: [ self error: ''' or " expected' ]. - result := self stringStreamContents: [ :stream | - [ readStream atEnd or: [ readStream peek = delimiter ] ] whileFalse: [ - stream nextPut: self parseCharacter ] ]. - self expectChar: delimiter. - ^ result \ No newline at end of file + | result delimiter | + delimiter := readStream next. + (delimiter = $' or: [ delimiter = $" ]) + ifFalse: [ self error: ''' or " expected' ]. + result := self + stringStreamContents: [ :stream | [ readStream atEnd or: [ readStream peek = delimiter ] ] whileFalse: [ stream nextPut: self parseCharacter ] ]. + self expectChar: delimiter. + ^ result decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-Core.package/STONWriter.class/instance/encodeString..st b/repository/STON-Core.package/STONWriter.class/instance/encodeString..st index 84ee2f4..846066f 100644 --- a/repository/STON-Core.package/STONWriter.class/instance/encodeString..st +++ b/repository/STON-Core.package/STONWriter.class/instance/encodeString..st @@ -1,6 +1,15 @@ private encodeString: string - writeStream nextPut: (jsonMode ifTrue: [ $" ] ifFalse: [ $' ]). - string do: [ :each | - self encodeCharacter: each ]. - writeStream nextPut: (jsonMode ifTrue: [ $" ] ifFalse: [ $' ]). \ No newline at end of file + | encodedString | + encodedString := string encodeAsUTF8intoString. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]). + encodedString do: [ :each | self encodeCharacter: each ]. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]) \ No newline at end of file From 2285e275db25a828d528ceb1a92cd75df29c8b84 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Wed, 24 Jun 2015 16:49:14 -0700 Subject: [PATCH 04/15] Issue #6 add STON class>>fromUTF8: and STON class>>toUTF8: --- .../STON.class/class/fromString..st | 2 +- .../STON.class/class/fromUTF8..st | 3 ++ .../STON.class/class/toJsonString..st | 3 +- .../STON.class/class/toJsonStringPretty..st | 4 +-- .../STON.class/class/toString..st | 3 +- .../STON.class/class/toStringPretty..st | 3 +- .../STON.class/class/toUTF8..st | 3 ++ .../STON.class/methodProperties.json | 15 +++++--- .../instance/parseCharacter.st | 36 +++++++++---------- .../instance/parseCharacterHex.st | 9 +++-- .../instance/parseStringInternal.st | 4 ++- .../STONReader.class/methodProperties.json | 6 ++-- .../instance/encodeCharacter..st | 19 +++++----- .../STONWriter.class/methodProperties.json | 4 +-- .../STON-Core.package/monticello.meta/version | 2 +- 15 files changed, 63 insertions(+), 53 deletions(-) create mode 100644 repository/STON-Core.package/STON.class/class/fromUTF8..st create mode 100644 repository/STON-Core.package/STON.class/class/toUTF8..st diff --git a/repository/STON-Core.package/STON.class/class/fromString..st b/repository/STON-Core.package/STON.class/class/fromString..st index 979bac9..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 @@ 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/fromUTF8..st b/repository/STON-Core.package/STON.class/class/fromUTF8..st new file mode 100644 index 0000000..9dcb662 --- /dev/null +++ b/repository/STON-Core.package/STON.class/class/fromUTF8..st @@ -0,0 +1,3 @@ +utf8 +fromUTF8: utf8 + ^ self fromString: utf8 decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toJsonString..st b/repository/STON-Core.package/STON.class/class/toJsonString..st index 464e3c0..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 @@ 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 e5865ef..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 @@ 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 c3653b6..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 @@ 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 110215e..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 @@ 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/class/toUTF8..st b/repository/STON-Core.package/STON.class/class/toUTF8..st new file mode 100644 index 0000000..e2a693c --- /dev/null +++ b/repository/STON-Core.package/STON.class/class/toUTF8..st @@ -0,0 +1,3 @@ +utf8 +toUTF8: object + ^ (self toString: object) encodeAsUTF8 \ 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..38d9ccf 100644 --- a/repository/STON-Core.package/STON.class/methodProperties.json +++ b/repository/STON-Core.package/STON.class/methodProperties.json @@ -1,7 +1,9 @@ { "class" : { "fromStream:" : "SvenVanCaekenberghe 1/24/2012 09:39", - "fromString:" : "SvenVanCaekenberghe 1/24/2012 09:40", + "fromString:" : "dkh 06/22/2015 14:51", + "fromUTF8:" : "dkh 06/22/2015 14:49", + "fromUTF8EncodedString:" : "dkh 06/22/2015 16:33", "jsonWriter" : "SvenVanCaekenberghe 5/15/2012 09:32", "listClass" : "SvenVanCaekenberghe 1/24/2012 09:36", "mapClass" : "SvenVanCaekenberghe 1/24/2012 09:36", @@ -10,10 +12,13 @@ "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", + "toUTF8:" : "dkh 06/22/2015 14:50", + "toUTF8EncodedString:" : "dkh 06/22/2015 16:34", + "toUTF8EncodedStringPretty:" : "dkh 06/23/2015 10:23:26", "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..8df0330 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 diff --git a/repository/STON-Core.package/STONReader.class/methodProperties.json b/repository/STON-Core.package/STONReader.class/methodProperties.json index c72484c..ac4266c 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/22/2015 16:31", "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/encodeCharacter..st b/repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st index d8dcc8d..51d9dda 100644 --- a/repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st +++ b/repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st @@ -1,11 +1,12 @@ 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 nextPutAll: '\u'. - writeStream nextPutAll: (code printPaddedWith: $0 to: 4 base: 16) ] \ No newline at end of file + | 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/methodProperties.json b/repository/STON-Core.package/STONWriter.class/methodProperties.json index f5fc846..eccb971 100644 --- a/repository/STON-Core.package/STONWriter.class/methodProperties.json +++ b/repository/STON-Core.package/STONWriter.class/methodProperties.json @@ -7,11 +7,11 @@ "on:" : "SvenVanCaekenberghe 1/14/2012 15:48" }, "instance" : { "close" : "SvenVanCaekenberghe 1/14/2012 15:37", - "encodeCharacter:" : "SvenVanCaekenberghe 4/29/2012 12:23:33", + "encodeCharacter:" : "dkh 06/24/2015 15:41", "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/22/2015 13:40", "indentedDo:" : "SvenVanCaekenberghe 1/23/2012 11:12", "initialize" : "SvenVanCaekenberghe 3/7/2013 10:38", "isSimpleSymbol:" : "SvenVanCaekenberghe 4/15/2014 13:35", diff --git a/repository/STON-Core.package/monticello.meta/version b/repository/STON-Core.package/monticello.meta/version index 27e4039..818d1c9 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.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 ()) \ No newline at end of file From b27abeb9c32f85ef8287c6acfce96a10943d770c Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 14:19:21 -0700 Subject: [PATCH 05/15] 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. --- .../instance/baseline..st | 21 +++++++++++-------- .../methodProperties.json | 2 +- .../monticello.meta/version | 2 +- .../class/fromUTF8EncodedString..st | 5 ----- .../STON.class/class/toUTF8EncodedString..st | 5 ----- .../class/toUTF8EncodedStringPretty..st | 5 ----- .../STON.class/methodProperties.json | 5 ----- .../STON-Core.package/monticello.meta/version | 2 +- repository/STON-Pharo-Core.package/.filetree | 4 ++++ .../monticello.meta/initializers.st | 0 .../monticello.meta/package | 1 + .../monticello.meta/version | 1 + .../STON-Pharo-Core.package/properties.json | 2 ++ .../class/shouldInheritSelectors.st | 5 +++++ .../instance/testWhitespace.st | 12 +++++++---- .../methodProperties.json | 4 ++-- .../class/shouldInheritSelectors.st | 5 +++++ .../methodProperties.json | 2 +- .../monticello.meta/version | 2 +- repository/STON-UTF8-Core.package/.filetree | 4 ++++ .../STON.extension}/class/fromUTF8..st | 2 +- .../class/fromUTF8EncodedString..st | 3 +++ .../class/put.onStreamUtf8Encoded..st | 6 ++++++ .../STON.extension}/class/toUTF8..st | 2 +- .../class/toUTF8EncodedString..st | 3 +++ .../class/toUTF8EncodedStringPretty..st | 3 +++ .../STON.extension/methodProperties.json | 10 +++++++++ .../STON.extension/properties.json | 2 ++ .../STON051Reader.class/README.md | 0 .../instance/parseStringInternal.st | 14 +++++++++++++ .../STON051Reader.class/methodProperties.json | 5 +++++ .../STON051Reader.class/properties.json | 14 +++++++++++++ .../STON051Writer.class/README.md | 0 .../instance/encodeString..st | 17 +++++++++++++++ .../STON051Writer.class/methodProperties.json | 5 +++++ .../STON051Writer.class/properties.json | 14 +++++++++++++ .../STON091Reader.class/README.md | 0 .../instance/encounteredHexCharacter..st | 4 ++++ .../instance/encounteredHexCharacter.st | 4 ++++ .../instance/parseCharacterHex.st | 4 ++++ .../instance/parseStringInternal.st | 15 +++++++++++++ .../STON091Reader.class/methodProperties.json | 8 +++++++ .../STON091Reader.class/properties.json | 14 +++++++++++++ .../STON091Writer.class/README.md | 0 .../instance/encodeCharacter..st | 10 +++++++++ .../STON091Writer.class/methodProperties.json | 5 +++++ .../STON091Writer.class/properties.json | 14 +++++++++++++ .../STONUtf8Reader.class/README.md | 0 .../instance/parseCharacterHex.st | 5 +++++ .../instance/parseStringInternal.st | 14 +++++++++++++ .../methodProperties.json | 6 ++++++ .../STONUtf8Reader.class/properties.json | 14 +++++++++++++ .../STONUtf8Writer.class/README.md | 0 .../instance/encodeCharacter..st | 10 +++++++++ .../methodProperties.json | 5 +++++ .../STONUtf8Writer.class/properties.json | 14 +++++++++++++ .../monticello.meta/categories.st | 1 + .../monticello.meta/initializers.st | 0 .../monticello.meta/package | 1 + .../monticello.meta/version | 1 + .../STON-UTF8-Core.package/properties.json | 2 ++ repository/STON-UTF8-Tests.package/.filetree | 4 ++++ .../STON051ReaderTests.class/README.md | 0 .../instance/materialize..st | 3 +++ .../instance/testJsonString.st | 19 +++++++++++++++++ .../instance/testString.st | 17 +++++++++++++++ .../methodProperties.json | 7 +++++++ .../STON051ReaderTests.class/properties.json | 14 +++++++++++++ .../STON051WriterTests.class/README.md | 0 .../instance/serialize..st | 6 ++++++ .../instance/testDoubleQuotedString.st | 17 +++++++++++++++ .../instance/testString.st | 17 +++++++++++++++ .../methodProperties.json | 7 +++++++ .../STON051WriterTests.class/properties.json | 14 +++++++++++++ .../STON091ReaderTests.class/README.md | 0 .../instance/materialize..st | 3 +++ .../instance/testJsonString.st | 19 +++++++++++++++++ .../instance/testString.st | 17 +++++++++++++++ .../methodProperties.json | 7 +++++++ .../STON091ReaderTests.class/properties.json | 14 +++++++++++++ .../STON091WriterTests.class/README.md | 0 .../instance/serialize..st | 6 ++++++ .../instance/testDoubleQuotedString.st | 17 +++++++++++++++ .../instance/testString.st | 17 +++++++++++++++ .../methodProperties.json | 7 +++++++ .../STON091WriterTests.class/properties.json | 14 +++++++++++++ .../STONUtf8ReaderTests.class/README.md | 0 .../instance/materialize..st | 3 +++ .../instance/testJsonString.st | 20 ++++++++++++++++++ .../instance/testString.st | 18 ++++++++++++++++ .../methodProperties.json | 7 +++++++ .../STONUtf8ReaderTests.class/properties.json | 14 +++++++++++++ .../STONUtf8WriterTests.class/README.md | 0 .../instance/serialize..st | 6 ++++++ .../instance/testDoubleQuotedString.st | 17 +++++++++++++++ .../instance/testString.st | 17 +++++++++++++++ .../methodProperties.json | 7 +++++++ .../STONUtf8WriterTests.class/properties.json | 14 +++++++++++++ .../monticello.meta/categories.st | 1 + .../monticello.meta/initializers.st | 0 .../monticello.meta/package | 1 + .../monticello.meta/version | 1 + .../STON-UTF8-Tests.package/properties.json | 2 ++ 103 files changed, 672 insertions(+), 42 deletions(-) delete mode 100644 repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st delete mode 100644 repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st delete mode 100644 repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st create mode 100644 repository/STON-Pharo-Core.package/.filetree create mode 100644 repository/STON-Pharo-Core.package/monticello.meta/initializers.st create mode 100644 repository/STON-Pharo-Core.package/monticello.meta/package create mode 100644 repository/STON-Pharo-Core.package/monticello.meta/version create mode 100644 repository/STON-Pharo-Core.package/properties.json create mode 100644 repository/STON-Tests.package/STONReaderTests.class/class/shouldInheritSelectors.st create mode 100644 repository/STON-Tests.package/STONWriterTests.class/class/shouldInheritSelectors.st create mode 100644 repository/STON-UTF8-Core.package/.filetree rename repository/{STON-Core.package/STON.class => STON-UTF8-Core.package/STON.extension}/class/fromUTF8..st (77%) create mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st create mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st rename repository/{STON-Core.package/STON.class => STON-UTF8-Core.package/STON.extension}/class/toUTF8..st (77%) create mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st create mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st create mode 100644 repository/STON-UTF8-Core.package/STON.extension/methodProperties.json create mode 100644 repository/STON-UTF8-Core.package/STON.extension/properties.json create mode 100644 repository/STON-UTF8-Core.package/STON051Reader.class/README.md create mode 100644 repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st create mode 100644 repository/STON-UTF8-Core.package/STON051Reader.class/methodProperties.json create mode 100644 repository/STON-UTF8-Core.package/STON051Reader.class/properties.json create mode 100644 repository/STON-UTF8-Core.package/STON051Writer.class/README.md create mode 100644 repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st create mode 100644 repository/STON-UTF8-Core.package/STON051Writer.class/methodProperties.json create mode 100644 repository/STON-UTF8-Core.package/STON051Writer.class/properties.json create mode 100644 repository/STON-UTF8-Core.package/STON091Reader.class/README.md create mode 100644 repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter..st create mode 100644 repository/STON-UTF8-Core.package/STON091Reader.class/instance/encounteredHexCharacter.st create mode 100644 repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseCharacterHex.st create mode 100644 repository/STON-UTF8-Core.package/STON091Reader.class/instance/parseStringInternal.st create mode 100644 repository/STON-UTF8-Core.package/STON091Reader.class/methodProperties.json create mode 100644 repository/STON-UTF8-Core.package/STON091Reader.class/properties.json create mode 100644 repository/STON-UTF8-Core.package/STON091Writer.class/README.md create mode 100644 repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeCharacter..st create mode 100644 repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json create mode 100644 repository/STON-UTF8-Core.package/STON091Writer.class/properties.json create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Reader.class/README.md create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseCharacterHex.st create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseStringInternal.st create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Reader.class/methodProperties.json create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Reader.class/properties.json create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Writer.class/README.md create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeCharacter..st create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Writer.class/properties.json create mode 100644 repository/STON-UTF8-Core.package/monticello.meta/categories.st create mode 100644 repository/STON-UTF8-Core.package/monticello.meta/initializers.st create mode 100644 repository/STON-UTF8-Core.package/monticello.meta/package create mode 100644 repository/STON-UTF8-Core.package/monticello.meta/version create mode 100644 repository/STON-UTF8-Core.package/properties.json create mode 100644 repository/STON-UTF8-Tests.package/.filetree create mode 100644 repository/STON-UTF8-Tests.package/STON051ReaderTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/materialize..st create mode 100644 repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testJsonString.st create mode 100644 repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st create mode 100644 repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STON051ReaderTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/serialize..st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testDoubleQuotedString.st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STON091ReaderTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/materialize..st create mode 100644 repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testJsonString.st create mode 100644 repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st create mode 100644 repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STON091ReaderTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testDoubleQuotedString.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/materialize..st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testJsonString.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testDoubleQuotedString.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/monticello.meta/categories.st create mode 100644 repository/STON-UTF8-Tests.package/monticello.meta/initializers.st create mode 100644 repository/STON-UTF8-Tests.package/monticello.meta/package create mode 100644 repository/STON-UTF8-Tests.package/monticello.meta/version create mode 100644 repository/STON-UTF8-Tests.package/properties.json diff --git a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st index fbf89af..6de18b8 100644 --- a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st +++ b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st @@ -4,19 +4,22 @@ 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') ]; 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..40d01a9 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 14:09" } } diff --git a/repository/BaselineOfSton.package/monticello.meta/version b/repository/BaselineOfSton.package/monticello.meta/version index d6f94ad..cb1e94e 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.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 ()) \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st b/repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st deleted file mode 100644 index d413e1f..0000000 --- a/repository/STON-Core.package/STON.class/class/fromUTF8EncodedString..st +++ /dev/null @@ -1,5 +0,0 @@ -utf8 -fromUTF8EncodedString: utf8EncodedString - ^ true - ifTrue: [ self fromString: utf8EncodedString ] - ifFalse: [ self fromString: utf8EncodedString decodeFromUTF8 ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st b/repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st deleted file mode 100644 index 4974dd0..0000000 --- a/repository/STON-Core.package/STON.class/class/toUTF8EncodedString..st +++ /dev/null @@ -1,5 +0,0 @@ -utf8 -toUTF8EncodedString: object - ^ true - ifTrue: [ self toString: object ] - ifFalse: [ (self toString: object) encodeAsUTF8intoString ] \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st b/repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st deleted file mode 100644 index ceeb210..0000000 --- a/repository/STON-Core.package/STON.class/class/toUTF8EncodedStringPretty..st +++ /dev/null @@ -1,5 +0,0 @@ -utf8 -toUTF8EncodedStringPretty: object - ^ true - ifTrue: [ self toStringPretty: object ] - ifFalse: [ (self toStringPretty: object) encodeAsUTF8intoString ] \ 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 38d9ccf..f846d0c 100644 --- a/repository/STON-Core.package/STON.class/methodProperties.json +++ b/repository/STON-Core.package/STON.class/methodProperties.json @@ -2,8 +2,6 @@ "class" : { "fromStream:" : "SvenVanCaekenberghe 1/24/2012 09:39", "fromString:" : "dkh 06/22/2015 14:51", - "fromUTF8:" : "dkh 06/22/2015 14:49", - "fromUTF8EncodedString:" : "dkh 06/22/2015 16:33", "jsonWriter" : "SvenVanCaekenberghe 5/15/2012 09:32", "listClass" : "SvenVanCaekenberghe 1/24/2012 09:36", "mapClass" : "SvenVanCaekenberghe 1/24/2012 09:36", @@ -16,9 +14,6 @@ "toJsonStringPretty:" : "dkh 06/22/2015 14:48", "toString:" : "dkh 06/22/2015 14:51", "toStringPretty:" : "dkh 06/22/2015 14:51", - "toUTF8:" : "dkh 06/22/2015 14:50", - "toUTF8EncodedString:" : "dkh 06/22/2015 16:34", - "toUTF8EncodedStringPretty:" : "dkh 06/23/2015 10:23:26", "writer" : "SvenVanCaekenberghe 1/24/2012 09:37" }, "instance" : { } } diff --git a/repository/STON-Core.package/monticello.meta/version b/repository/STON-Core.package/monticello.meta/version index 818d1c9..f618fb6 100644 --- a/repository/STON-Core.package/monticello.meta/version +++ b/repository/STON-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file 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/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..2e1542e --- /dev/null +++ b/repository/STON-Pharo-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'STON-Pharo-Core-dkh.1' message 'create the package' id '76d8fddf-7966-49b2-bc0d-53b46ceba77b' date '06/26/2015' time '14:11:27' author 'dkh' ancestors () 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-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/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/methodProperties.json b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json index e941092..ce795ad 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", @@ -33,4 +33,4 @@ "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" } } 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/methodProperties.json b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json index ceef610..40f7a65 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json @@ -1,6 +1,6 @@ { "class" : { - }, + "shouldInheritSelectors" : "dkh 06/26/2015 11:37" }, "instance" : { "materialize:" : "dkh 10/26/2013 09:03", "serialize:" : "SvenVanCaekenberghe 5/5/2012 20:06", diff --git a/repository/STON-Tests.package/monticello.meta/version b/repository/STON-Tests.package/monticello.meta/version index 02eafde..13d4246 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.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 ()) \ 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-Core.package/STON.class/class/fromUTF8..st b/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8..st similarity index 77% rename from repository/STON-Core.package/STON.class/class/fromUTF8..st rename to repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8..st index 9dcb662..4ffaf7a 100644 --- a/repository/STON-Core.package/STON.class/class/fromUTF8..st +++ b/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8..st @@ -1,3 +1,3 @@ -utf8 +*ston-utf8-core fromUTF8: utf8 ^ self fromString: utf8 decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st b/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st new file mode 100644 index 0000000..ed00c5b --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st @@ -0,0 +1,3 @@ +*ston-utf8-core +fromUTF8EncodedString: utf8EncodedString + ^ self fromString: utf8EncodedString decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st b/repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st new file mode 100644 index 0000000..a9c31ba --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st @@ -0,0 +1,6 @@ +*ston-utf8-core +put: object onStreamUtf8Encoded: stream + | unencodedStream | + unencodedStream := WriteStream on: String new. + (self writer on: unencodedStream) nextPut: object. + stream nextPutAll: unencodedStream contents encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-Core.package/STON.class/class/toUTF8..st b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8..st similarity index 77% rename from repository/STON-Core.package/STON.class/class/toUTF8..st rename to repository/STON-UTF8-Core.package/STON.extension/class/toUTF8..st index e2a693c..bdf50a5 100644 --- a/repository/STON-Core.package/STON.class/class/toUTF8..st +++ b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8..st @@ -1,3 +1,3 @@ -utf8 +*ston-utf8-core toUTF8: object ^ (self toString: object) encodeAsUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st new file mode 100644 index 0000000..566173b --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st @@ -0,0 +1,3 @@ +*ston-utf8-core +toUTF8EncodedString: object + ^ (self toString: object) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st new file mode 100644 index 0000000..4ccdea3 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st @@ -0,0 +1,3 @@ +*ston-utf8-core +toUTF8EncodedStringPretty: object + ^ (self toStringPretty: object) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/methodProperties.json b/repository/STON-UTF8-Core.package/STON.extension/methodProperties.json new file mode 100644 index 0000000..aff7e6c --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON.extension/methodProperties.json @@ -0,0 +1,10 @@ +{ + "class" : { + "fromUTF8:" : "dkh 06/22/2015 14:49", + "fromUTF8EncodedString:" : "dkh 06/26/2015 11:21", + "put:onStreamUtf8Encoded:" : "dkh 06/26/2015 11:25", + "toUTF8:" : "dkh 06/22/2015 14:50", + "toUTF8EncodedString:" : "dkh 06/26/2015 11:21", + "toUTF8EncodedStringPretty:" : "dkh 06/26/2015 11:21" }, + "instance" : { + } } diff --git a/repository/STON-UTF8-Core.package/STON.extension/properties.json b/repository/STON-UTF8-Core.package/STON.extension/properties.json new file mode 100644 index 0000000..c00d317 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "STON" } 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..4fa142e --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st @@ -0,0 +1,14 @@ +parsing-internal +parseStringInternal + "don't use super until STONReader fixed" + + | result delimiter | + delimiter := readStream next. + (delimiter = $' or: [ delimiter = $" ]) + ifFalse: [ self error: ''' or " expected' ]. + result := self + stringStreamContents: [ :stream | + [ readStream atEnd or: [ readStream peek = delimiter ] ] + whileFalse: [ stream nextPut: self parseCharacter ] ]. + self expectChar: delimiter. + ^ result 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..208c30b --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Reader.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "parseStringInternal" : "dkh 06/26/2015 12:50" } } 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..b0412c0 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st @@ -0,0 +1,17 @@ +private +encodeString: string + "don't use super until encodeAsUTF8intoString removed from super method" + + | encodedString | + encodedString := string encodeAsUTF8intoString. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]). + encodedString do: [ :each | self encodeCharacter: each ]. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]) \ 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..c5f2834 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON051Writer.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "encodeString:" : "dkh 06/26/2015 12:30" } } 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/instance/parseStringInternal.st b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseStringInternal.st new file mode 100644 index 0000000..709f3b9 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseStringInternal.st @@ -0,0 +1,14 @@ +parsing-internal +parseStringInternal + "remove once STONReader>>parseStringInternal is fixed" + + | result delimiter | + delimiter := readStream next. + (delimiter = $' or: [ delimiter = $" ]) + ifFalse: [ self error: ''' or " expected' ]. + result := self + stringStreamContents: [ :stream | + [ readStream atEnd or: [ readStream peek = delimiter ] ] + whileFalse: [ stream nextPut: self parseCharacter ] ]. + self expectChar: delimiter. + ^ result \ 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..ea4d9a6 --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "parseCharacterHex" : "dkh 06/26/2015 12:21", + "parseStringInternal" : "dkh 06/26/2015 12:49" } } 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..405324c --- /dev/null +++ b/repository/STON-UTF8-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(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 ()) \ 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..3fd1b15 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st @@ -0,0 +1,17 @@ +tests +testString + | 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/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json new file mode 100644 index 0000000..8bbc41a --- /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/26/2015 11:42" } } 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/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/serialize..st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/serialize..st new file mode 100644 index 0000000..0f86f76 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/serialize..st @@ -0,0 +1,6 @@ +private +serialize: anObject + ^ String streamContents: [ :stream | + STON writer + on: stream; + nextPut: anObject ] \ 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..6a5d968 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st @@ -0,0 +1,17 @@ +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'''. + 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/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json new file mode 100644 index 0000000..fe377f3 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "serialize:" : "dkh 06/26/2015 11:39", + "testDoubleQuotedString" : "dkh 06/26/2015 11:41", + "testString" : "dkh 06/26/2015 11:39" } } 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/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..3fd1b15 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st @@ -0,0 +1,17 @@ +tests +testString + | 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/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json new file mode 100644 index 0000000..8bbc41a --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.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/26/2015 11:42" } } 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/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/serialize..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st new file mode 100644 index 0000000..0f86f76 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st @@ -0,0 +1,6 @@ +private +serialize: anObject + ^ String streamContents: [ :stream | + STON writer + on: stream; + nextPut: anObject ] \ 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..fb1e8a5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.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/STON091WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st new file mode 100644 index 0000000..6a5d968 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st @@ -0,0 +1,17 @@ +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'''. + 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/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json new file mode 100644 index 0000000..fe377f3 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "serialize:" : "dkh 06/26/2015 11:39", + "testDoubleQuotedString" : "dkh 06/26/2015 11:41", + "testString" : "dkh 06/26/2015 11:39" } } 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..cc7563c --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st @@ -0,0 +1,18 @@ +tests +testString + | 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/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json new file mode 100644 index 0000000..2a1762a --- /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/26/2015 12:45" } } 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/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/serialize..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st new file mode 100644 index 0000000..0f86f76 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st @@ -0,0 +1,6 @@ +private +serialize: anObject + ^ String streamContents: [ :stream | + STON writer + on: stream; + nextPut: anObject ] \ 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..fb1e8a5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.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/STONUtf8WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st new file mode 100644 index 0000000..6a5d968 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st @@ -0,0 +1,17 @@ +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'''. + 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/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json new file mode 100644 index 0000000..fe377f3 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "serialize:" : "dkh 06/26/2015 11:39", + "testDoubleQuotedString" : "dkh 06/26/2015 11:41", + "testString" : "dkh 06/26/2015 11:39" } } 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..234f79d --- /dev/null +++ b/repository/STON-UTF8-Tests.package/monticello.meta/version @@ -0,0 +1 @@ +(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 ()) \ 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 @@ +{ + } From f3c8735c1906e68796067b32ec61795ccb2c098a Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 14:57:32 -0700 Subject: [PATCH 06/15] Issue #6: split out platform-specific methods for pharo and gemstone --- .../BaselineOfSton.class/instance/baseline..st | 7 +++++++ .../BaselineOfSton.class/methodProperties.json | 2 +- .../BaselineOfSton.package/monticello.meta/version | 2 +- .../instance/stonProcessSubObjects..st | 2 -- .../methodProperties.json | 6 ------ .../Date.extension/methodProperties.json | 2 +- .../DateAndTime.extension/methodProperties.json | 3 +-- .../Object.extension/methodProperties.json | 1 - .../STONWriter.class/methodProperties.json | 1 - repository/STON-Core.package/monticello.meta/version | 2 +- repository/STON-GemStone-Core.package/.filetree | 4 ++++ .../AbstractDictionary.extension/class/fromSton..st | 10 ++++++++++ .../AbstractDictionary.extension/instance/stonOn..st | 12 ++++++++++++ .../instance/stonProcessSubObjects..st | 2 +- .../methodProperties.json | 0 .../AbstractDictionary.extension/properties.json | 0 .../instance/stonContainSubObjects.st | 3 +++ .../instance/stonOn..st | 2 +- .../methodProperties.json | 6 ++++++ .../CharacterCollection.extension/properties.json | 0 .../instance/stonContainSubObjects.st | 2 +- .../CollisionBucket.extension/methodProperties.json | 0 .../CollisionBucket.extension/properties.json | 0 .../Date.extension/class/fromSton..st | 2 +- .../Date.extension/methodProperties.json | 5 +++++ .../Date.extension/properties.json | 2 ++ .../DateAndTime.extension/instance/stonOn..st | 2 +- .../DateAndTime.extension/methodProperties.json | 5 +++++ .../DateAndTime.extension/properties.json | 2 ++ .../instance/decodeFromUTF8.st | 2 +- .../DoubleByteString.extension/methodProperties.json | 0 .../DoubleByteString.extension/properties.json | 0 .../instance/stonProcessSubObjects..st | 2 +- .../Object.extension/methodProperties.json | 5 +++++ .../Object.extension/properties.json | 2 ++ .../STONWriter.extension}/instance/writeFloat..st | 2 +- .../STONWriter.extension/methodProperties.json | 5 +++++ .../STONWriter.extension/properties.json | 2 ++ .../TimeStamp.extension/class/fromSton..st | 2 +- .../TimeStamp.extension/instance/stonOn..st | 2 +- .../TimeStamp.extension/methodProperties.json | 0 .../TimeStamp.extension/properties.json | 0 .../instance/stonProcessSubObjects..st | 2 +- .../methodProperties.json | 0 .../UnorderedCollection.extension/properties.json | 0 .../monticello.meta/initializers.st | 0 .../monticello.meta/package | 1 + .../monticello.meta/version | 1 + .../STON-GemStone-Core.package/properties.json | 2 ++ .../Date.extension/class/fromSton..st | 3 +++ .../Date.extension/methodProperties.json | 5 +++++ .../Date.extension/properties.json | 2 ++ .../DateAndTime.extension/instance/stonOn..st | 7 +++++++ .../DateAndTime.extension/methodProperties.json | 5 +++++ .../DateAndTime.extension/properties.json | 2 ++ .../Dictionary.extension}/class/fromSton..st | 2 +- .../Dictionary.extension}/instance/stonOn..st | 2 +- .../Dictionary.extension/methodProperties.json | 5 +++++ .../Dictionary.extension/properties.json | 2 ++ .../instance/stonProcessSubObjects..st | 12 ++++++++++++ .../Object.extension/methodProperties.json | 5 +++++ .../Object.extension/properties.json | 2 ++ .../STONWriter.extension/instance/writeFloat..st | 3 +++ .../STONWriter.extension/methodProperties.json | 5 +++++ .../STONWriter.extension/properties.json | 2 ++ .../String.extension/instance/decodeFromUTF8.st | 3 +++ .../instance/encodeAsUTF8intoString.st | 3 +++ .../String.extension/methodProperties.json | 6 ++++++ .../String.extension/properties.json | 2 ++ .../TimeStamp.extension/class/fromSton..st | 5 +++++ .../TimeStamp.extension/methodProperties.json | 5 +++++ .../TimeStamp.extension/properties.json | 2 ++ .../monticello.meta/categories.st | 1 + .../STON-Pharo-Core.package/monticello.meta/version | 2 +- 74 files changed, 180 insertions(+), 30 deletions(-) delete mode 100644 repository/STON-Core.package/CharacterCollection.extension/instance/stonProcessSubObjects..st delete mode 100644 repository/STON-Core.package/CharacterCollection.extension/methodProperties.json create mode 100644 repository/STON-GemStone-Core.package/.filetree create mode 100644 repository/STON-GemStone-Core.package/AbstractDictionary.extension/class/fromSton..st create mode 100644 repository/STON-GemStone-Core.package/AbstractDictionary.extension/instance/stonOn..st rename repository/{STON-Core.package => STON-GemStone-Core.package}/AbstractDictionary.extension/instance/stonProcessSubObjects..st (96%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/AbstractDictionary.extension/methodProperties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/AbstractDictionary.extension/properties.json (100%) create mode 100644 repository/STON-GemStone-Core.package/CharacterCollection.extension/instance/stonContainSubObjects.st rename repository/{STON-Core.package => STON-GemStone-Core.package}/CharacterCollection.extension/instance/stonOn..st (70%) create mode 100644 repository/STON-GemStone-Core.package/CharacterCollection.extension/methodProperties.json rename repository/{STON-Core.package => STON-GemStone-Core.package}/CharacterCollection.extension/properties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/CollisionBucket.extension/instance/stonContainSubObjects.st (60%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/CollisionBucket.extension/methodProperties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/CollisionBucket.extension/properties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/Date.extension/class/fromSton..st (84%) create mode 100644 repository/STON-GemStone-Core.package/Date.extension/methodProperties.json create mode 100644 repository/STON-GemStone-Core.package/Date.extension/properties.json rename repository/{STON-Core.package => STON-GemStone-Core.package}/DateAndTime.extension/instance/stonOn..st (89%) create mode 100644 repository/STON-GemStone-Core.package/DateAndTime.extension/methodProperties.json create mode 100644 repository/STON-GemStone-Core.package/DateAndTime.extension/properties.json rename repository/{STON-Core.package => STON-GemStone-Core.package}/DoubleByteString.extension/instance/decodeFromUTF8.st (52%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/DoubleByteString.extension/methodProperties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/DoubleByteString.extension/properties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/Object.extension/instance/stonProcessSubObjects..st (96%) create mode 100644 repository/STON-GemStone-Core.package/Object.extension/methodProperties.json create mode 100644 repository/STON-GemStone-Core.package/Object.extension/properties.json rename repository/{STON-Core.package/STONWriter.class => STON-GemStone-Core.package/STONWriter.extension}/instance/writeFloat..st (75%) create mode 100644 repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json create mode 100644 repository/STON-GemStone-Core.package/STONWriter.extension/properties.json rename repository/{STON-Core.package => STON-GemStone-Core.package}/TimeStamp.extension/class/fromSton..st (86%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/TimeStamp.extension/instance/stonOn..st (89%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/TimeStamp.extension/methodProperties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/TimeStamp.extension/properties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/UnorderedCollection.extension/instance/stonProcessSubObjects..st (96%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/UnorderedCollection.extension/methodProperties.json (100%) rename repository/{STON-Core.package => STON-GemStone-Core.package}/UnorderedCollection.extension/properties.json (100%) create mode 100644 repository/STON-GemStone-Core.package/monticello.meta/initializers.st create mode 100644 repository/STON-GemStone-Core.package/monticello.meta/package create mode 100644 repository/STON-GemStone-Core.package/monticello.meta/version create mode 100644 repository/STON-GemStone-Core.package/properties.json create mode 100644 repository/STON-Pharo-Core.package/Date.extension/class/fromSton..st create mode 100644 repository/STON-Pharo-Core.package/Date.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/Date.extension/properties.json create mode 100644 repository/STON-Pharo-Core.package/DateAndTime.extension/instance/stonOn..st create mode 100644 repository/STON-Pharo-Core.package/DateAndTime.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/DateAndTime.extension/properties.json rename repository/{STON-Core.package/AbstractDictionary.extension => STON-Pharo-Core.package/Dictionary.extension}/class/fromSton..st (94%) rename repository/{STON-Core.package/AbstractDictionary.extension => STON-Pharo-Core.package/Dictionary.extension}/instance/stonOn..st (95%) create mode 100644 repository/STON-Pharo-Core.package/Dictionary.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/Dictionary.extension/properties.json create mode 100644 repository/STON-Pharo-Core.package/Object.extension/instance/stonProcessSubObjects..st create mode 100644 repository/STON-Pharo-Core.package/Object.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/Object.extension/properties.json create mode 100644 repository/STON-Pharo-Core.package/STONWriter.extension/instance/writeFloat..st create mode 100644 repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/STONWriter.extension/properties.json create mode 100644 repository/STON-Pharo-Core.package/String.extension/instance/decodeFromUTF8.st create mode 100644 repository/STON-Pharo-Core.package/String.extension/instance/encodeAsUTF8intoString.st create mode 100644 repository/STON-Pharo-Core.package/String.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/String.extension/properties.json create mode 100644 repository/STON-Pharo-Core.package/TimeStamp.extension/class/fromSton..st create mode 100644 repository/STON-Pharo-Core.package/TimeStamp.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/TimeStamp.extension/properties.json create mode 100644 repository/STON-Pharo-Core.package/monticello.meta/categories.st diff --git a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st index 6de18b8..bd7caa8 100644 --- a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st +++ b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st @@ -22,4 +22,11 @@ baseline: spec spec package: 'STON-Core' with: [ spec includes: #('STON-Pharo-Core') ]; package: 'STON-Pharo-Core' with: [ spec requires: #('STON-Core') ]; + yourself ]. + spec + for: #'gemstone' + do: [ + spec + package: 'STON-Core' with: [ spec includes: #('STON-GemStone-Core') ]; + package: 'STON-GemStone-Core' with: [ spec requires: #('STON-Core') ]; 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 40d01a9..3304ddd 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 06/26/2015 14:09" } } + "baseline:" : "dkh 06/26/2015 14:29" } } diff --git a/repository/BaselineOfSton.package/monticello.meta/version b/repository/BaselineOfSton.package/monticello.meta/version index cb1e94e..3848a9c 100644 --- a/repository/BaselineOfSton.package/monticello.meta/version +++ b/repository/BaselineOfSton.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ 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/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/STONWriter.class/methodProperties.json b/repository/STON-Core.package/STONWriter.class/methodProperties.json index eccb971..4e7bc9a 100644 --- a/repository/STON-Core.package/STONWriter.class/methodProperties.json +++ b/repository/STON-Core.package/STONWriter.class/methodProperties.json @@ -30,7 +30,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 f618fb6..25b725d 100644 --- a/repository/STON-Core.package/monticello.meta/version +++ b/repository/STON-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ 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/DoubleByteString.extension/instance/decodeFromUTF8.st b/repository/STON-GemStone-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st similarity index 52% rename from repository/STON-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st rename to repository/STON-GemStone-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st index f5e6259..34d5f31 100644 --- a/repository/STON-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st +++ b/repository/STON-GemStone-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st @@ -1,3 +1,3 @@ -*ston-core +*ston-gemstone-core decodeFromUTF8 ^ self \ No newline at end of file diff --git a/repository/STON-Core.package/DoubleByteString.extension/methodProperties.json b/repository/STON-GemStone-Core.package/DoubleByteString.extension/methodProperties.json similarity index 100% rename from repository/STON-Core.package/DoubleByteString.extension/methodProperties.json rename to repository/STON-GemStone-Core.package/DoubleByteString.extension/methodProperties.json diff --git a/repository/STON-Core.package/DoubleByteString.extension/properties.json b/repository/STON-GemStone-Core.package/DoubleByteString.extension/properties.json similarity index 100% rename from repository/STON-Core.package/DoubleByteString.extension/properties.json rename to repository/STON-GemStone-Core.package/DoubleByteString.extension/properties.json 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-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..8e801c2 --- /dev/null +++ b/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "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..333198d --- /dev/null +++ b/repository/STON-GemStone-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(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 ()) \ 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-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-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..bb13840 --- /dev/null +++ b/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "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/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/version b/repository/STON-Pharo-Core.package/monticello.meta/version index 2e1542e..a28fd13 100644 --- a/repository/STON-Pharo-Core.package/monticello.meta/version +++ b/repository/STON-Pharo-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'STON-Pharo-Core-dkh.1' message 'create the package' id '76d8fddf-7966-49b2-bc0d-53b46ceba77b' date '06/26/2015' time '14:11:27' author 'dkh' ancestors () stepChildren ()) \ No newline at end of file +(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 ()) \ No newline at end of file From a9a7bb54fac4750ad3829a96a9b98ac94ae2e2aa Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 15:03:12 -0700 Subject: [PATCH 07/15] Issue #6: push a few more methods around --- .../STONWriter.class/methodProperties.json | 1 - repository/STON-Core.package/monticello.meta/version | 2 +- .../instance/encodeCharacter..st | 2 +- .../STONWriter.extension/methodProperties.json | 1 + .../monticello.meta/version | 2 +- .../STONWriter.extension/instance/encodeCharacter..st | 11 +++++++++++ .../STONWriter.extension/methodProperties.json | 1 + .../SmallDictionary.extension/class/fromSton..st | 9 +++++++++ .../SmallDictionary.extension/instance/stonOn..st | 7 +++++++ .../SmallDictionary.extension/methodProperties.json | 5 +++++ .../SmallDictionary.extension/properties.json | 2 ++ .../STON-Pharo-Core.package/monticello.meta/version | 2 +- 12 files changed, 40 insertions(+), 5 deletions(-) rename repository/{STON-Core.package/STONWriter.class => STON-GemStone-Core.package/STONWriter.extension}/instance/encodeCharacter..st (95%) create mode 100644 repository/STON-Pharo-Core.package/STONWriter.extension/instance/encodeCharacter..st create mode 100644 repository/STON-Pharo-Core.package/SmallDictionary.extension/class/fromSton..st create mode 100644 repository/STON-Pharo-Core.package/SmallDictionary.extension/instance/stonOn..st create mode 100644 repository/STON-Pharo-Core.package/SmallDictionary.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Core.package/SmallDictionary.extension/properties.json diff --git a/repository/STON-Core.package/STONWriter.class/methodProperties.json b/repository/STON-Core.package/STONWriter.class/methodProperties.json index 4e7bc9a..3782ec1 100644 --- a/repository/STON-Core.package/STONWriter.class/methodProperties.json +++ b/repository/STON-Core.package/STONWriter.class/methodProperties.json @@ -7,7 +7,6 @@ "on:" : "SvenVanCaekenberghe 1/14/2012 15:48" }, "instance" : { "close" : "SvenVanCaekenberghe 1/14/2012 15:37", - "encodeCharacter:" : "dkh 06/24/2015 15:41", "encodeKey:value:" : "SvenVanCaekenberghe 1/23/2012 11:32", "encodeList:" : "SvenVanCaekenberghe 5/5/2012 16:56", "encodeMap:" : "SvenVanCaekenberghe 5/5/2012 16:56", diff --git a/repository/STON-Core.package/monticello.meta/version b/repository/STON-Core.package/monticello.meta/version index 25b725d..3824a7c 100644 --- a/repository/STON-Core.package/monticello.meta/version +++ b/repository/STON-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file diff --git a/repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st b/repository/STON-GemStone-Core.package/STONWriter.extension/instance/encodeCharacter..st similarity index 95% rename from repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st rename to repository/STON-GemStone-Core.package/STONWriter.extension/instance/encodeCharacter..st index 51d9dda..d58224e 100644 --- a/repository/STON-Core.package/STONWriter.class/instance/encodeCharacter..st +++ b/repository/STON-GemStone-Core.package/STONWriter.extension/instance/encodeCharacter..st @@ -1,4 +1,4 @@ -private +*ston-gemstone-core encodeCharacter: char | code encoding | ((code := char codePoint) < 127 diff --git a/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json b/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json index 8e801c2..98e94e1 100644 --- a/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json +++ b/repository/STON-GemStone-Core.package/STONWriter.extension/methodProperties.json @@ -2,4 +2,5 @@ "class" : { }, "instance" : { + "encodeCharacter:" : "dkh 06/24/2015 15:41", "writeFloat:" : "SvenVanCaekenberghe 1/14/2012 16:05" } } diff --git a/repository/STON-GemStone-Core.package/monticello.meta/version b/repository/STON-GemStone-Core.package/monticello.meta/version index 333198d..0ade20b 100644 --- a/repository/STON-GemStone-Core.package/monticello.meta/version +++ b/repository/STON-GemStone-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file diff --git a/repository/STON-Pharo-Core.package/STONWriter.extension/instance/encodeCharacter..st b/repository/STON-Pharo-Core.package/STONWriter.extension/instance/encodeCharacter..st new file mode 100644 index 0000000..2760966 --- /dev/null +++ b/repository/STON-Pharo-Core.package/STONWriter.extension/instance/encodeCharacter..st @@ -0,0 +1,11 @@ +*STON-Pharo-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'. + code printOn: writeStream base: 16 nDigits: 4 ] diff --git a/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json b/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json index bb13840..02812e8 100644 --- a/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json +++ b/repository/STON-Pharo-Core.package/STONWriter.extension/methodProperties.json @@ -2,4 +2,5 @@ "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/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/monticello.meta/version b/repository/STON-Pharo-Core.package/monticello.meta/version index a28fd13..6dd4cd8 100644 --- a/repository/STON-Pharo-Core.package/monticello.meta/version +++ b/repository/STON-Pharo-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 From 753cdcbb2c019fc3125ee9ac4e458d531acf42e4 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 15:37:35 -0700 Subject: [PATCH 08/15] Issue #6: split out platform-specific tests --- .../instance/baseline..st | 4 +++ .../methodProperties.json | 2 +- .../monticello.meta/version | 2 +- .../STON-GemStone-Tests.package/.filetree | 4 +++ .../instance/testGemStoneCollections.st | 10 +++++++ .../methodProperties.json | 5 ++++ .../properties.json | 2 ++ .../monticello.meta/initializers.st | 0 .../monticello.meta/package | 1 + .../monticello.meta/version | 1 + .../properties.json | 2 ++ repository/STON-Pharo-Tests.package/.filetree | 4 +++ .../instance/testPharoCollections.st | 9 ++++++ .../instance/testSmallDictionary.st | 18 +++++++++++ .../methodProperties.json | 6 ++++ .../properties.json | 2 ++ .../monticello.meta/categories.st | 1 + .../monticello.meta/initializers.st | 0 .../monticello.meta/package | 1 + .../monticello.meta/version | 1 + .../STON-Pharo-Tests.package/properties.json | 2 ++ .../instance/testCollections.st | 30 +++++++++++-------- .../methodProperties.json | 2 +- .../monticello.meta/version | 2 +- 24 files changed, 95 insertions(+), 16 deletions(-) create mode 100644 repository/STON-GemStone-Tests.package/.filetree create mode 100644 repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/instance/testGemStoneCollections.st create mode 100644 repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/methodProperties.json create mode 100644 repository/STON-GemStone-Tests.package/STONWriteReadTests.extension/properties.json create mode 100644 repository/STON-GemStone-Tests.package/monticello.meta/initializers.st create mode 100644 repository/STON-GemStone-Tests.package/monticello.meta/package create mode 100644 repository/STON-GemStone-Tests.package/monticello.meta/version create mode 100644 repository/STON-GemStone-Tests.package/properties.json create mode 100644 repository/STON-Pharo-Tests.package/.filetree create mode 100644 repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testPharoCollections.st create mode 100644 repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/instance/testSmallDictionary.st create mode 100644 repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/methodProperties.json create mode 100644 repository/STON-Pharo-Tests.package/STONWriteReadTests.extension/properties.json create mode 100644 repository/STON-Pharo-Tests.package/monticello.meta/categories.st create mode 100644 repository/STON-Pharo-Tests.package/monticello.meta/initializers.st create mode 100644 repository/STON-Pharo-Tests.package/monticello.meta/package create mode 100644 repository/STON-Pharo-Tests.package/monticello.meta/version create mode 100644 repository/STON-Pharo-Tests.package/properties.json diff --git a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st index bd7caa8..5e54855 100644 --- a/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st +++ b/repository/BaselineOfSton.package/BaselineOfSton.class/instance/baseline..st @@ -22,6 +22,8 @@ baseline: spec 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' @@ -29,4 +31,6 @@ baseline: spec 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 3304ddd..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 06/26/2015 14:29" } } + "baseline:" : "dkh 06/26/2015 15:33" } } diff --git a/repository/BaselineOfSton.package/monticello.meta/version b/repository/BaselineOfSton.package/monticello.meta/version index 3848a9c..772e501 100644 --- a/repository/BaselineOfSton.package/monticello.meta/version +++ b/repository/BaselineOfSton.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ 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-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-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/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/methodProperties.json b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json index bb757e0..b92c0f1 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json @@ -9,7 +9,7 @@ "serializeJson:" : "SvenVanCaekenberghe 5/15/2012 09:33", "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", diff --git a/repository/STON-Tests.package/monticello.meta/version b/repository/STON-Tests.package/monticello.meta/version index 13d4246..cd76171 100644 --- a/repository/STON-Tests.package/monticello.meta/version +++ b/repository/STON-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file From 3e5828bad17c5172ef1ed5e7faa831c24d2ac010 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 15:48:36 -0700 Subject: [PATCH 09/15] Issue #6: update travis artifacts for combined pharo/gemstone branch --- .travis.yml | 7 +++++-- tests/travisCI.st | 53 ++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 48 insertions(+), 12 deletions(-) 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/tests/travisCI.st b/tests/travisCI.st index 76ddb19..5fbe27c 100644 --- a/tests/travisCI.st +++ b/tests/travisCI.st @@ -1,18 +1,51 @@ "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 From 69c2e4876d15ccd2ecd114219e4a690196f13799 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 15:55:19 -0700 Subject: [PATCH 10/15] Issue #6: fix syntax error --- .gitignore | 6 ++++++ tests/travisCI.st | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .gitignore 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/tests/travisCI.st b/tests/travisCI.st index 5fbe27c..84d1780 100644 --- a/tests/travisCI.st +++ b/tests/travisCI.st @@ -1,5 +1,4 @@ "Load and run tests to be performed by TravisCI" -| gitPath | | gitCache gitPath loadBlock | Transcript cr; show: 'travis---->travisCI.st'. From eb9280c80003ac939f9f072bbf90c5df1aa794cb Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 16:57:55 -0700 Subject: [PATCH 11/15] Issue #6: STONReader and STONWriter tests are now passing for all 4 serialization schemes --- .../instance/jsonWriter.st | 5 +++ .../instance/materialize..st | 2 +- .../instance/prettyWriter.st | 5 +++ .../STONWriterTests.class/instance/reader.st | 3 ++ .../instance/serialize..st | 9 +++--- .../instance/serializeJson..st | 9 +++--- .../instance/serializePretty..st | 10 +++--- .../STONWriterTests.class/instance/writer.st | 3 ++ .../methodProperties.json | 14 +++++--- .../monticello.meta/version | 2 +- .../instance/encodeString..st | 17 ++++++++++ .../STON091Writer.class/methodProperties.json | 3 +- .../instance/encodeString..st | 17 ++++++++++ .../methodProperties.json | 3 +- .../monticello.meta/version | 2 +- .../instance/reader.st | 3 ++ .../instance/serialize..st | 6 ---- .../instance/writer.st | 3 ++ .../methodProperties.json | 5 +-- .../instance/materialize..st | 3 ++ .../instance/reader.st | 3 ++ .../instance/serialize..st | 5 +-- .../instance/serializeJson..st | 4 +++ .../instance/serializePretty..st | 3 ++ .../instance/testDoubleQuotedString.st | 32 ++++++++++--------- .../instance/testString.st | 32 ++++++++++--------- .../instance/writer.st | 3 ++ .../methodProperties.json | 11 +++++-- .../instance/materialize..st | 3 ++ .../instance/reader.st | 3 ++ .../instance/serialize..st | 5 +-- .../instance/serializeJson..st | 3 ++ .../instance/serializePretty..st | 3 ++ .../instance/testDoubleQuotedString.st | 32 ++++++++++--------- .../instance/testString.st | 32 ++++++++++--------- .../instance/writer.st | 3 ++ .../methodProperties.json | 11 +++++-- .../monticello.meta/version | 2 +- 38 files changed, 208 insertions(+), 106 deletions(-) create mode 100644 repository/STON-Tests.package/STONWriterTests.class/instance/jsonWriter.st create mode 100644 repository/STON-Tests.package/STONWriterTests.class/instance/prettyWriter.st create mode 100644 repository/STON-Tests.package/STONWriterTests.class/instance/reader.st create mode 100644 repository/STON-Tests.package/STONWriterTests.class/instance/writer.st create mode 100644 repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st create mode 100644 repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/reader.st delete mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/serialize..st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/writer.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/materialize..st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/reader.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/writer.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/materialize..st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/reader.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/writer.st 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..09f8261 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/materialize..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/materialize..st @@ -1,6 +1,6 @@ private materialize: string - ^ STON reader + ^ self reader on: string 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..f738bf5 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st @@ -1,6 +1,7 @@ private serialize: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - nextPut: anObject ] \ No newline at end of file + ^ String + streamContents: [ :stream | + self writer + on: stream; + nextPut: anObject ] \ 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..d443273 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st @@ -1,6 +1,7 @@ private serializeJson: anObject - ^ String streamContents: [ :stream | - STON jsonWriter - on: stream; - nextPut: anObject ] \ No newline at end of file + ^ String + streamContents: [ :stream | + self jsonWriter + on: stream; + nextPut: anObject ] \ 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..e62fa7a 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serializePretty..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serializePretty..st @@ -1,7 +1,7 @@ private serializePretty: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - prettyPrint: true; - nextPut: anObject ] \ No newline at end of file + ^ String + streamContents: [ :stream | + self prettyWriter + on: stream; + nextPut: anObject ] \ 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 40f7a65..ecbb262 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json @@ -2,10 +2,13 @@ "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", + "jsonWriter" : "dkh 06/26/2015 16:26", + "materialize:" : "dkh 06/26/2015 16:29", + "prettyWriter" : "dkh 06/26/2015 16:37", + "reader" : "dkh 06/26/2015 16:30", + "serialize:" : "dkh 06/26/2015 16:25", + "serializeJson:" : "dkh 06/26/2015 16:25", + "serializePretty:" : "dkh 06/26/2015 16:27", "testBoolean" : "SvenVanCaekenberghe 1/14/2012 15:50", "testByteArray" : "dkh 4/29/2012 08:48:15", "testCustomNewline" : "SvenVanCaekenberghe 3/7/2013 10:52", @@ -39,4 +42,5 @@ "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", + "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 cd76171..0413ee4 100644 --- a/repository/STON-Tests.package/monticello.meta/version +++ b/repository/STON-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st b/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st new file mode 100644 index 0000000..4d693ad --- /dev/null +++ b/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st @@ -0,0 +1,17 @@ +private +encodeString: string + "don't use super until encodeAsUTF8intoString removed from super method" + + | encodedString | + encodedString := string. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]). + encodedString do: [ :each | self encodeCharacter: each ]. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]) \ 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 index 05e2696..ee143d0 100644 --- a/repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json +++ b/repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json @@ -2,4 +2,5 @@ "class" : { }, "instance" : { - "encodeCharacter:" : "dkh 06/26/2015 12:29" } } + "encodeCharacter:" : "dkh 06/26/2015 12:29", + "encodeString:" : "dkh 06/26/2015 16:45" } } diff --git a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st new file mode 100644 index 0000000..4d693ad --- /dev/null +++ b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st @@ -0,0 +1,17 @@ +private +encodeString: string + "don't use super until encodeAsUTF8intoString removed from super method" + + | encodedString | + encodedString := string. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]). + encodedString do: [ :each | self encodeCharacter: each ]. + writeStream + nextPut: + (jsonMode + ifTrue: [ $" ] + ifFalse: [ $' ]) \ 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 index aa949fb..aa4d361 100644 --- a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json +++ b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json @@ -2,4 +2,5 @@ "class" : { }, "instance" : { - "encodeCharacter:" : "dkh 06/26/2015 12:32" } } + "encodeCharacter:" : "dkh 06/26/2015 12:32", + "encodeString:" : "dkh 06/26/2015 16:45" } } diff --git a/repository/STON-UTF8-Core.package/monticello.meta/version b/repository/STON-UTF8-Core.package/monticello.meta/version index 405324c..c1fdc46 100644 --- a/repository/STON-UTF8-Core.package/monticello.meta/version +++ b/repository/STON-UTF8-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file 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/serialize..st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/serialize..st deleted file mode 100644 index 0f86f76..0000000 --- a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/serialize..st +++ /dev/null @@ -1,6 +0,0 @@ -private -serialize: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - nextPut: anObject ] \ 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 index fe377f3..3db55c0 100644 --- a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json @@ -2,6 +2,7 @@ "class" : { }, "instance" : { - "serialize:" : "dkh 06/26/2015 11:39", + "reader" : "dkh 06/26/2015 16:31", "testDoubleQuotedString" : "dkh 06/26/2015 11:41", - "testString" : "dkh 06/26/2015 11:39" } } + "testString" : "dkh 06/26/2015 11:39", + "writer" : "dkh 06/26/2015 16:27" } } diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/materialize..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/materialize..st new file mode 100644 index 0000000..b3dedab --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/materialize..st @@ -0,0 +1,3 @@ +private +materialize: aString + ^ super materialize: aString decodeFromUTF8 \ 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/serialize..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st index 0f86f76..ac00678 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st @@ -1,6 +1,3 @@ private serialize: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - nextPut: anObject ] \ No newline at end of file + ^ (super serialize: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st new file mode 100644 index 0000000..dafe3fb --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st @@ -0,0 +1,4 @@ +private +serializeJson: anObject + | x y | + ^ y := (x := super serializeJson: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st new file mode 100644 index 0000000..758129d --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st @@ -0,0 +1,3 @@ +private +serializePretty: anObject + ^ (super serializePretty: anObject) encodeAsUTF8intoString \ 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 index fb1e8a5..0c78f98 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testDoubleQuotedString.st +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testDoubleQuotedString.st @@ -1,17 +1,19 @@ 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 + | 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 index 6a5d968..b6da289 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st @@ -1,17 +1,19 @@ 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'''. - 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 + | 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'''. + 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 index fe377f3..c340e36 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json @@ -2,6 +2,11 @@ "class" : { }, "instance" : { - "serialize:" : "dkh 06/26/2015 11:39", - "testDoubleQuotedString" : "dkh 06/26/2015 11:41", - "testString" : "dkh 06/26/2015 11:39" } } + "materialize:" : "dkh 06/26/2015 16:32", + "reader" : "dkh 06/26/2015 16:31", + "serialize:" : "dkh 06/26/2015 16:28", + "serializeJson:" : "dkh 06/26/2015 16:44", + "serializePretty:" : "dkh 06/26/2015 16:29", + "testDoubleQuotedString" : "dkh 06/26/2015 16:46", + "testString" : "dkh 06/26/2015 16:51", + "writer" : "dkh 06/26/2015 16:27" } } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/materialize..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/materialize..st new file mode 100644 index 0000000..b3dedab --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/materialize..st @@ -0,0 +1,3 @@ +private +materialize: aString + ^ super materialize: aString decodeFromUTF8 \ 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/serialize..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st index 0f86f76..ac00678 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st @@ -1,6 +1,3 @@ private serialize: anObject - ^ String streamContents: [ :stream | - STON writer - on: stream; - nextPut: anObject ] \ No newline at end of file + ^ (super serialize: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st new file mode 100644 index 0000000..e78d536 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st @@ -0,0 +1,3 @@ +private +serializeJson: anObject + ^ (super serializeJson: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st new file mode 100644 index 0000000..758129d --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st @@ -0,0 +1,3 @@ +private +serializePretty: anObject + ^ (super serializePretty: anObject) encodeAsUTF8intoString \ 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 index fb1e8a5..0c78f98 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testDoubleQuotedString.st +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testDoubleQuotedString.st @@ -1,17 +1,19 @@ 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 + | 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 index 6a5d968..b6da289 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st @@ -1,17 +1,19 @@ 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'''. - 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 + | 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'''. + 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 index fe377f3..57a5629 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json @@ -2,6 +2,11 @@ "class" : { }, "instance" : { - "serialize:" : "dkh 06/26/2015 11:39", - "testDoubleQuotedString" : "dkh 06/26/2015 11:41", - "testString" : "dkh 06/26/2015 11:39" } } + "materialize:" : "dkh 06/26/2015 16:33", + "reader" : "dkh 06/26/2015 16:31", + "serialize:" : "dkh 06/26/2015 16:33", + "serializeJson:" : "dkh 06/26/2015 16:33", + "serializePretty:" : "dkh 06/26/2015 16:33", + "testDoubleQuotedString" : "dkh 06/26/2015 16:47", + "testString" : "dkh 06/26/2015 16:51", + "writer" : "dkh 06/26/2015 16:28" } } diff --git a/repository/STON-UTF8-Tests.package/monticello.meta/version b/repository/STON-UTF8-Tests.package/monticello.meta/version index 234f79d..340397c 100644 --- a/repository/STON-UTF8-Tests.package/monticello.meta/version +++ b/repository/STON-UTF8-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file From 4c565b89ce79c9430f4f0d94edaded93676025cd Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Fri, 26 Jun 2015 17:58:29 -0700 Subject: [PATCH 12/15] 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) --- .../instance/decodeFromUTF8.st | 3 -- .../methodProperties.json | 5 --- .../properties.json | 2 - .../monticello.meta/version | 2 +- .../instance/testString.st | 40 ++++++++++++------- .../methodProperties.json | 2 +- .../class/shouldInheritSelectors.st | 5 +++ .../instance/encodeOnSerialize.st | 3 ++ .../instance/jsonWriter.st | 5 +++ .../instance/materialize..st | 10 +++-- .../instance/prettyWriter.st | 5 +++ .../instance/reader.st | 3 ++ .../instance/serialize..st | 13 ++++-- .../instance/serializeJson..st | 13 ++++-- .../instance/testUnicodeStrings.st | 12 ++++++ .../instance/writer.st | 3 ++ .../methodProperties.json | 16 +++++--- .../instance/encodeOnSerialize.st | 3 ++ .../instance/materialize..st | 6 ++- .../instance/serialize..st | 8 +++- .../instance/serializeJson..st | 8 +++- .../instance/serializePretty..st | 8 +++- .../instance/testString.st | 39 +++++++++++------- .../methodProperties.json | 11 ++--- .../monticello.meta/version | 2 +- .../instance/testString.st | 40 ++++++++++++------- .../methodProperties.json | 2 +- .../STON051WriteReadTests.class/README.md | 0 .../instance/reader.st | 3 ++ .../instance/writer.st | 3 ++ .../methodProperties.json | 6 +++ .../properties.json | 14 +++++++ .../instance/testString.st | 39 +++++++++++------- .../methodProperties.json | 2 +- .../instance/test051String.st | 16 ++++++++ .../instance/testString.st | 40 ++++++++++++------- .../methodProperties.json | 3 +- .../STON091WriteReadTests.class/README.md | 0 .../instance/encodeOnSerialize.st | 3 ++ .../instance/reader.st | 3 ++ .../instance/writer.st | 3 ++ .../methodProperties.json | 7 ++++ .../properties.json | 14 +++++++ .../instance/encodeOnSerialize.st | 3 ++ .../instance/materialize..st | 3 -- .../instance/serialize..st | 3 -- .../instance/serializeJson..st | 4 -- .../instance/serializePretty..st | 3 -- .../instance/testString.st | 6 +++ .../methodProperties.json | 7 +--- .../instance/testString.st | 9 ++++- .../methodProperties.json | 2 +- .../STONUtf8WriteReadTests.class/README.md | 0 .../instance/encodeOnSerialize.st | 3 ++ .../instance/reader.st | 3 ++ .../instance/writer.st | 3 ++ .../methodProperties.json | 7 ++++ .../properties.json | 14 +++++++ .../instance/encodeOnSerialize.st | 3 ++ .../instance/materialize..st | 3 -- .../instance/serialize..st | 3 -- .../instance/serializeJson..st | 3 -- .../instance/serializePretty..st | 3 -- .../instance/testString.st | 6 +++ .../methodProperties.json | 7 +--- .../monticello.meta/version | 2 +- 66 files changed, 368 insertions(+), 157 deletions(-) delete mode 100644 repository/STON-GemStone-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st delete mode 100644 repository/STON-GemStone-Core.package/DoubleByteString.extension/methodProperties.json delete mode 100644 repository/STON-GemStone-Core.package/DoubleByteString.extension/properties.json create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/class/shouldInheritSelectors.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/encodeOnSerialize.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/jsonWriter.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/prettyWriter.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/reader.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/writer.st create mode 100644 repository/STON-Tests.package/STONWriterTests.class/instance/encodeOnSerialize.st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/reader.st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/writer.st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/encodeOnSerialize.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/reader.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/writer.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/encodeOnSerialize.st delete mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/materialize..st delete mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st delete mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st delete mode 100644 repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/README.md create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/encodeOnSerialize.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/reader.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/writer.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/properties.json create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/encodeOnSerialize.st delete mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/materialize..st delete mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st delete mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st delete mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st diff --git a/repository/STON-GemStone-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st b/repository/STON-GemStone-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st deleted file mode 100644 index 34d5f31..0000000 --- a/repository/STON-GemStone-Core.package/DoubleByteString.extension/instance/decodeFromUTF8.st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-gemstone-core -decodeFromUTF8 - ^ self \ No newline at end of file diff --git a/repository/STON-GemStone-Core.package/DoubleByteString.extension/methodProperties.json b/repository/STON-GemStone-Core.package/DoubleByteString.extension/methodProperties.json deleted file mode 100644 index 63873d6..0000000 --- a/repository/STON-GemStone-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-GemStone-Core.package/DoubleByteString.extension/properties.json b/repository/STON-GemStone-Core.package/DoubleByteString.extension/properties.json deleted file mode 100644 index dbbfbb3..0000000 --- a/repository/STON-GemStone-Core.package/DoubleByteString.extension/properties.json +++ /dev/null @@ -1,2 +0,0 @@ -{ - "name" : "DoubleByteString" } diff --git a/repository/STON-GemStone-Core.package/monticello.meta/version b/repository/STON-GemStone-Core.package/monticello.meta/version index 0ade20b..08fe66e 100644 --- a/repository/STON-GemStone-Core.package/monticello.meta/version +++ b/repository/STON-GemStone-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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-Tests.package/STONReaderTests.class/instance/testString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st index 3fd1b15..7318ba5 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st @@ -1,17 +1,27 @@ tests testString - | 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 + | string x | + self assert: (self materialize: '''foo''') = 'foo'. + self assert: (self materialize: '''FOO''') = 'FOO'. + self + assert: + (x := 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 assert: (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') = '𣎏'. + 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-Tests.package/STONReaderTests.class/methodProperties.json b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json index ce795ad..df745c1 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json @@ -27,7 +27,7 @@ "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/26/2015 17:32", "testSymbol" : "SvenVanCaekenberghe 1/15/2012 21:38", "testTime" : "dkh 4/29/2012 08:48:15", "testTimeStamp" : "SvenVanCaekenberghe 1/23/2012 09:51", 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/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/testUnicodeStrings.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st new file mode 100644 index 0000000..d736fe6 --- /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)}). + 'Я можу їсти скло, і воно мені не зашкодить.'. + '𣎏'. + 'élève en Français'}. + self serializeAndMaterialize: strings \ 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 b92c0f1..f8e962f 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json @@ -1,12 +1,16 @@ { "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", + "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" : "dkh 06/26/2015 15:06", @@ -21,5 +25,7 @@ "testStrings" : "SvenVanCaekenberghe 1/23/2012 12:23", "testSymbols" : "SvenVanCaekenberghe 4/15/2014 13:36", "testTextAndRunArray" : "SvenVanCaekenberghe 3/24/2014 13:23", + "testUnicodeStrings" : "dkh 06/26/2015 17:20", "testUser" : "SvenVanCaekenberghe 1/24/2012 10:17", - "testUser2" : "SvenVanCaekenberghe 2/7/2012 20:48" } } + "testUser2" : "SvenVanCaekenberghe 2/7/2012 20:48", + "writer" : "dkh 06/26/2015 17:06" } } 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/materialize..st b/repository/STON-Tests.package/STONWriterTests.class/instance/materialize..st index 09f8261..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 + | str | + str := string. + self encodeOnSerialize + ifTrue: [ str := string decodeFromUTF8 ]. ^ self reader - on: string readStream; + on: str readStream; allowComplexMapKeys: true; next \ 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 f738bf5..997d5a3 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serialize..st @@ -1,7 +1,11 @@ private serialize: anObject - ^ String + | str | + str := String streamContents: [ :stream | self writer on: stream; - nextPut: anObject ] \ No newline at end of file + 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 d443273..a423924 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/serializeJson..st @@ -1,7 +1,11 @@ private serializeJson: anObject - ^ String + | str | + str := String streamContents: [ :stream | self jsonWriter on: stream; - nextPut: anObject ] \ No newline at end of file + 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 e62fa7a..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 + | str | + str := String streamContents: [ :stream | self prettyWriter on: stream; - nextPut: anObject ] \ No newline at end of file + nextPut: anObject ]. + self encodeOnSerialize + ifFalse: [ ^ str ]. + ^ str encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st index 6a5d968..cbcb8de 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st @@ -1,17 +1,26 @@ 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'''. - 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 + | 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: 'Я можу їсти скло, і воно мені не зашкодить.') + = + '''\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: '𣎏') = '''\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-Tests.package/STONWriterTests.class/methodProperties.json b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json index ecbb262..1377aef 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json @@ -2,13 +2,14 @@ "class" : { "shouldInheritSelectors" : "dkh 06/26/2015 11:37" }, "instance" : { + "encodeOnSerialize" : "dkh 06/26/2015 16:59", "jsonWriter" : "dkh 06/26/2015 16:26", - "materialize:" : "dkh 06/26/2015 16:29", + "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 16:25", - "serializeJson:" : "dkh 06/26/2015 16:25", - "serializePretty:" : "dkh 06/26/2015 16:27", + "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", @@ -34,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/26/2015 17:32", "testSymbol" : "SvenVanCaekenberghe 2/14/2012 17:07", "testSymbolAsString" : "SvenVanCaekenberghe 5/5/2012 19:12", "testTime" : "dkh 4/29/2012 08:48:15", diff --git a/repository/STON-Tests.package/monticello.meta/version b/repository/STON-Tests.package/monticello.meta/version index 0413ee4..e3da4dd 100644 --- a/repository/STON-Tests.package/monticello.meta/version +++ b/repository/STON-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ 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 index 3fd1b15..e043550 100644 --- a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st @@ -1,17 +1,27 @@ tests testString - | 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 + | 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 assert: (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') = '𣎏'. + 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 index 8bbc41a..5b473c5 100644 --- a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json @@ -4,4 +4,4 @@ "instance" : { "materialize:" : "dkh 06/26/2015 12:37", "testJsonString" : "dkh 06/26/2015 11:43", - "testString" : "dkh 06/26/2015 11:42" } } + "testString" : "dkh 06/26/2015 17:44" } } 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/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..f2961e5 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "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/instance/testString.st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st index 6a5d968..cbcb8de 100644 --- a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st @@ -1,17 +1,26 @@ 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'''. - 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 + | 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: 'Я можу їсти скло, і воно мені не зашкодить.') + = + '''\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: '𣎏') = '''\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/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json index 3db55c0..40ecac8 100644 --- a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json @@ -4,5 +4,5 @@ "instance" : { "reader" : "dkh 06/26/2015 16:31", "testDoubleQuotedString" : "dkh 06/26/2015 11:41", - "testString" : "dkh 06/26/2015 11:39", + "testString" : "dkh 06/26/2015 17:33", "writer" : "dkh 06/26/2015 16:27" } } 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..9a38a9e --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st @@ -0,0 +1,16 @@ +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 assert: (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') = '𣎏' \ 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 index 3fd1b15..5f35ce5 100644 --- a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st @@ -1,17 +1,27 @@ tests testString - | 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 + | 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 assert: (x := self materialize: '''𣎏''') = '𣎏'. + 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 index 8bbc41a..32c5db0 100644 --- a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json @@ -3,5 +3,6 @@ }, "instance" : { "materialize:" : "dkh 06/26/2015 12:37", + "test051String" : "dkh 06/26/2015 17:45", "testJsonString" : "dkh 06/26/2015 11:43", - "testString" : "dkh 06/26/2015 11:42" } } + "testString" : "dkh 06/26/2015 17:39" } } 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/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..828fe4c --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "encodeOnSerialize" : "dkh 06/26/2015 17:10", + "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/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/materialize..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/materialize..st deleted file mode 100644 index b3dedab..0000000 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/materialize..st +++ /dev/null @@ -1,3 +0,0 @@ -private -materialize: aString - ^ super materialize: aString decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st deleted file mode 100644 index ac00678..0000000 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serialize..st +++ /dev/null @@ -1,3 +0,0 @@ -private -serialize: anObject - ^ (super serialize: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st deleted file mode 100644 index dafe3fb..0000000 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializeJson..st +++ /dev/null @@ -1,4 +0,0 @@ -private -serializeJson: anObject - | x y | - ^ y := (x := super serializeJson: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st deleted file mode 100644 index 758129d..0000000 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/serializePretty..st +++ /dev/null @@ -1,3 +0,0 @@ -private -serializePretty: anObject - ^ (super serializePretty: anObject) encodeAsUTF8intoString \ 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 index b6da289..4224850 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st @@ -6,6 +6,12 @@ testString self assert: (x := self serialize: 'élève en Français') = '''élève en Français'''. + self + assert: + (x := self serialize: 'Я можу їсти скло, і воно мені не зашкодить.') + = + '''Я можу їсти скло, і воно мені не зашкодить.'''. + self assert: (x := self serialize: '𣎏') = '''𣎏'''. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json index c340e36..59825c0 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json @@ -2,11 +2,8 @@ "class" : { }, "instance" : { - "materialize:" : "dkh 06/26/2015 16:32", + "encodeOnSerialize" : "dkh 06/26/2015 17:03", "reader" : "dkh 06/26/2015 16:31", - "serialize:" : "dkh 06/26/2015 16:28", - "serializeJson:" : "dkh 06/26/2015 16:44", - "serializePretty:" : "dkh 06/26/2015 16:29", "testDoubleQuotedString" : "dkh 06/26/2015 16:46", - "testString" : "dkh 06/26/2015 16:51", + "testString" : "dkh 06/26/2015 17:37", "writer" : "dkh 06/26/2015 16:27" } } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st index cc7563c..e7025d8 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st @@ -1,10 +1,17 @@ tests testString - | string | + | 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 assert: (x := self materialize: '''𣎏''') = '𣎏'. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json index 2a1762a..fb3a69f 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json @@ -4,4 +4,4 @@ "instance" : { "materialize:" : "dkh 06/26/2015 12:37", "testJsonString" : "dkh 06/26/2015 12:45", - "testString" : "dkh 06/26/2015 12:45" } } + "testString" : "dkh 06/26/2015 17:42" } } 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/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..da271f3 --- /dev/null +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "encodeOnSerialize" : "dkh 06/26/2015 17:11", + "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/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/materialize..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/materialize..st deleted file mode 100644 index b3dedab..0000000 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/materialize..st +++ /dev/null @@ -1,3 +0,0 @@ -private -materialize: aString - ^ super materialize: aString decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st deleted file mode 100644 index ac00678..0000000 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serialize..st +++ /dev/null @@ -1,3 +0,0 @@ -private -serialize: anObject - ^ (super serialize: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st deleted file mode 100644 index e78d536..0000000 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializeJson..st +++ /dev/null @@ -1,3 +0,0 @@ -private -serializeJson: anObject - ^ (super serializeJson: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st deleted file mode 100644 index 758129d..0000000 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/serializePretty..st +++ /dev/null @@ -1,3 +0,0 @@ -private -serializePretty: anObject - ^ (super serializePretty: anObject) encodeAsUTF8intoString \ 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 index b6da289..4224850 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st @@ -6,6 +6,12 @@ testString self assert: (x := self serialize: 'élève en Français') = '''élève en Français'''. + self + assert: + (x := self serialize: 'Я можу їсти скло, і воно мені не зашкодить.') + = + '''Я можу їсти скло, і воно мені не зашкодить.'''. + self assert: (x := self serialize: '𣎏') = '''𣎏'''. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json index 57a5629..c5dcd0c 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json @@ -2,11 +2,8 @@ "class" : { }, "instance" : { - "materialize:" : "dkh 06/26/2015 16:33", + "encodeOnSerialize" : "dkh 06/26/2015 17:03", "reader" : "dkh 06/26/2015 16:31", - "serialize:" : "dkh 06/26/2015 16:33", - "serializeJson:" : "dkh 06/26/2015 16:33", - "serializePretty:" : "dkh 06/26/2015 16:33", "testDoubleQuotedString" : "dkh 06/26/2015 16:47", - "testString" : "dkh 06/26/2015 16:51", + "testString" : "dkh 06/26/2015 17:39", "writer" : "dkh 06/26/2015 16:28" } } diff --git a/repository/STON-UTF8-Tests.package/monticello.meta/version b/repository/STON-UTF8-Tests.package/monticello.meta/version index 340397c..b911c04 100644 --- a/repository/STON-UTF8-Tests.package/monticello.meta/version +++ b/repository/STON-UTF8-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file From 154dd73e84fbcfb4ecd80d08d2044641e112c553 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Mon, 29 Jun 2015 10:10:05 -0700 Subject: [PATCH 13/15] Issue #6: Cannot embed Unicode16 or Unicode32 strings in 2.x methods --- .../STONReaderTests.class/instance/testString.st | 7 +++++-- .../STONReaderTests.class/instance/unicode16TestString.st | 6 ++++++ .../STONReaderTests.class/instance/unicode32TestString.st | 5 +++++ .../STONReaderTests.class/methodProperties.json | 6 ++++-- .../instance/testUnicodeStrings.st | 4 ++-- .../instance/unicode16TestString.st | 6 ++++++ .../instance/unicode32TestString.st | 5 +++++ .../STONWriteReadTests.class/methodProperties.json | 4 +++- .../STONWriterTests.class/instance/testString.st | 6 ++++-- .../STONWriterTests.class/instance/unicode16TestString.st | 6 ++++++ .../STONWriterTests.class/instance/unicode32TestString.st | 5 +++++ .../STONWriterTests.class/methodProperties.json | 4 +++- repository/STON-Tests.package/monticello.meta/version | 2 +- .../STON051ReaderTests.class/instance/testString.st | 7 +++++-- .../STON051ReaderTests.class/methodProperties.json | 2 +- .../STON051WriterTests.class/instance/testString.st | 6 ++++-- .../STON051WriterTests.class/methodProperties.json | 2 +- .../STON091ReaderTests.class/instance/test051String.st | 7 +++++-- .../STON091ReaderTests.class/instance/testString.st | 4 ++-- .../STON091ReaderTests.class/methodProperties.json | 4 ++-- .../STON091WriterTests.class/instance/testString.st | 4 ++-- .../STON091WriterTests.class/methodProperties.json | 2 +- .../STONUtf8ReaderTests.class/instance/testString.st | 4 ++-- .../STONUtf8ReaderTests.class/methodProperties.json | 2 +- .../STONUtf8WriterTests.class/instance/testString.st | 4 ++-- .../STONUtf8WriterTests.class/methodProperties.json | 2 +- repository/STON-UTF8-Tests.package/monticello.meta/version | 2 +- 27 files changed, 85 insertions(+), 33 deletions(-) create mode 100644 repository/STON-Tests.package/STONReaderTests.class/instance/unicode16TestString.st create mode 100644 repository/STON-Tests.package/STONReaderTests.class/instance/unicode32TestString.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode16TestString.st create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode32TestString.st create mode 100644 repository/STON-Tests.package/STONWriterTests.class/instance/unicode16TestString.st create mode 100644 repository/STON-Tests.package/STONWriterTests.class/instance/unicode32TestString.st diff --git a/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st index 7318ba5..60fa8a4 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st @@ -12,8 +12,11 @@ testString (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 assert: (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') = '𣎏'. + = self unicode16TestString. + self + assert: + (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') + = self unicode32TestString. string := String withAll: {$". 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 df745c1..3f3d5ab 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json @@ -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 06/26/2015 17:32", + "testString" : "dkh 06/29/2015 10:03", "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" : "dkh 06/26/2015 12:42" } } + "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/instance/testUnicodeStrings.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st index d736fe6..d6209eb 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/testUnicodeStrings.st @@ -6,7 +6,7 @@ testUnicodeStrings {(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..a2e9253 --- /dev/null +++ b/repository/STON-Tests.package/STONWriteReadTests.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/STONWriteReadTests.class/methodProperties.json b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json index f8e962f..80c176d 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json @@ -25,7 +25,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/26/2015 17:20", + "testUnicodeStrings" : "dkh 06/29/2015 10:07", "testUser" : "SvenVanCaekenberghe 1/24/2012 10:17", "testUser2" : "SvenVanCaekenberghe 2/7/2012 20:48", + "unicode16TestString" : "dkh 06/29/2015 10:07", + "unicode32TestString" : "dkh 06/29/2015 10:07", "writer" : "dkh 06/26/2015 17:06" } } diff --git a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st index cbcb8de..089cc02 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st @@ -9,10 +9,12 @@ testString = '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais'''. self assert: - (x := self serialize: 'Я можу їсти скло, і воно мені не зашкодить.') + (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: '𣎏') = '''\u00F0\u00A3\u008E\u008F'''. + self + assert: + (x := self serialize: self unicode32TestString) = '''\u00F0\u00A3\u008E\u008F'''. 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/methodProperties.json b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json index 1377aef..33250c8 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json @@ -35,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 06/26/2015 17:32", + "testString" : "dkh 06/29/2015 10:05", "testSymbol" : "SvenVanCaekenberghe 2/14/2012 17:07", "testSymbolAsString" : "SvenVanCaekenberghe 5/5/2012 19:12", "testTime" : "dkh 4/29/2012 08:48:15", @@ -44,4 +44,6 @@ "testUser2" : "SvenVanCaekenberghe 11/13/2013 23:58", "testUser3Nil" : "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 e3da4dd..712111e 100644 --- a/repository/STON-Tests.package/monticello.meta/version +++ b/repository/STON-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ 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 index e043550..e2052ca 100644 --- a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/instance/testString.st @@ -12,8 +12,11 @@ testString (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 assert: (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') = '𣎏'. + = self unicode16TestString. + self + assert: + (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') + = self unicode32TestString. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json index 5b473c5..cdb2f3e 100644 --- a/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON051ReaderTests.class/methodProperties.json @@ -4,4 +4,4 @@ "instance" : { "materialize:" : "dkh 06/26/2015 12:37", "testJsonString" : "dkh 06/26/2015 11:43", - "testString" : "dkh 06/26/2015 17:44" } } + "testString" : "dkh 06/29/2015 10:04" } } diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st index cbcb8de..089cc02 100644 --- a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/instance/testString.st @@ -9,10 +9,12 @@ testString = '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais'''. self assert: - (x := self serialize: 'Я можу їсти скло, і воно мені не зашкодить.') + (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: '𣎏') = '''\u00F0\u00A3\u008E\u008F'''. + self + assert: + (x := self serialize: self unicode32TestString) = '''\u00F0\u00A3\u008E\u008F'''. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json index 40ecac8..72367e9 100644 --- a/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON051WriterTests.class/methodProperties.json @@ -4,5 +4,5 @@ "instance" : { "reader" : "dkh 06/26/2015 16:31", "testDoubleQuotedString" : "dkh 06/26/2015 11:41", - "testString" : "dkh 06/26/2015 17:33", + "testString" : "dkh 06/29/2015 10:05", "writer" : "dkh 06/26/2015 16:27" } } diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st index 9a38a9e..a34bb05 100644 --- a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/test051String.st @@ -12,5 +12,8 @@ test051String (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 assert: (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') = '𣎏' \ No newline at end of file + = 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/testString.st b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st index 5f35ce5..6331935 100644 --- a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/instance/testString.st @@ -12,8 +12,8 @@ testString (x := self materialize: '''Я можу їсти скло, і воно мені не зашкодить.''') - = 'Я можу їсти скло, і воно мені не зашкодить.'. - self assert: (x := self materialize: '''𣎏''') = '𣎏'. + = self unicode16TestString. + self assert: (x := self materialize: '''𣎏''') = self unicode32TestString. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json index 32c5db0..f7c6b80 100644 --- a/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON091ReaderTests.class/methodProperties.json @@ -3,6 +3,6 @@ }, "instance" : { "materialize:" : "dkh 06/26/2015 12:37", - "test051String" : "dkh 06/26/2015 17:45", + "test051String" : "dkh 06/29/2015 10:08", "testJsonString" : "dkh 06/26/2015 11:43", - "testString" : "dkh 06/26/2015 17:39" } } + "testString" : "dkh 06/29/2015 10:04" } } diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st index 4224850..0bec396 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/instance/testString.st @@ -8,10 +8,10 @@ testString (x := self serialize: 'élève en Français') = '''élève en Français'''. self assert: - (x := self serialize: 'Я можу їсти скло, і воно мені не зашкодить.') + (x := self serialize: self unicode16TestString) = '''Я можу їсти скло, і воно мені не зашкодить.'''. - self assert: (x := self serialize: '𣎏') = '''𣎏'''. + self assert: (x := self serialize: self unicode32TestString) = '''𣎏'''. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json index 59825c0..9bb3948 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON091WriterTests.class/methodProperties.json @@ -5,5 +5,5 @@ "encodeOnSerialize" : "dkh 06/26/2015 17:03", "reader" : "dkh 06/26/2015 16:31", "testDoubleQuotedString" : "dkh 06/26/2015 16:46", - "testString" : "dkh 06/26/2015 17:37", + "testString" : "dkh 06/29/2015 10:05", "writer" : "dkh 06/26/2015 16:27" } } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st index e7025d8..c4e2b43 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/instance/testString.st @@ -10,8 +10,8 @@ testString (x := self materialize: '''Я можу їсти скло, і воно мені не зашкодить.''') - = 'Я можу їсти скло, і воно мені не зашкодить.'. - self assert: (x := self materialize: '''𣎏''') = '𣎏'. + = self unicode16TestString. + self assert: (x := self materialize: '''𣎏''') = self unicode32TestString. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json index fb3a69f..da275a7 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STONUtf8ReaderTests.class/methodProperties.json @@ -4,4 +4,4 @@ "instance" : { "materialize:" : "dkh 06/26/2015 12:37", "testJsonString" : "dkh 06/26/2015 12:45", - "testString" : "dkh 06/26/2015 17:42" } } + "testString" : "dkh 06/29/2015 10:04" } } diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st index 4224850..0bec396 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/instance/testString.st @@ -8,10 +8,10 @@ testString (x := self serialize: 'élève en Français') = '''élève en Français'''. self assert: - (x := self serialize: 'Я можу їсти скло, і воно мені не зашкодить.') + (x := self serialize: self unicode16TestString) = '''Я можу їсти скло, і воно мені не зашкодить.'''. - self assert: (x := self serialize: '𣎏') = '''𣎏'''. + self assert: (x := self serialize: self unicode32TestString) = '''𣎏'''. string := String withAll: {$". diff --git a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json index c5dcd0c..d1806a8 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriterTests.class/methodProperties.json @@ -5,5 +5,5 @@ "encodeOnSerialize" : "dkh 06/26/2015 17:03", "reader" : "dkh 06/26/2015 16:31", "testDoubleQuotedString" : "dkh 06/26/2015 16:47", - "testString" : "dkh 06/26/2015 17:39", + "testString" : "dkh 06/29/2015 10:06", "writer" : "dkh 06/26/2015 16:28" } } diff --git a/repository/STON-UTF8-Tests.package/monticello.meta/version b/repository/STON-UTF8-Tests.package/monticello.meta/version index b911c04..acfb922 100644 --- a/repository/STON-UTF8-Tests.package/monticello.meta/version +++ b/repository/STON-UTF8-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file From bcdafe6e65520181e04b955065c7349c38f23a68 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Mon, 29 Jun 2015 14:10:19 -0700 Subject: [PATCH 14/15] 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 --- .../instance/parseStringInternal.st | 2 +- .../STONReader.class/methodProperties.json | 2 +- .../instance/encodeString..st | 2 +- .../STONWriter.class/methodProperties.json | 2 +- .../STON-Core.package/monticello.meta/version | 2 +- .../instance/testJsonString.st | 34 ++++++++++--------- .../instance/testString.st | 14 ++++---- .../methodProperties.json | 4 +-- .../instance/include32BitUnicodeStrings.st | 3 ++ .../instance/unicode32TestString.st | 4 ++- .../methodProperties.json | 3 +- .../instance/testDoubleQuotedString.st | 32 +++++++++-------- .../instance/testString.st | 12 ++++--- .../methodProperties.json | 4 +-- .../monticello.meta/version | 2 +- .../instance/parseStringInternal.st | 13 +------ .../STON051Reader.class/methodProperties.json | 2 +- .../instance/encodeString..st | 16 +-------- .../STON051Writer.class/methodProperties.json | 2 +- .../instance/encodeString..st | 17 ---------- .../STON091Writer.class/methodProperties.json | 3 +- .../instance/parseStringInternal.st | 14 -------- .../methodProperties.json | 3 +- .../instance/encodeString..st | 17 ---------- .../methodProperties.json | 3 +- .../monticello.meta/version | 2 +- .../instance/include32BitUnicodeStrings.st | 3 ++ .../methodProperties.json | 1 + .../instance/include32BitUnicodeStrings.st | 3 ++ .../methodProperties.json | 1 + .../instance/include32BitUnicodeStrings.st | 3 ++ .../methodProperties.json | 1 + .../monticello.meta/version | 2 +- 33 files changed, 89 insertions(+), 139 deletions(-) create mode 100644 repository/STON-Tests.package/STONWriteReadTests.class/instance/include32BitUnicodeStrings.st delete mode 100644 repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st delete mode 100644 repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseStringInternal.st delete mode 100644 repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st create mode 100644 repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/instance/include32BitUnicodeStrings.st create mode 100644 repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/instance/include32BitUnicodeStrings.st create mode 100644 repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/instance/include32BitUnicodeStrings.st diff --git a/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st b/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st index 8df0330..8a48581 100644 --- a/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st +++ b/repository/STON-Core.package/STONReader.class/instance/parseStringInternal.st @@ -9,4 +9,4 @@ parseStringInternal [ 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 ac4266c..5088176 100644 --- a/repository/STON-Core.package/STONReader.class/methodProperties.json +++ b/repository/STON-Core.package/STONReader.class/methodProperties.json @@ -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" : "dkh 06/22/2015 16:31", + "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 846066f..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 encodeAsUTF8intoString. + 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 3782ec1..f3e54a9 100644 --- a/repository/STON-Core.package/STONWriter.class/methodProperties.json +++ b/repository/STON-Core.package/STONWriter.class/methodProperties.json @@ -10,7 +10,7 @@ "encodeKey:value:" : "SvenVanCaekenberghe 1/23/2012 11:32", "encodeList:" : "SvenVanCaekenberghe 5/5/2012 16:56", "encodeMap:" : "SvenVanCaekenberghe 5/5/2012 16:56", - "encodeString:" : "dkh 06/22/2015 13:40", + "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", diff --git a/repository/STON-Core.package/monticello.meta/version b/repository/STON-Core.package/monticello.meta/version index 3824a7c..55eaf1f 100644 --- a/repository/STON-Core.package/monticello.meta/version +++ b/repository/STON-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ 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-Tests.package/STONReaderTests.class/instance/testJsonString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st index 67cee5d..68c87d5 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testJsonString.st @@ -1,19 +1,21 @@ tests testJsonString - "Allow double quotes for backwards JSON compatibility" + "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 + | string | + self assert: (self materialize: '"foo"') = 'foo'. + self assert: (self materialize: '"FOO"') = 'FOO'. + self + assert: + (self materialize: '"\u00E9l\u00E8ve en Fran\u00E7ais"') = 'é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-Tests.package/STONReaderTests.class/instance/testString.st b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st index 60fa8a4..f9a4e31 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONReaderTests.class/instance/testString.st @@ -5,18 +5,20 @@ testString self assert: (self materialize: '''FOO''') = 'FOO'. self assert: - (x := self materialize: '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais''') + (x := self materialize: '''\u00E9l\u00E8ve en Fran\u00E7ais''') = 'é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.''') + '''\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. - self - assert: - (x := self materialize: '''\u00F0\u00A3\u008E\u008F''') - = self unicode32TestString. + 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/methodProperties.json b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json index 3f3d5ab..25c7a02 100644 --- a/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONReaderTests.class/methodProperties.json @@ -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,7 +27,7 @@ "testReferenceCycle" : "SvenVanCaekenberghe 5/5/2012 20:12", "testReferenceSharing" : "SvenVanCaekenberghe 5/5/2012 20:13", "testStreaming" : "SvenVanCaekenberghe 5/7/2012 13:53", - "testString" : "dkh 06/29/2015 10:03", + "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", 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/unicode32TestString.st b/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode32TestString.st index a2e9253..53afa64 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode32TestString.st +++ b/repository/STON-Tests.package/STONWriteReadTests.class/instance/unicode32TestString.st @@ -2,4 +2,6 @@ private unicode32TestString "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" - ^ '𣎏' decodeFromUTF8 \ No newline at end of file + ^ self include32BitUnicodeStrings + ifTrue: [ '𣎏' decodeFromUTF8 ] + ifFalse: [ 'abc' ] \ 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 80c176d..db114c9 100644 --- a/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriteReadTests.class/methodProperties.json @@ -3,6 +3,7 @@ "shouldInheritSelectors" : "dkh 06/26/2015 17:17" }, "instance" : { "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", @@ -29,5 +30,5 @@ "testUser" : "SvenVanCaekenberghe 1/24/2012 10:17", "testUser2" : "SvenVanCaekenberghe 2/7/2012 20:48", "unicode16TestString" : "dkh 06/29/2015 10:07", - "unicode32TestString" : "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/instance/testDoubleQuotedString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st index fb1e8a5..6dc581f 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testDoubleQuotedString.st @@ -1,17 +1,19 @@ 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 + | string | + self assert: (self serializeJson: 'foo') = '"foo"'. + self assert: (self serializeJson: 'FOO') = '"FOO"'. + self + assert: + (self serializeJson: 'élève en Français') = '"\u00E9l\u00E8ve en Fran\u00E7ais"'. + 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-Tests.package/STONWriterTests.class/instance/testString.st b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st index 089cc02..633bc53 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st +++ b/repository/STON-Tests.package/STONWriterTests.class/instance/testString.st @@ -6,15 +6,17 @@ testString self assert: (x := self serialize: 'élève en Français') - = '''\u00C3\u00A9l\u00C3\u00A8ve en Fran\u00C3\u00A7ais'''. + = '''\u00E9l\u00E8ve en Fran\u00E7ais'''. 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'''. + '''\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/methodProperties.json b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json index 33250c8..32bb5e5 100644 --- a/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json +++ b/repository/STON-Tests.package/STONWriterTests.class/methodProperties.json @@ -17,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", @@ -35,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 06/29/2015 10:05", + "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", diff --git a/repository/STON-Tests.package/monticello.meta/version b/repository/STON-Tests.package/monticello.meta/version index 712111e..ee667c6 100644 --- a/repository/STON-Tests.package/monticello.meta/version +++ b/repository/STON-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ 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/STON051Reader.class/instance/parseStringInternal.st b/repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st index 4fa142e..7bf5f2a 100644 --- a/repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st +++ b/repository/STON-UTF8-Core.package/STON051Reader.class/instance/parseStringInternal.st @@ -1,14 +1,3 @@ parsing-internal parseStringInternal - "don't use super until STONReader fixed" - - | result delimiter | - delimiter := readStream next. - (delimiter = $' or: [ delimiter = $" ]) - ifFalse: [ self error: ''' or " expected' ]. - result := self - stringStreamContents: [ :stream | - [ readStream atEnd or: [ readStream peek = delimiter ] ] - whileFalse: [ stream nextPut: self parseCharacter ] ]. - self expectChar: delimiter. - ^ result decodeFromUTF8 \ No newline at end of file + ^ 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 index 208c30b..e45d986 100644 --- a/repository/STON-UTF8-Core.package/STON051Reader.class/methodProperties.json +++ b/repository/STON-UTF8-Core.package/STON051Reader.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "parseStringInternal" : "dkh 06/26/2015 12:50" } } + "parseStringInternal" : "dkh 06/29/2015 11:40" } } diff --git a/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st b/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st index b0412c0..03fb8c3 100644 --- a/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st +++ b/repository/STON-UTF8-Core.package/STON051Writer.class/instance/encodeString..st @@ -1,17 +1,3 @@ private encodeString: string - "don't use super until encodeAsUTF8intoString removed from super method" - - | encodedString | - encodedString := string encodeAsUTF8intoString. - writeStream - nextPut: - (jsonMode - ifTrue: [ $" ] - ifFalse: [ $' ]). - encodedString do: [ :each | self encodeCharacter: each ]. - writeStream - nextPut: - (jsonMode - ifTrue: [ $" ] - ifFalse: [ $' ]) \ No newline at end of file + ^ 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 index c5f2834..633f408 100644 --- a/repository/STON-UTF8-Core.package/STON051Writer.class/methodProperties.json +++ b/repository/STON-UTF8-Core.package/STON051Writer.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "encodeString:" : "dkh 06/26/2015 12:30" } } + "encodeString:" : "dkh 06/29/2015 11:41" } } diff --git a/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st b/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st deleted file mode 100644 index 4d693ad..0000000 --- a/repository/STON-UTF8-Core.package/STON091Writer.class/instance/encodeString..st +++ /dev/null @@ -1,17 +0,0 @@ -private -encodeString: string - "don't use super until encodeAsUTF8intoString removed from super method" - - | encodedString | - encodedString := string. - writeStream - nextPut: - (jsonMode - ifTrue: [ $" ] - ifFalse: [ $' ]). - encodedString do: [ :each | self encodeCharacter: each ]. - writeStream - nextPut: - (jsonMode - ifTrue: [ $" ] - ifFalse: [ $' ]) \ 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 index ee143d0..05e2696 100644 --- a/repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json +++ b/repository/STON-UTF8-Core.package/STON091Writer.class/methodProperties.json @@ -2,5 +2,4 @@ "class" : { }, "instance" : { - "encodeCharacter:" : "dkh 06/26/2015 12:29", - "encodeString:" : "dkh 06/26/2015 16:45" } } + "encodeCharacter:" : "dkh 06/26/2015 12:29" } } diff --git a/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseStringInternal.st b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseStringInternal.st deleted file mode 100644 index 709f3b9..0000000 --- a/repository/STON-UTF8-Core.package/STONUtf8Reader.class/instance/parseStringInternal.st +++ /dev/null @@ -1,14 +0,0 @@ -parsing-internal -parseStringInternal - "remove once STONReader>>parseStringInternal is fixed" - - | result delimiter | - delimiter := readStream next. - (delimiter = $' or: [ delimiter = $" ]) - ifFalse: [ self error: ''' or " expected' ]. - result := self - stringStreamContents: [ :stream | - [ readStream atEnd or: [ readStream peek = delimiter ] ] - whileFalse: [ stream nextPut: self parseCharacter ] ]. - self expectChar: delimiter. - ^ result \ 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 index ea4d9a6..b1b0137 100644 --- a/repository/STON-UTF8-Core.package/STONUtf8Reader.class/methodProperties.json +++ b/repository/STON-UTF8-Core.package/STONUtf8Reader.class/methodProperties.json @@ -2,5 +2,4 @@ "class" : { }, "instance" : { - "parseCharacterHex" : "dkh 06/26/2015 12:21", - "parseStringInternal" : "dkh 06/26/2015 12:49" } } + "parseCharacterHex" : "dkh 06/26/2015 12:21" } } diff --git a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st deleted file mode 100644 index 4d693ad..0000000 --- a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/instance/encodeString..st +++ /dev/null @@ -1,17 +0,0 @@ -private -encodeString: string - "don't use super until encodeAsUTF8intoString removed from super method" - - | encodedString | - encodedString := string. - writeStream - nextPut: - (jsonMode - ifTrue: [ $" ] - ifFalse: [ $' ]). - encodedString do: [ :each | self encodeCharacter: each ]. - writeStream - nextPut: - (jsonMode - ifTrue: [ $" ] - ifFalse: [ $' ]) \ 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 index aa4d361..aa949fb 100644 --- a/repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json +++ b/repository/STON-UTF8-Core.package/STONUtf8Writer.class/methodProperties.json @@ -2,5 +2,4 @@ "class" : { }, "instance" : { - "encodeCharacter:" : "dkh 06/26/2015 12:32", - "encodeString:" : "dkh 06/26/2015 16:45" } } + "encodeCharacter:" : "dkh 06/26/2015 12:32" } } diff --git a/repository/STON-UTF8-Core.package/monticello.meta/version b/repository/STON-UTF8-Core.package/monticello.meta/version index c1fdc46..49f6d88 100644 --- a/repository/STON-UTF8-Core.package/monticello.meta/version +++ b/repository/STON-UTF8-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 ()) \ No newline at end of file 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/methodProperties.json b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json index f2961e5..f98bea7 100644 --- a/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON051WriteReadTests.class/methodProperties.json @@ -2,5 +2,6 @@ "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/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/methodProperties.json b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json index 828fe4c..6c791d3 100644 --- a/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STON091WriteReadTests.class/methodProperties.json @@ -3,5 +3,6 @@ }, "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/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/methodProperties.json b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json index da271f3..df39e82 100644 --- a/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json +++ b/repository/STON-UTF8-Tests.package/STONUtf8WriteReadTests.class/methodProperties.json @@ -3,5 +3,6 @@ }, "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/monticello.meta/version b/repository/STON-UTF8-Tests.package/monticello.meta/version index acfb922..68538f2 100644 --- a/repository/STON-UTF8-Tests.package/monticello.meta/version +++ b/repository/STON-UTF8-Tests.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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 From 12f7eae3889a1d226b027b2cf56972d696299974 Mon Sep 17 00:00:00 2001 From: Dale Henrichs Date: Mon, 29 Jun 2015 14:16:17 -0700 Subject: [PATCH 15/15] Issue #6: remote the (now) unused protocol in STON for using UTF8 encoding --- .../STON.extension/class/fromUTF8..st | 3 --- .../STON.extension/class/fromUTF8EncodedString..st | 3 --- .../STON.extension/class/put.onStreamUtf8Encoded..st | 6 ------ .../STON.extension/class/toUTF8..st | 3 --- .../STON.extension/class/toUTF8EncodedString..st | 3 --- .../STON.extension/class/toUTF8EncodedStringPretty..st | 3 --- .../STON.extension/methodProperties.json | 10 ---------- .../STON.extension/properties.json | 2 -- .../STON-UTF8-Core.package/monticello.meta/version | 2 +- 9 files changed, 1 insertion(+), 34 deletions(-) delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8..st delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/toUTF8..st delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/methodProperties.json delete mode 100644 repository/STON-UTF8-Core.package/STON.extension/properties.json diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8..st b/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8..st deleted file mode 100644 index 4ffaf7a..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8..st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-utf8-core -fromUTF8: utf8 - ^ self fromString: utf8 decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st b/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st deleted file mode 100644 index ed00c5b..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/class/fromUTF8EncodedString..st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-utf8-core -fromUTF8EncodedString: utf8EncodedString - ^ self fromString: utf8EncodedString decodeFromUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st b/repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st deleted file mode 100644 index a9c31ba..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/class/put.onStreamUtf8Encoded..st +++ /dev/null @@ -1,6 +0,0 @@ -*ston-utf8-core -put: object onStreamUtf8Encoded: stream - | unencodedStream | - unencodedStream := WriteStream on: String new. - (self writer on: unencodedStream) nextPut: object. - stream nextPutAll: unencodedStream contents encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8..st b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8..st deleted file mode 100644 index bdf50a5..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8..st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-utf8-core -toUTF8: object - ^ (self toString: object) encodeAsUTF8 \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st deleted file mode 100644 index 566173b..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedString..st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-utf8-core -toUTF8EncodedString: object - ^ (self toString: object) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st b/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st deleted file mode 100644 index 4ccdea3..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/class/toUTF8EncodedStringPretty..st +++ /dev/null @@ -1,3 +0,0 @@ -*ston-utf8-core -toUTF8EncodedStringPretty: object - ^ (self toStringPretty: object) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/STON-UTF8-Core.package/STON.extension/methodProperties.json b/repository/STON-UTF8-Core.package/STON.extension/methodProperties.json deleted file mode 100644 index aff7e6c..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/methodProperties.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "class" : { - "fromUTF8:" : "dkh 06/22/2015 14:49", - "fromUTF8EncodedString:" : "dkh 06/26/2015 11:21", - "put:onStreamUtf8Encoded:" : "dkh 06/26/2015 11:25", - "toUTF8:" : "dkh 06/22/2015 14:50", - "toUTF8EncodedString:" : "dkh 06/26/2015 11:21", - "toUTF8EncodedStringPretty:" : "dkh 06/26/2015 11:21" }, - "instance" : { - } } diff --git a/repository/STON-UTF8-Core.package/STON.extension/properties.json b/repository/STON-UTF8-Core.package/STON.extension/properties.json deleted file mode 100644 index c00d317..0000000 --- a/repository/STON-UTF8-Core.package/STON.extension/properties.json +++ /dev/null @@ -1,2 +0,0 @@ -{ - "name" : "STON" } diff --git a/repository/STON-UTF8-Core.package/monticello.meta/version b/repository/STON-UTF8-Core.package/monticello.meta/version index 49f6d88..5f9b8cc 100644 --- a/repository/STON-UTF8-Core.package/monticello.meta/version +++ b/repository/STON-UTF8-Core.package/monticello.meta/version @@ -1 +1 @@ -(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 ()) \ No newline at end of file +(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