summaryrefslogtreecommitdiff
path: root/chromium/third_party/libjingle/source/talk/xmpp/util_unittest.cc
blob: 3d13007e186c640fd9ff8d89349ff41143486fac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Copyright 2004 Google, Inc. All Rights Reserved.
// Author: Joe Beda

#include <string>
#include <sstream>
#include <iostream>
#include "talk/base/gunit.h"
#include "talk/xmllite/xmlelement.h"
#include "talk/xmpp/xmppengine.h"
#include "talk/xmpp/util_unittest.h"

namespace buzz {

void XmppTestHandler::WriteOutput(const char * bytes, size_t len) {
  output_ << std::string(bytes, len);
}

void XmppTestHandler::StartTls(const std::string & cname) {
  output_ << "[START-TLS " << cname << "]";
}

void XmppTestHandler::CloseConnection() {
  output_ << "[CLOSED]";
}

void XmppTestHandler::OnStateChange(int state) {
  switch (static_cast<XmppEngine::State>(state)) {
  case XmppEngine::STATE_START:
    session_ << "[START]";
    break;
  case XmppEngine::STATE_OPENING:
    session_ << "[OPENING]";
    break;
  case XmppEngine::STATE_OPEN:
    session_ << "[OPEN]";
    break;
  case XmppEngine::STATE_CLOSED:
    session_ << "[CLOSED]";
    switch (engine_->GetError(NULL)) {
    case XmppEngine::ERROR_NONE:
      // do nothing
      break;
    case XmppEngine::ERROR_XML:
      session_ << "[ERROR-XML]";
      break;
    case XmppEngine::ERROR_STREAM:
      session_ << "[ERROR-STREAM]";
      break;
    case XmppEngine::ERROR_VERSION:
      session_ << "[ERROR-VERSION]";
      break;
    case XmppEngine::ERROR_UNAUTHORIZED:
      session_ << "[ERROR-UNAUTHORIZED]";
      break;
    case XmppEngine::ERROR_TLS:
      session_ << "[ERROR-TLS]";
      break;
    case XmppEngine::ERROR_AUTH:
      session_ << "[ERROR-AUTH]";
      break;
    case XmppEngine::ERROR_BIND:
      session_ << "[ERROR-BIND]";
      break;
    case XmppEngine::ERROR_CONNECTION_CLOSED:
      session_ << "[ERROR-CONNECTION-CLOSED]";
      break;
    case XmppEngine::ERROR_DOCUMENT_CLOSED:
      session_ << "[ERROR-DOCUMENT-CLOSED]";
      break;
    default:
      break;
    }
    break;
  default:
    break;
  }
}

bool XmppTestHandler::HandleStanza(const XmlElement * stanza) {
  stanza_ << stanza->Str();
  return true;
}

std::string XmppTestHandler::OutputActivity() {
  std::string result = output_.str();
  output_.str("");
  return result;
}

std::string XmppTestHandler::SessionActivity() {
  std::string result = session_.str();
  session_.str("");
  return result;
}

std::string XmppTestHandler::StanzaActivity() {
  std::string result = stanza_.str();
  stanza_.str("");
  return result;
}

}  // namespace buzz