diff -r d187e7fc9970 -r ef7abb48573b tests.cpp --- a/tests.cpp Sat Oct 06 21:08:55 2012 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -#include "jsonsax.hpp" - -#include -#include - -// #define DEBUGTEST -class JSLXTester : public IJSLXBackend -{ -public: - explicit JSLXTester(const char* json) - : m_json(json) - {} - - void debug(const char* data) - { -#ifdef DEBUGTEST - std::cerr << std::endl << "-*- " << data << " -*-" << std::endl; -#endif - } - - virtual bool Eof() - { - return *m_json == '\0'; - } - - virtual char GetChar() - { - assert(!Eof()); -#ifdef DEBUGTEST - std::cerr.put(*m_json == ' ' ? '_' : *m_json); -#endif - return *m_json++; - } - - virtual bool OnStartObject() - { - assert(m_json[-1] == '{'); - debug("OnStartObject"); - return true; - } - - virtual bool OnStopObject() - { - assert(m_json[-1] == '}'); - debug("OnStopObject"); - return true; - } - - virtual bool OnStartArray() - { - assert(m_json[-1] == '['); - debug("OnStartArray"); - return true; - } - - virtual bool OnStopArray() - { - assert(m_json[-1] == ']'); - debug("OnStopArray"); - return true; - } - - virtual bool OnStartNumber() - { - // assert(m_json[-1] == ']'); - debug("OnStartNumber"); - return true; - } - - virtual bool OnStopNumber() - { - // assert(m_json[-1] == ']'); - debug("OnStopNumber"); - return true; - } - - virtual bool OnStartString() - { - assert(m_json[-1] == '"'); - debug("OnStartString"); - return true; - } - - virtual bool OnStopString() - { - assert(m_json[-1] == '"'); - debug("OnStopString"); - return true; - } - - virtual bool OnNull() - { - // assert(m_json[-1] == ']'); - debug("OnNull"); - return true; - } - - virtual bool OnTrue() - { - // assert(m_json[-1] == ']'); - debug("OnTrue"); - return true; - } - - virtual bool OnFalse() - { - // assert(m_json[-1] == ']'); - debug("OnFalse"); - return true; - } - - virtual void OnError(const char* err) - { - debug("Error"); - debug(err); - } - - bool Check() - { - return Eof(); - } - -private: - const char* m_json; -}; - -int main() -{ - const char json[] = - "{ \"hello\" : [ 11, 12 ,1" - "3 ], \n \"world\" : -3.45e2 }"; - JSLXTester tester(json); - JSLXParser parser(&tester); - assert(parser.Parse()); - assert(tester.Check()); - - return 0; -}