Edit

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

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2019-06-18 11:48:24
    Hash : 124f78c2
    Message : Remove gl::Context parameter from Observer functions. It was only used in exactly one instance in VertexArray. Instead we can cache a bool and avoid needing to pass it around. Will make signaling dirty easier in the Vulkan back-end. Bug: angleproject:3539 Change-Id: Ia570aec051a24a5280df49edc4345c54022b46ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663838 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>

  • src/libANGLE/Observer_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.
    //
    // Observer_unittest:
    //   Unit tests for Observers and related classes.
    
    #include <gtest/gtest.h>
    
    #include "libANGLE/Observer.h"
    
    using namespace angle;
    using namespace testing;
    
    namespace
    {
    
    struct ObserverClass : public ObserverInterface
    {
        void onSubjectStateChange(SubjectIndex index, SubjectMessage message) override
        {
            wasNotified = true;
        }
        bool wasNotified = false;
    };
    
    // Test that Observer/Subject state change notifications work.
    TEST(ObserverTest, BasicUsage)
    {
        Subject subject;
        ObserverClass observer;
        ObserverBinding binding(&observer, 0u);
    
        binding.bind(&subject);
        ASSERT_FALSE(observer.wasNotified);
        subject.onStateChange(SubjectMessage::SubjectChanged);
        ASSERT_TRUE(observer.wasNotified);
    }
    
    }  // anonymous namespace