blob: be3dd5d0074a526c81c49392e87dc97627025677 [file] [log] [blame]
// Copyright 2018 The Chromium 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 "chrome/browser/vr/elements/button.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace vr {
TEST(Button, Hover) {
base::RepeatingCallback<void()> callback;
Button button(callback, nullptr);
button.set_hover_offset(0.0f);
button.SetSize(1.0f, 1.0f);
gfx::Transform xform = button.hit_plane()->LocalTransform();
button.OnHoverEnter(gfx::PointF(0.5f, 0.5f), base::TimeTicks());
EXPECT_EQ(xform.ToString(), button.hit_plane()->LocalTransform().ToString());
button.OnHoverLeave(base::TimeTicks());
button.set_hover_offset(0.04f);
button.OnHoverEnter(gfx::PointF(0.5f, 0.5f), base::TimeTicks());
EXPECT_NE(xform.ToString(), button.hit_plane()->LocalTransform().ToString());
button.OnHoverLeave(base::TimeTicks());
button.SetEnabled(false);
button.OnHoverEnter(gfx::PointF(0.5f, 0.5f), base::TimeTicks());
EXPECT_EQ(xform.ToString(), button.hit_plane()->LocalTransform().ToString());
button.OnHoverLeave(base::TimeTicks());
}
} // namespace vr