diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2019-02-18 13:18:28 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-18 13:18:28 -0800 |
commit | 0e209e80f03e72095e5b449679925066b01403d2 (patch) | |
tree | 881ab37ce5867fd8358d4bdf0195824c47e26be2 /test/org/traccar/protocol/WatchProtocolDecoderTest.java | |
parent | 774d560ecb5f8da9e64059a4d25622c4fba55bf2 (diff) | |
parent | c82be0541481955a0832948574244f31757f7067 (diff) | |
download | trackermap-server-0e209e80f03e72095e5b449679925066b01403d2.tar.gz trackermap-server-0e209e80f03e72095e5b449679925066b01403d2.tar.bz2 trackermap-server-0e209e80f03e72095e5b449679925066b01403d2.zip |
Merge pull request #4221 from flocsy/8bit-voice-message
Fixed 8bit voice message
Diffstat (limited to 'test/org/traccar/protocol/WatchProtocolDecoderTest.java')
-rw-r--r-- | test/org/traccar/protocol/WatchProtocolDecoderTest.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/test/org/traccar/protocol/WatchProtocolDecoderTest.java b/test/org/traccar/protocol/WatchProtocolDecoderTest.java index b7c8d83f9..51846f51a 100644 --- a/test/org/traccar/protocol/WatchProtocolDecoderTest.java +++ b/test/org/traccar/protocol/WatchProtocolDecoderTest.java @@ -1,7 +1,17 @@ package org.traccar.protocol; +import io.netty.buffer.ByteBuf; import org.junit.Test; +import org.traccar.Context; import org.traccar.ProtocolTest; +import org.traccar.database.MediaManager; +import org.traccar.model.Position; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; public class WatchProtocolDecoderTest extends ProtocolTest { @@ -101,7 +111,19 @@ public class WatchProtocolDecoderTest extends ProtocolTest { verifyPosition(decoder, buffer( "[ZJ*014111001350304*0038*008a*UD,070318,021027,V,00.000000,N,000.000000,E,0,0,0,0,100,18,1000,50,00000000,4,255,460,0,9346,5223,42,9346,5214,20,9784,4083,11,9346,5221,5]")); - } + @Test + public void testDecodeVoiceMessage() throws Exception { + WatchProtocolDecoder decoder = new WatchProtocolDecoder(null); + + verifyNull(decoder.decode(null, null, buffer("[CS*1234567890*0004*TK,1]"))); + + String hex = "7d5b5d2c2aff"; + Object decodedObject = decoder.decode(null, null, concatenateBuffers(buffer("[CS*1234567890*000e*TK,#!AMR"), binary(hex), buffer("]"))); + assertTrue("not a position", decodedObject instanceof Position); + Position position = (Position) decodedObject; + assertEquals("1234567890/mock.amr", position.getAttributes().get("audio")); + verifyFrame(concatenateBuffers(buffer("#!AMR"), binary(hex)), ((MockMediaManager) Context.getMediaManager()).readFile("1234567890/mock.amr")); + } } |