00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <gtest/gtest.h>
00020 #include <gmock/gmock.h>
00021 #include "CMSWindowsClipboard.h"
00022 #include "IMSWindowsClipboardFacade.h"
00023
00024 class CMSWindowsClipboardTests : public ::testing::Test
00025 {
00026 protected:
00027 virtual void SetUp()
00028 {
00029 emptyClipboard();
00030 }
00031
00032 virtual void TearDown()
00033 {
00034 emptyClipboard();
00035 }
00036
00037 private:
00038 void emptyClipboard()
00039 {
00040 CMSWindowsClipboard clipboard(NULL);
00041 clipboard.open(0);
00042 clipboard.empty();
00043 }
00044 };
00045
00046 class MockFacade : public IMSWindowsClipboardFacade
00047 {
00048 public:
00049 MOCK_METHOD2(write, void(HANDLE, UINT));
00050 };
00051
00052 TEST_F(CMSWindowsClipboardTests, emptyUnowned_openCalled_returnsTrue)
00053 {
00054 CMSWindowsClipboard clipboard(NULL);
00055 clipboard.open(0);
00056
00057 bool actual = clipboard.emptyUnowned();
00058
00059 EXPECT_EQ(true, actual);
00060 }
00061
00062 TEST_F(CMSWindowsClipboardTests, empty_openCalled_returnsTrue)
00063 {
00064 CMSWindowsClipboard clipboard(NULL);
00065 clipboard.open(0);
00066
00067 bool actual = clipboard.empty();
00068
00069 EXPECT_EQ(true, actual);
00070 }
00071
00072 TEST_F(CMSWindowsClipboardTests, empty_singleFormat_hasReturnsFalse)
00073 {
00074 CMSWindowsClipboard clipboard(NULL);
00075 clipboard.open(0);
00076 clipboard.add(CMSWindowsClipboard::kText, "synergy rocks!");
00077
00078 clipboard.empty();
00079
00080 bool actual = clipboard.has(CMSWindowsClipboard::kText);
00081 EXPECT_EQ(false, actual);
00082 }
00083
00084 TEST_F(CMSWindowsClipboardTests, add_newValue_valueWasStored)
00085 {
00086 CMSWindowsClipboard clipboard(NULL);
00087 clipboard.open(0);
00088
00089 clipboard.add(IClipboard::kText, "synergy rocks!");
00090
00091 CString actual = clipboard.get(IClipboard::kText);
00092 EXPECT_EQ("synergy rocks!", actual);
00093 }
00094
00095 TEST_F(CMSWindowsClipboardTests, add_newValue_writeWasCalled)
00096 {
00097 MockFacade facade;
00098 EXPECT_CALL(facade, write(testing::_, testing::_));
00099
00100 CMSWindowsClipboard clipboard(NULL);
00101 clipboard.setFacade(facade);
00102 clipboard.open(0);
00103
00104 clipboard.add(IClipboard::kText, "synergy rocks!");
00105 }
00106
00107 TEST_F(CMSWindowsClipboardTests, add_replaceValue_valueWasReplaced)
00108 {
00109 CMSWindowsClipboard clipboard(NULL);
00110 clipboard.open(0);
00111
00112 clipboard.add(IClipboard::kText, "synergy rocks!");
00113 clipboard.add(IClipboard::kText, "maxivista sucks");
00114
00115 CString actual = clipboard.get(IClipboard::kText);
00116 EXPECT_EQ("maxivista sucks", actual);
00117 }
00118
00119 TEST_F(CMSWindowsClipboardTests, open_timeIsZero_returnsTrue)
00120 {
00121 CMSWindowsClipboard clipboard(NULL);
00122
00123 bool actual = clipboard.open(0);
00124
00125 EXPECT_EQ(true, actual);
00126 }
00127
00128 TEST_F(CMSWindowsClipboardTests, open_timeIsOne_returnsTrue)
00129 {
00130 CMSWindowsClipboard clipboard(NULL);
00131
00132 bool actual = clipboard.open(1);
00133
00134 EXPECT_EQ(true, actual);
00135 }
00136
00137 TEST_F(CMSWindowsClipboardTests, close_isOpen_noErrors)
00138 {
00139 CMSWindowsClipboard clipboard(NULL);
00140 clipboard.open(0);
00141
00142 clipboard.close();
00143
00144
00145 }
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174 TEST_F(CMSWindowsClipboardTests, has_withFormatAdded_returnsTrue)
00175 {
00176 CMSWindowsClipboard clipboard(NULL);
00177 clipboard.open(0);
00178 clipboard.empty();
00179 clipboard.add(IClipboard::kText, "synergy rocks!");
00180
00181 bool actual = clipboard.has(IClipboard::kText);
00182
00183 EXPECT_EQ(true, actual);
00184 }
00185
00186 TEST_F(CMSWindowsClipboardTests, has_withNoFormats_returnsFalse)
00187 {
00188 CMSWindowsClipboard clipboard(NULL);
00189 clipboard.open(0);
00190 clipboard.empty();
00191
00192 bool actual = clipboard.has(IClipboard::kText);
00193
00194 EXPECT_EQ(false, actual);
00195 }
00196
00197 TEST_F(CMSWindowsClipboardTests, get_withNoFormats_returnsEmpty)
00198 {
00199 CMSWindowsClipboard clipboard(NULL);
00200 clipboard.open(0);
00201 clipboard.empty();
00202
00203 CString actual = clipboard.get(IClipboard::kText);
00204
00205 EXPECT_EQ("", actual);
00206 }
00207
00208 TEST_F(CMSWindowsClipboardTests, get_withFormatAdded_returnsExpected)
00209 {
00210 CMSWindowsClipboard clipboard(NULL);
00211 clipboard.open(0);
00212 clipboard.empty();
00213 clipboard.add(IClipboard::kText, "synergy rocks!");
00214
00215 CString actual = clipboard.get(IClipboard::kText);
00216
00217 EXPECT_EQ("synergy rocks!", actual);
00218 }
00219
00220 TEST_F(CMSWindowsClipboardTests, isOwnedBySynergy_defaultState_noError)
00221 {
00222 CMSWindowsClipboard clipboard(NULL);
00223 clipboard.open(0);
00224
00225 bool actual = clipboard.isOwnedBySynergy();
00226
00227 EXPECT_EQ(true, actual);
00228 }