aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsyncTest
diff options
context:
space:
mode:
authorZbigniew Szymański <zbigniew.szymanski@wearezeta.com>2014-03-30 12:08:25 +0200
committerZbigniew Szymański <zbigniew.szymanski@wearezeta.com>2014-03-30 12:08:25 +0200
commit55c375a209efe7fcb15467a8bab441d440ba5d70 (patch)
tree37dda3756b26ba39b4652284dc9df7b1cfa8724b /AndroidAsyncTest
parent720044511249c8ad85b986a0ea1c8a7cd8ab38ea (diff)
downloadAndroidAsync-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')
-rw-r--r--AndroidAsyncTest/src/com/koushikdutta/async/test/ByteUtilTests.java59
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");
+ }
}