diff options
Diffstat (limited to 'c++-libbu++/src/tests')
| -rw-r--r-- | c++-libbu++/src/tests/clone.cpp | 22 | ||||
| -rw-r--r-- | c++-libbu++/src/tests/dump.cpp | 30 | ||||
| -rw-r--r-- | c++-libbu++/src/tests/int.cpp | 47 |
3 files changed, 99 insertions, 0 deletions
diff --git a/c++-libbu++/src/tests/clone.cpp b/c++-libbu++/src/tests/clone.cpp new file mode 100644 index 0000000..8533376 --- /dev/null +++ b/c++-libbu++/src/tests/clone.cpp | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | #include "gats/types.h" | ||
| 2 | |||
| 3 | #include <bu/sio.h> | ||
| 4 | |||
| 5 | using namespace Bu; | ||
| 6 | |||
| 7 | int main( int argc, char *argv[] ) | ||
| 8 | { | ||
| 9 | Gats::Object *pBase = Gats::Object::strToGats("{\"Thing\": 3.14159, \"bool\": true, \"list\":[\"string\",44,{\"Stuff\":{\"list\":[],\"what?\":false}}]}"); | ||
| 10 | |||
| 11 | sio << *pBase << sio.nl; | ||
| 12 | |||
| 13 | Gats::Object *pNew = pBase->clone(); | ||
| 14 | delete pBase; | ||
| 15 | |||
| 16 | sio << *pNew << sio.nl; | ||
| 17 | |||
| 18 | delete pNew; | ||
| 19 | |||
| 20 | return 0; | ||
| 21 | } | ||
| 22 | |||
diff --git a/c++-libbu++/src/tests/dump.cpp b/c++-libbu++/src/tests/dump.cpp new file mode 100644 index 0000000..e0dcb52 --- /dev/null +++ b/c++-libbu++/src/tests/dump.cpp | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | #include <bu/sio.h> | ||
| 2 | #include <bu/file.h> | ||
| 3 | #include <gats/gatsstream.h> | ||
| 4 | #include <gats/types.h> | ||
| 5 | |||
| 6 | using namespace Bu; | ||
| 7 | |||
| 8 | int main( int argc, char *argv[] ) | ||
| 9 | { | ||
| 10 | File fIn( argv[1], File::Read ); | ||
| 11 | Gats::GatsStream gsIn( fIn ); | ||
| 12 | |||
| 13 | for(;;) | ||
| 14 | { | ||
| 15 | sio << "Reading from file position: " << fIn.tell() << sio.nl; | ||
| 16 | Gats::Object *pObj = gsIn.readObject(); | ||
| 17 | if( !pObj ) | ||
| 18 | { | ||
| 19 | if( gsIn.hasReadBuffer() ) | ||
| 20 | { | ||
| 21 | sio << "Premature end of stream detected, have " | ||
| 22 | << gsIn.getReadBufferSize() << "b." << sio.nl; | ||
| 23 | } | ||
| 24 | return 0; | ||
| 25 | } | ||
| 26 | |||
| 27 | sio << *pObj << sio.nl; | ||
| 28 | } | ||
| 29 | } | ||
| 30 | |||
diff --git a/c++-libbu++/src/tests/int.cpp b/c++-libbu++/src/tests/int.cpp new file mode 100644 index 0000000..c19df9c --- /dev/null +++ b/c++-libbu++/src/tests/int.cpp | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | #include "gats/integer.h" | ||
| 2 | |||
| 3 | #include <bu/sio.h> | ||
| 4 | #include <bu/membuf.h> | ||
| 5 | #include <stdlib.h> | ||
| 6 | |||
| 7 | using namespace Bu; | ||
| 8 | |||
| 9 | void hexdump( char *dat, int iSize ) | ||
| 10 | { | ||
| 11 | static const char *hex="0123456789ABCDEF"; | ||
| 12 | printf("----\n"); | ||
| 13 | for( int j = 0; j < iSize; j += 8 ) | ||
| 14 | { | ||
| 15 | for( int k = j; /*k < iSize &&*/ k < j+8; k++ ) | ||
| 16 | printf((k<iSize)?"%c%c ":" ", hex[(dat[k]>>4)&0x0F], hex[dat[k]&0x0F] ); | ||
| 17 | printf("| "); | ||
| 18 | for( int k = j; k < iSize && k < j+8; k++ ) | ||
| 19 | printf("%c ", (dat[k]>13&&dat[k]<127)?(dat[k]):('.') ); | ||
| 20 | printf("\n"); | ||
| 21 | } | ||
| 22 | printf("----\n"); | ||
| 23 | } | ||
| 24 | |||
| 25 | int main( int argc, char *argv[] ) | ||
| 26 | { | ||
| 27 | for( int j = 1; j < argc; j++ ) | ||
| 28 | { | ||
| 29 | int64_t i = strtoll( argv[j], NULL, 10 ); | ||
| 30 | MemBuf mb; | ||
| 31 | Gats::Integer::writePackedInt( mb, i ); | ||
| 32 | hexdump( mb.getString().getStr(), mb.getString().getSize() ); | ||
| 33 | } | ||
| 34 | /* | ||
| 35 | sio << "Before: " << i << sio.nl; | ||
| 36 | Gats::Integer::writePackedInt( mb, i ); | ||
| 37 | mb.write("aaa", 3 ); | ||
| 38 | mb.setPos( 0 ); | ||
| 39 | Gats::Integer::readPackedInt( mb, i ); | ||
| 40 | sio << "After: " << i << sio.nl; | ||
| 41 | char buf[4]; | ||
| 42 | buf[mb.read( buf, 3 )] = '\0'; | ||
| 43 | sio << "Extra: \"" << buf << "\"" << sio.nl; | ||
| 44 | */ | ||
| 45 | return 0; | ||
| 46 | } | ||
| 47 | |||
