streams: Make GSM48IE>>#length: peek the stream.
Move from array to stream in the length: method.
This commit is contained in:
parent
cb2b8c62bd
commit
f9546520d7
16
GSM48.st
16
GSM48.st
|
@ -45,7 +45,7 @@ GSM48IE subclass: GSM48SimpleTag [
|
|||
yourself
|
||||
]
|
||||
|
||||
GSM48SimpleTag class >> length: aByteArray [
|
||||
GSM48SimpleTag class >> length: aStream [
|
||||
^ 0
|
||||
]
|
||||
|
||||
|
@ -88,8 +88,8 @@ GSM48IE subclass: GSM48DataHolder [
|
|||
^ 1 to: 180
|
||||
]
|
||||
|
||||
GSM48DataHolder class >> length: aByteArray [
|
||||
^ (aByteArray at: 1) + 1.
|
||||
GSM48DataHolder class >> length: aStream [
|
||||
^ aStream peek + 1.
|
||||
]
|
||||
|
||||
GSM48DataHolder class >> initWithData: aData [
|
||||
|
@ -141,7 +141,7 @@ GSM48IE subclass: GSM48SimpleData [
|
|||
yourself.
|
||||
]
|
||||
|
||||
GSM48SimpleData class >> length: aByteArray [
|
||||
GSM48SimpleData class >> length: aStream [
|
||||
^ self length
|
||||
]
|
||||
|
||||
|
@ -326,8 +326,8 @@ GSM48IE subclass: GSM48MIdentity [
|
|||
yourself
|
||||
]
|
||||
|
||||
GSM48MIdentity class >> length: aByteArray [
|
||||
^ (aByteArray at: 1) + 1
|
||||
GSM48MIdentity class >> length: aStream [
|
||||
^ aStream peek + 1
|
||||
]
|
||||
|
||||
GSM48MIdentity class >> parseFrom: aByteArray [
|
||||
|
@ -1201,7 +1201,7 @@ IEMessage subclass: GSM48MSG [
|
|||
dat := dat copyFrom: 2.
|
||||
].
|
||||
|
||||
len := clazz length: dat.
|
||||
len := clazz length: dat readStream.
|
||||
res instVarNamed: name put: (clazz parseFrom: dat).
|
||||
|
||||
"Move the parser forward"
|
||||
|
@ -1229,7 +1229,7 @@ IEMessage subclass: GSM48MSG [
|
|||
ifTrue: [
|
||||
| len data |
|
||||
data := dat copyFrom: 2.
|
||||
len := each value length: data.
|
||||
len := each value length: data readStream.
|
||||
|
||||
"treat the T only tags specially"
|
||||
len = 0
|
||||
|
|
10
Tests.st
10
Tests.st
|
@ -167,7 +167,7 @@ TestCase subclass: GSM48Test [
|
|||
|
||||
self assert: msg asByteArray = res.
|
||||
|
||||
self assert: (GSM48KeySeqLuType length: res) = 1.
|
||||
self assert: (GSM48KeySeqLuType length: res readStream) = 1.
|
||||
gsm := GSM48KeySeqLuType parseFrom: res.
|
||||
self assert: gsm val = 16r70.
|
||||
]
|
||||
|
@ -182,7 +182,7 @@ TestCase subclass: GSM48Test [
|
|||
|
||||
self assert: msg asByteArray = res.
|
||||
|
||||
self assert: (GSM48Lai length: res) = res size.
|
||||
self assert: (GSM48Lai length: res readStream) = res size.
|
||||
gsm := GSM48Lai parseFrom: res.
|
||||
self assert: gsm mcc = 202.
|
||||
self assert: gsm mnc = 5.
|
||||
|
@ -198,7 +198,7 @@ TestCase subclass: GSM48Test [
|
|||
|
||||
self assert: msg asByteArray = res.
|
||||
|
||||
self assert: (GSM48Classmark1 length: res) = res size.
|
||||
self assert: (GSM48Classmark1 length: res readStream) = res size.
|
||||
gsm := GSM48Classmark1 parseFrom: res.
|
||||
self assert: gsm cm1 = 16r33.
|
||||
]
|
||||
|
@ -215,7 +215,7 @@ TestCase subclass: GSM48Test [
|
|||
|
||||
self assert: msg asByteArray = res.
|
||||
|
||||
self assert: (GSM48MIdentity length: res) = res size.
|
||||
self assert: (GSM48MIdentity length: res readStream) = res size.
|
||||
gsm := GSM48MIdentity parseFrom: res.
|
||||
self assert: gsm imsi = imsi.
|
||||
]
|
||||
|
@ -229,7 +229,7 @@ TestCase subclass: GSM48Test [
|
|||
rej writeOnDirect: msg.
|
||||
self assert: msg asByteArray = target.
|
||||
|
||||
self assert: (GSM48RejectCause length: target) = 1.
|
||||
self assert: (GSM48RejectCause length: target readStream) = 1.
|
||||
rej := GSM48RejectCause parseFrom: target.
|
||||
self assert: rej cause = 11.
|
||||
]
|
||||
|
|
Reference in New Issue