Skip to content
File

Blob: src/workerd/io/observer-test.c++

659 bytes
1#include "observer.h"
2#include "worker-interface.h"
3 
4#include <kj/test.h>
5 
6namespace workerd {
7namespace {
8 
9KJ_TEST("FeatureObserver") {
10 FeatureObserver::init(FeatureObserver::createDefault());
11 
12 auto& observer = KJ_ASSERT_NONNULL(FeatureObserver::get());
13 
14 observer.use(FeatureObserver::Feature::TEST);
15 observer.use(FeatureObserver::Feature::TEST);
16 observer.use(FeatureObserver::Feature::TEST);
17 
18 uint64_t count = 0;
19 observer.collect([&](FeatureObserver::Feature feature, const uint64_t value) {
20 KJ_ASSERT(feature == FeatureObserver::Feature::TEST);
21 count = value;
22 });
23 KJ_ASSERT(count == 3);
24}
25 
26} // namespace
27} // namespace workerd