core: add simple tests for interface wrappers
authorU. Artie Eoff <ullysses.a.eoff@intel.com>
Fri, 25 Jan 2013 01:06:58 +0000 (17:06 -0800)
committerU. Artie Eoff <ullysses.a.eoff@intel.com>
Fri, 25 Jan 2013 01:06:58 +0000 (17:06 -0800)
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
src/core/compositor.cpp
src/core/display.cpp
src/core/pointer.cpp
src/core/seat.cpp
src/core/shell.cpp
src/core/surface.cpp

index 93f5c6c..299e7db 100644 (file)
@@ -15,3 +15,13 @@ Compositor::Compositor(const Display& display)
 {
        wl_compositor_destroy(*this);
 }
+
+TEST(Compositor, "Core/Wrapper")
+{
+       Display display;
+       Compositor compositor(display);
+
+       FAIL_UNLESS_EQUAL(&compositor.display(), &display);
+       FAIL_IF((wl_compositor*)compositor == NULL);
+       FAIL_UNLESS_EQUAL(wl_compositor_get_user_data(compositor), &compositor);
+}
index 629f91e..8b453b7 100644 (file)
@@ -46,3 +46,11 @@ void Display::dispatch() const
 
        display->globals_[std::string(interface)] = GlobalInfo(id, version);
 }
+
+TEST(Display, "Core/Wrapper")
+{
+       Display display;
+
+       FAIL_IF((wl_display*)display == NULL);
+       FAIL_UNLESS_EQUAL(wl_display_get_user_data(display), &display);
+}
index 70a076d..b2b268e 100644 (file)
@@ -101,3 +101,16 @@ bool Pointer::hasFocus(const Surface* surface)
        pointer->axis_ = axis;
        pointer->axisValue_ = wl_fixed_to_double(value);
 }
+
+TEST(Pointer, "Core/Wrapper")
+{
+       Display display;
+       Seat seat(display);
+       Pointer pointer(seat);
+
+       FAIL_UNLESS_EQUAL(&pointer.seat(), &seat);
+       FAIL_IF((wl_pointer*)pointer == NULL);
+       FAIL_UNLESS_EQUAL(wl_pointer_get_user_data(pointer), &pointer);
+       FAIL_UNLESS(pointer.hasFocus(NULL));
+}
+
index e55167d..716f772 100644 (file)
@@ -28,3 +28,14 @@ Seat::Seat(const Display& display)
 
        seat->capabilities_ = caps;
 }
+
+TEST(Seat, "Core/Wrapper")
+{
+       Display display;
+       Seat seat(display);
+
+       FAIL_UNLESS_EQUAL(&seat.display(), &display);
+       FAIL_IF((wl_seat*)seat == NULL);
+       FAIL_UNLESS_EQUAL(wl_seat_get_user_data(seat), &seat);
+       FAIL_IF_EQUAL(seat.capabilities(), 0u);
+}
\ No newline at end of file
index a25496d..e1d5cca 100644 (file)
@@ -17,3 +17,13 @@ Shell::Shell(const Display& display)
 {
        wl_shell_destroy(*this);
 }
+
+TEST(Shell, "Core/Wrapper")
+{
+       Display display;
+       Shell shell(display);
+
+       FAIL_UNLESS_EQUAL(&shell.display(), &display);
+       FAIL_IF((wl_shell*)shell == NULL);
+       FAIL_UNLESS_EQUAL(wl_shell_get_user_data(shell), &shell);
+}
index 8af69d1..b7f78d8 100644 (file)
@@ -56,3 +56,14 @@ void Surface::commit() const
        Surface* surface = static_cast<Surface*>(data);
        ASSERT(wl_surface == *surface);
 }
+
+TEST(Surface, "Core/Wrapper")
+{
+       Display display;
+       Compositor compositor(display);
+       Surface surface(compositor);
+
+       FAIL_UNLESS_EQUAL(&surface.compositor(), &compositor);
+       FAIL_IF((wl_surface*)surface == NULL);
+       FAIL_UNLESS_EQUAL(wl_surface_get_user_data(surface), &surface);
+}