diff --git a/extensions/universalchardet/tests/Makefile.in b/extensions/universalchardet/tests/Makefile.in index e235d54e7c0a..cc7301e20fec 100644 --- a/extensions/universalchardet/tests/Makefile.in +++ b/extensions/universalchardet/tests/Makefile.in @@ -20,6 +20,7 @@ # the Initial Developer. All Rights Reserved. # # Contributor(s): +# Proofpoint, Inc. # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or @@ -46,20 +47,21 @@ MODULE = universalchardet MOZILLA_INTERNAL_API = 1 REQUIRES = xpcom \ - chardet \ $(NULL) CPPSRCS = \ UniversalChardetTest.cpp \ $(NULL) +LOCAL_INCLUDES = -I$(srcdir)/../src/base + SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) include $(topsrcdir)/config/config.mk LIBS += \ $(LIBS_DIR) \ - $(XPCOM_LIBS) \ + $(DIST)/lib/$(LIB_PREFIX)universalchardet_s.$(LIB_SUFFIX) \ $(NSPR_LIBS) \ $(NULL) diff --git a/extensions/universalchardet/tests/UniversalChardetTest.cpp b/extensions/universalchardet/tests/UniversalChardetTest.cpp index fa3d34bba101..c37761753d00 100644 --- a/extensions/universalchardet/tests/UniversalChardetTest.cpp +++ b/extensions/universalchardet/tests/UniversalChardetTest.cpp @@ -21,6 +21,7 @@ * * Contributor(s): * Pierre Phaneuf + * Proofpoint, Inc. * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or @@ -35,10 +36,6 @@ * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ -#include "nsISupports.h" -#include "nsIComponentManager.h" -#include "nsICharsetDetector.h" -#include "nsICharsetDetectionObserver.h" #include #include #if defined(XP_WIN) || defined(XP_OS2) @@ -47,6 +44,8 @@ #if defined(XP_UNIX) || defined(XP_BEOS) #include #endif +#include "nscore.h" +#include "nsUniversalDetector.h" #define MAXBSIZE (1L << 13) @@ -57,44 +56,21 @@ void usage() { , MAXBSIZE); } -class nsReporter : public nsICharsetDetectionObserver +class nsUniversalChardetTest : public nsUniversalDetector { - NS_DECL_ISUPPORTS public: - nsReporter() { }; - virtual ~nsReporter() { }; + nsUniversalChardetTest() { }; + virtual ~nsUniversalChardetTest() { }; - NS_IMETHOD Notify(const char* aCharset, nsDetectionConfident aConf) + bool done() const { return mDone; } + + private: + virtual void Report(const char* aCharset) { printf("RESULT CHARSET : %s\n", aCharset); - printf("RESULT Confident : %d\n", aConf); - return NS_OK; }; }; - -NS_IMPL_ISUPPORTS1(nsReporter, nsICharsetDetectionObserver) - -nsresult GetDetector(const char* key, nsICharsetDetector** det) -{ - char buf[128]; - strcpy(buf, NS_CHARSET_DETECTOR_CONTRACTID_BASE); - strcat(buf, key); - return CallCreateInstance(buf, det); -} - - -nsresult GetObserver(nsICharsetDetectionObserver** aRes) -{ - *aRes = nsnull; - nsReporter* rep = new nsReporter(); - if(rep) { - return rep->QueryInterface(NS_GET_IID(nsICharsetDetectionObserver) , - (void**)aRes); - } - return NS_ERROR_OUT_OF_MEMORY; -} - int main(int argc, char** argv) { char buf[MAXBSIZE]; PRUint32 bs; @@ -112,26 +88,10 @@ int main(int argc, char** argv) { return(-1); } nsresult rev = NS_OK; - nsICharsetDetector *det = nsnull; - rev = GetDetector("universal_charset_detector", &det); - if(NS_FAILED(rev) || (nsnull == det) ){ + nsUniversalChardetTest *det = new nsUniversalChardetTest; + if(nsnull == det){ usage(); printf("Error: Could not find Universal Detector\n"); - printf("XPCOM ERROR CODE = %x\n", rev); - return(-1); - } - nsICharsetDetectionObserver *obs = nsnull; - rev = GetObserver(&obs); - if(NS_SUCCEEDED(rev)) { - rev = det->Init(obs); - NS_IF_RELEASE(obs); - if(NS_FAILED(rev)) - { - printf("XPCOM ERROR CODE = %x\n", rev); - return(-1); - } - } else { - printf("XPCOM ERROR CODE = %x\n", rev); return(-1); } @@ -142,26 +102,17 @@ int main(int argc, char** argv) { sz = read(0, buf, bs); if(sz > 0) { if(! done) { - rev = det->DoIt( buf, sz, &done); + rev = det->HandleData( buf, sz); if(NS_FAILED(rev)) { - printf("XPCOM ERROR CODE = %x\n", rev); + printf("HANDLEDATA ERROR CODE = %x\n", rev); return(-1); } } } - } while((sz > 0) && (!done) ); + } while((sz > 0) && (!det->done()) ); //} while(sz > 0); - if(!done) - { - rev = det->Done(); - if(NS_FAILED(rev)) - { - printf("XPCOM ERROR CODE = %x\n", rev); - return(-1); - } - } + det->DataEnd(); - NS_IF_RELEASE(det); return (0); }