00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <iostream>
00020 #include <gtest/gtest.h>
00021 #include "CXWindowsClipboard.h"
00022
00023 class CXWindowsClipboardTests : public ::testing::Test
00024 {
00025 protected:
00026 virtual void
00027 SetUp()
00028 {
00029 m_display = XOpenDisplay(NULL);
00030 int screen = DefaultScreen(m_display);
00031 Window root = XRootWindow(m_display, screen);
00032
00033 XSetWindowAttributes attr;
00034 attr.do_not_propagate_mask = 0;
00035 attr.override_redirect = True;
00036 attr.cursor = Cursor();
00037
00038 m_window = XCreateWindow(
00039 m_display, root, 0, 0, 1, 1, 0, 0,
00040 InputOnly, CopyFromParent, 0, &attr);
00041 }
00042
00043 virtual void
00044 TearDown()
00045 {
00046 XDestroyWindow(m_display, m_window);
00047 XCloseDisplay(m_display);
00048 }
00049
00050 CXWindowsClipboard&
00051 createClipboard()
00052 {
00053 CXWindowsClipboard* clipboard;
00054 clipboard = new CXWindowsClipboard(m_display, m_window, 0);
00055 clipboard->open(0);
00056 clipboard->empty();
00057 return *clipboard;
00058 }
00059
00060 Display* m_display;
00061 Window m_window;
00062 };
00063
00064 TEST_F(CXWindowsClipboardTests, empty_openCalled_returnsTrue)
00065 {
00066 CXWindowsClipboard clipboard = createClipboard();
00067
00068 bool actual = clipboard.empty();
00069
00070 EXPECT_EQ(true, actual);
00071 }
00072
00073 TEST_F(CXWindowsClipboardTests, empty_singleFormat_hasReturnsFalse)
00074 {
00075 CXWindowsClipboard clipboard = createClipboard();
00076 clipboard.add(CXWindowsClipboard::kText, "synergy rocks!");
00077
00078 clipboard.empty();
00079
00080 bool actual = clipboard.has(CXWindowsClipboard::kText);
00081 EXPECT_FALSE(actual);
00082 }
00083
00084 TEST_F(CXWindowsClipboardTests, add_newValue_valueWasStored)
00085 {
00086 CXWindowsClipboard clipboard = createClipboard();
00087
00088 clipboard.add(IClipboard::kText, "synergy rocks!");
00089
00090 CString actual = clipboard.get(IClipboard::kText);
00091 EXPECT_EQ("synergy rocks!", actual);
00092 }
00093
00094 TEST_F(CXWindowsClipboardTests, add_replaceValue_valueWasReplaced)
00095 {
00096 CXWindowsClipboard clipboard = createClipboard();
00097
00098 clipboard.add(IClipboard::kText, "synergy rocks!");
00099 clipboard.add(IClipboard::kText, "maxivista sucks");
00100
00101 CString actual = clipboard.get(IClipboard::kText);
00102 EXPECT_EQ("maxivista sucks", actual);
00103 }
00104
00105 TEST_F(CXWindowsClipboardTests, close_isOpen_noErrors)
00106 {
00107 CXWindowsClipboard clipboard = createClipboard();
00108
00109
00110 clipboard.close();
00111
00112
00113 }
00114
00115 TEST_F(CXWindowsClipboardTests, has_withFormatAdded_returnsTrue)
00116 {
00117 CXWindowsClipboard clipboard = createClipboard();
00118 clipboard.add(IClipboard::kText, "synergy rocks!");
00119
00120 bool actual = clipboard.has(IClipboard::kText);
00121
00122 EXPECT_EQ(true, actual);
00123 }
00124
00125 TEST_F(CXWindowsClipboardTests, has_withNoFormats_returnsFalse)
00126 {
00127 CXWindowsClipboard clipboard = createClipboard();
00128
00129 bool actual = clipboard.has(IClipboard::kText);
00130
00131 EXPECT_FALSE(actual);
00132 }
00133
00134 TEST_F(CXWindowsClipboardTests, get_withNoFormats_returnsEmpty)
00135 {
00136 CXWindowsClipboard clipboard = createClipboard();
00137
00138 CString actual = clipboard.get(IClipboard::kText);
00139
00140 EXPECT_EQ("", actual);
00141 }
00142
00143 TEST_F(CXWindowsClipboardTests, get_withFormatAdded_returnsExpected)
00144 {
00145 CXWindowsClipboard clipboard = createClipboard();
00146 clipboard.add(IClipboard::kText, "synergy rocks!");
00147
00148 CString actual = clipboard.get(IClipboard::kText);
00149
00150 EXPECT_EQ("synergy rocks!", actual);
00151 }