diff options
author | Zbigniew Szymański <zbigniew.szymanski@wearezeta.com> | 2014-03-30 12:08:25 +0200 |
---|---|---|
committer | Zbigniew Szymański <zbigniew.szymanski@wearezeta.com> | 2014-03-30 12:08:25 +0200 |
commit | 55c375a209efe7fcb15467a8bab441d440ba5d70 (patch) | |
tree | 37dda3756b26ba39b4652284dc9df7b1cfa8724b /AndroidAsyncTest/src/com/koushikdutta/async/test | |
parent | 720044511249c8ad85b986a0ea1c8a7cd8ab38ea (diff) | |
download | AndroidAsync-55c375a209efe7fcb15467a8bab441d440ba5d70.tar.gz AndroidAsync-55c375a209efe7fcb15467a8bab441d440ba5d70.tar.bz2 AndroidAsync-55c375a209efe7fcb15467a8bab441d440ba5d70.zip |
Restored old TapCallback api, still supporting simplified operations.
Added missing (removed earlier) methods in PushParser, implemented old TapCallback handling on top of simplified PushParser.
Diffstat (limited to 'AndroidAsyncTest/src/com/koushikdutta/async/test')
-rw-r--r-- | AndroidAsyncTest/src/com/koushikdutta/async/test/ByteUtilTests.java | 59 |
1 files changed, 57 insertions, 2 deletions
diff --git a/AndroidAsyncTest/src/com/koushikdutta/async/test/ByteUtilTests.java b/AndroidAsyncTest/src/com/koushikdutta/async/test/ByteUtilTests.java index 8fd8b6a..0d2f5df 100644 --- a/AndroidAsyncTest/src/com/koushikdutta/async/test/ByteUtilTests.java +++ b/AndroidAsyncTest/src/com/koushikdutta/async/test/ByteUtilTests.java @@ -24,8 +24,8 @@ public class ByteUtilTests extends TestCase { }; new PushParser(mock) .until((byte)0, new NullDataCallback()) - .readInt(new TapCallback<Integer>() { - public void tap(Integer arg) { + .readInt(new PushParser.ParseCallback<Integer>() { + public void parsed(Integer arg) { valRead = arg; } }); @@ -33,4 +33,59 @@ public class ByteUtilTests extends TestCase { Util.emitAllData(mock, new ByteBufferList(bytes)); assertEquals(valRead, 0x0A050505); } + + public void testPushParserTapUntil() { + valRead = 0; + FilteredDataEmitter mock = new FilteredDataEmitter() { + @Override + public boolean isPaused() { + return false; + } + }; + new PushParser(mock) + .until((byte)0, new NullDataCallback()) + .readInt() + .tap(new TapCallback() { + public void parsed(int arg) { + valRead = arg; + } + }); + byte[] bytes = new byte[] { 5, 5, 5, 5, 0, 10, 5, 5, 5 }; + Util.emitAllData(mock, new ByteBufferList(bytes)); + assertEquals(valRead, 0x0A050505); + } + + int readInt; + byte readByte; + String readString; + + public void testTapCallback() { + readInt = 0; + readByte = 0; + readString = ""; + + FilteredDataEmitter mock = new FilteredDataEmitter() { + @Override + public boolean isPaused() { + return false; + } + }; + new PushParser(mock) + .readInt() + .readByte() + .readString() + .tap(new TapCallback() { + void tap(int i, byte b, String s) { + readInt = i; + readByte = b; + readString = s; + } + }); + + byte[] bytes = new byte[] { 10, 5, 5, 5, 3, 0, 0, 0, 4, 116, 101, 115, 116 }; + Util.emitAllData(mock, new ByteBufferList(bytes)); + assertEquals(readInt, 0x0A050505); + assertEquals(readByte, (byte) 3); + assertEquals(readString, "test"); + } } |