예제 #1
0
TEST_F(ScriptRunnerTest, ResumeAndSuspend_Async)
{
    OwnPtrWillBeRawPtr<MockScriptLoader> scriptLoader1 = MockScriptLoader::create(m_element.get());
    OwnPtrWillBeRawPtr<MockScriptLoader> scriptLoader2 = MockScriptLoader::create(m_element.get());
    OwnPtrWillBeRawPtr<MockScriptLoader> scriptLoader3 = MockScriptLoader::create(m_element.get());

    m_scriptRunner->queueScriptForExecution(scriptLoader1.get(), ScriptRunner::ASYNC_EXECUTION);
    m_scriptRunner->queueScriptForExecution(scriptLoader2.get(), ScriptRunner::ASYNC_EXECUTION);
    m_scriptRunner->queueScriptForExecution(scriptLoader3.get(), ScriptRunner::ASYNC_EXECUTION);

    m_scriptRunner->notifyScriptReady(scriptLoader1.get(), ScriptRunner::ASYNC_EXECUTION);
    m_scriptRunner->notifyScriptReady(scriptLoader2.get(), ScriptRunner::ASYNC_EXECUTION);
    m_scriptRunner->notifyScriptReady(scriptLoader3.get(), ScriptRunner::ASYNC_EXECUTION);

    EXPECT_CALL(*scriptLoader1, execute())
        .WillOnce(Invoke([this] {
            m_order.append(1);
        }));
    EXPECT_CALL(*scriptLoader2, execute())
        .WillOnce(Invoke([this] {
            m_order.append(2);
        }));
    EXPECT_CALL(*scriptLoader3, execute())
        .WillOnce(Invoke([this] {
            m_order.append(3);
        }));

    m_platform.runSingleTask();
    m_scriptRunner->suspend();
    m_scriptRunner->resume();
    m_platform.runAllTasks();

    // Make sure elements are correct.
    EXPECT_THAT(m_order, WhenSorted(ElementsAre(1, 2, 3)));
}
예제 #2
0
TEST( IdentifierCompleterTest, ManyCandidateSimple ) {
  EXPECT_THAT( IdentifierCompleter(
                 StringVector(
                   "foobar",
                   "foobartest",
                   "Foobartest" ) ).CandidatesForQuery( "fbr" ),
               WhenSorted( ElementsAre( "Foobartest",
                                        "foobar",
                                        "foobartest" ) ) );
}