Edit

kc3-lang/angle/src/libANGLE/signal_utils_unittest.cpp

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2017-04-05 11:22:16
    Hash : 1e5499db
    Message : Refactor Signal utils into template classes. This will allow us to pass on extra information to the receiving end, such as the specific texture levels that are dirty. BUG=angleproject:1635 Change-Id: Idb7ca1d625499e50e7712c458b694f6e9bfc0595 Reviewed-on: https://chromium-review.googlesource.com/453382 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>

  • src/libANGLE/signal_utils_unittest.cpp
  • //
    // Copyright (c) 2016 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    // signal_utils_unittest:
    //   Unit tests for signals and related utils.
    
    #include <gtest/gtest.h>
    
    #include "libANGLE/signal_utils.h"
    
    using namespace angle;
    using namespace testing;
    
    namespace
    {
    
    struct SignalThing : public SignalReceiver<>
    {
        void signal(uint32_t channelID) override { wasSignaled = true; }
        bool wasSignaled = false;
    };
    
    // Test that broadcast signals work.
    TEST(SignalTest, BroadcastSignals)
    {
        BroadcastChannel<> channel;
        SignalThing thing;
        ChannelBinding<> binding(&thing, 0u);
    
        binding.bind(&channel);
        ASSERT_FALSE(thing.wasSignaled);
        channel.signal();
        ASSERT_TRUE(thing.wasSignaled);
    }
    
    }  // anonymous namespace