MCPcopy Create free account
hub / github.com/cocos/cocos-engine / TEST

Function TEST

native/tests/unit-test/src/scheduler_test.cpp:33–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31using namespace cc;
32
33TEST(schedulerTest, performInCocosThreadOrder) {
34 auto scheduler = std::make_shared<Scheduler>();
35
36 std::vector<int> orderResult;
37
38 for (int i = 0; i < 10; ++i) {
39 auto task = [&orderResult, i, scheduler](){
40 orderResult.emplace_back(i);
41
42 if (i == 5) {
43 scheduler->performFunctionInCocosThread([&orderResult](){
44 orderResult.emplace_back(10);
45 });
46
47 scheduler->performFunctionInCocosThread([&orderResult](){
48 orderResult.emplace_back(11);
49 });
50
51 scheduler->performFunctionInCocosThread([&orderResult](){
52 orderResult.emplace_back(12);
53 });
54
55 std::this_thread::sleep_for(std::chrono::milliseconds(100));
56 }
57 };
58 scheduler->performFunctionInCocosThread(task);
59 }
60
61 scheduler->runFunctionsToBePerformedInCocosThread();
62 scheduler->runFunctionsToBePerformedInCocosThread();
63
64 const std::vector<int> expectedResult{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
65 EXPECT_EQ(orderResult, expectedResult);
66}

Callers

nothing calls this directly

Tested by

no test coverage detected