Index: third_party/libjingle_xmpp/xmpp/util_unittest.h |
diff --git a/third_party/libjingle_xmpp/xmpp/util_unittest.h b/third_party/libjingle_xmpp/xmpp/util_unittest.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d88439af30b84a17ce0878f1952a02fdd1d3a443 |
--- /dev/null |
+++ b/third_party/libjingle_xmpp/xmpp/util_unittest.h |
@@ -0,0 +1,52 @@ |
+// Copyright 2004 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef WEBRTC_LIBJINGLE_XMPP_UTIL_UNITTEST_H_ |
+#define WEBRTC_LIBJINGLE_XMPP_UTIL_UNITTEST_H_ |
+ |
+#include <sstream> |
+#include <string> |
+#include "third_party/libjingle_xmpp/xmpp/xmppengine.h" |
+ |
+namespace buzz { |
+ |
+// This class captures callbacks from engine. |
+class XmppTestHandler : public XmppOutputHandler, public XmppSessionHandler, |
+ public XmppStanzaHandler { |
+ public: |
+ explicit XmppTestHandler(XmppEngine* engine) : engine_(engine) {} |
+ virtual ~XmppTestHandler() {} |
+ |
+ void SetEngine(XmppEngine* engine); |
+ |
+ // Output handler |
+ virtual void WriteOutput(const char * bytes, size_t len); |
+ virtual void StartTls(const std::string & cname); |
+ virtual void CloseConnection(); |
+ |
+ // Session handler |
+ virtual void OnStateChange(int state); |
+ |
+ // Stanza handler |
+ virtual bool HandleStanza(const XmlElement* stanza); |
+ |
+ std::string OutputActivity(); |
+ std::string SessionActivity(); |
+ std::string StanzaActivity(); |
+ |
+ private: |
+ XmppEngine* engine_; |
+ std::stringstream output_; |
+ std::stringstream session_; |
+ std::stringstream stanza_; |
+}; |
+ |
+} // namespace buzz |
+ |
+inline std::ostream& operator<<(std::ostream& os, const buzz::Jid& jid) { |
+ os << jid.Str(); |
+ return os; |
+} |
+ |
+#endif // WEBRTC_LIBJINGLE_XMPP_UTIL_UNITTEST_H_ |