Home | History | Annotate | Download | only in jingle_glue
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/memory/scoped_ptr.h"
      6 #include "remoting/jingle_glue/iq_sender.h"
      7 #include "remoting/jingle_glue/signal_strategy.h"
      8 #include "testing/gmock/include/gmock/gmock.h"
      9 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h"
     10 
     11 namespace remoting {
     12 
     13 class MockSignalStrategy : public SignalStrategy {
     14  public:
     15   MockSignalStrategy();
     16   virtual ~MockSignalStrategy();
     17 
     18   MOCK_METHOD0(Connect, void());
     19   MOCK_METHOD0(Disconnect, void());
     20   MOCK_CONST_METHOD0(GetState, State());
     21   MOCK_CONST_METHOD0(GetError, Error());
     22   MOCK_CONST_METHOD0(GetLocalJid, std::string());
     23   MOCK_METHOD1(AddListener, void(Listener* listener));
     24   MOCK_METHOD1(RemoveListener, void(Listener* listener));
     25   MOCK_METHOD0(GetNextId, std::string());
     26 
     27   // GMock currently doesn't support move-only arguments, so we have
     28   // to use this hack here.
     29   MOCK_METHOD1(SendStanzaPtr, bool(buzz::XmlElement* stanza));
     30   virtual bool SendStanza(scoped_ptr<buzz::XmlElement> stanza) OVERRIDE {
     31     return SendStanzaPtr(stanza.release());
     32   }
     33 };
     34 
     35 }  // namespace remoting
     36