Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Unified Diff: ppapi/native_client/tests/ppapi_browser/ppb_widget/ppapi_ppb_widget.cc

Issue 7740013: Cloning a bunch of stuff from the native_client repository at r6528 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/tests/ppapi_browser/ppb_widget/ppapi_ppb_widget.cc
===================================================================
--- ppapi/native_client/tests/ppapi_browser/ppb_widget/ppapi_ppb_widget.cc (revision 0)
+++ ppapi/native_client/tests/ppapi_browser/ppb_widget/ppapi_ppb_widget.cc (revision 0)
@@ -0,0 +1,93 @@
+// Copyright (c) 2011 The Native Client Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "native_client/src/include/nacl_macros.h"
+#include "native_client/src/shared/platform/nacl_check.h"
+#include "native_client/tests/ppapi_test_lib/get_browser_interface.h"
+#include "native_client/tests/ppapi_test_lib/test_interface.h"
+#include "ppapi/c/dev/ppb_scrollbar_dev.h"
+#include "ppapi/c/dev/ppb_widget_dev.h"
+#include "ppapi/c/pp_bool.h"
+#include "ppapi/c/pp_errors.h"
+#include "ppapi/c/pp_rect.h"
+#include "ppapi/c/ppb_core.h"
+#include "ppapi/c/ppb_image_data.h"
+#include "ppapi/c/ppb_url_loader.h"
+#include "ppapi/c/ppp_messaging.h"
+
+namespace {
+
+const PP_Bool kVertical = PP_TRUE;
+
+// The only widgets that are currently implemented are scrollbars.
+
+// Test the PPB_Widget_Dev::IsWidget() method.
+void TestIsWidget() {
+ EXPECT(PPBWidgetDev()->IsWidget(kInvalidResource) == PP_FALSE);
+ EXPECT(PPBWidgetDev()->IsWidget(kNotAResource) == PP_FALSE);
+
+ PP_Resource url_loader = PPBURLLoader()->Create(pp_instance());
+ CHECK(url_loader != kInvalidResource);
+ EXPECT(PPBWidgetDev()->IsWidget(url_loader) == PP_FALSE);
+ PPBCore()->ReleaseResource(url_loader);
+
+ PP_Resource scrollbar = PPBScrollbarDev()->Create(pp_instance(), kVertical);
+ EXPECT(PPBWidgetDev()->IsWidget(scrollbar) == PP_TRUE);
+
+ PPBCore()->ReleaseResource(scrollbar);
+
+ EXPECT(PPBWidgetDev()->IsWidget(scrollbar) == PP_FALSE);
+
+ TEST_PASSED;
+}
+
+// Test the PPB_Widget_Dev::GetLocation() and SetLocation() methods.
+void TestLocation() {
+ PP_Resource scrollbar = PPBScrollbarDev()->Create(pp_instance(), kVertical);
+ PP_Rect location = { {1, 2}, {3, 4} };
+ PPBWidgetDev()->SetLocation(scrollbar, &location);
+ PP_Rect get_location = { {0, 0}, {1, 1} };
+ PPBWidgetDev()->GetLocation(scrollbar, &get_location);
+ EXPECT(
+ get_location.point.x == location.point.x &&
+ get_location.point.y == location.point.y &&
+ get_location.size.width == location.size.width &&
+ get_location.size.height == location.size.height);
+
+ PP_Rect far_and_big = { {1000000, 1000000}, {1000000, 1000000} };
+ PPBWidgetDev()->SetLocation(scrollbar, &far_and_big);
+ PPBWidgetDev()->GetLocation(scrollbar, &get_location);
+ EXPECT(
+ get_location.point.x == far_and_big.point.x &&
+ get_location.point.y == far_and_big.point.y &&
+ get_location.size.width == far_and_big.size.width &&
+ get_location.size.height == far_and_big.size.height);
+
+ PP_Rect neg_location = { {-1, -2}, {3, 4} };
+ PPBWidgetDev()->SetLocation(scrollbar, &neg_location);
+ PPBWidgetDev()->GetLocation(scrollbar, &get_location);
+ EXPECT(
+ get_location.point.x == neg_location.point.x &&
+ get_location.point.y == neg_location.point.y &&
+ get_location.size.width == neg_location.size.width &&
+ get_location.size.height == neg_location.size.height);
+
+ // TODO(bbudge) Add test for negative size components.
+ // http://code.google.com/p/chromium/issues/detail?id=90792
+
+ PPBCore()->ReleaseResource(scrollbar);
+
+ TEST_PASSED;
+}
+
+} // namespace
+
+void SetupTests() {
+ RegisterTest("TestIsWidget", TestIsWidget);
+ RegisterTest("TestLocation", TestLocation);
+}
+
+void SetupPluginInterfaces() {
+}
+

Powered by Google App Engine
This is Rietveld 408576698