1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #import "base/mac/scoped_sending_event.h"
7 #include "testing/gtest/include/gtest/gtest.h"
11 // Sets the flag within scope, resets when leaving scope.
12 TEST(ScopedSendingEventTest, SetHandlingSendEvent) {
13 id<CrAppProtocol> app = NSApp;
14 EXPECT_FALSE([app isHandlingSendEvent]);
16 base::mac::ScopedSendingEvent is_handling_send_event;
17 EXPECT_TRUE([app isHandlingSendEvent]);
19 EXPECT_FALSE([app isHandlingSendEvent]);
22 // Nested call restores previous value rather than resetting flag.
23 TEST(ScopedSendingEventTest, NestedSetHandlingSendEvent) {
24 id<CrAppProtocol> app = NSApp;
25 EXPECT_FALSE([app isHandlingSendEvent]);
27 base::mac::ScopedSendingEvent is_handling_send_event;
28 EXPECT_TRUE([app isHandlingSendEvent]);
30 base::mac::ScopedSendingEvent nested_is_handling_send_event;
31 EXPECT_TRUE([app isHandlingSendEvent]);
33 EXPECT_TRUE([app isHandlingSendEvent]);
35 EXPECT_FALSE([app isHandlingSendEvent]);