void WebViewDestructionWithHostWindow::SetUp() { WebViewDestruction::SetUp(); EXPECT_TRUE(m_window.initialize()); EXPECT_HRESULT_SUCCEEDED(m_webView->setHostWindow(reinterpret_cast<OLE_HANDLE>(m_window.window()))); EXPECT_HRESULT_SUCCEEDED(m_webView->initWithFrame(m_window.clientRect(), 0, 0)); COMPtr<IWebViewPrivate> viewPrivate(Query, m_webView); ASSERT_NOT_NULL(viewPrivate); EXPECT_HRESULT_SUCCEEDED(viewPrivate->viewWindow(reinterpret_cast<OLE_HANDLE*>(&m_viewWindow))); EXPECT_TRUE(::IsWindow(m_viewWindow)); }
TEST_F(CLayoutTests, UserAccountControlLayout) { CComPtr<ILayoutManager> pLayoutManager; CComPtr<IVariantObject> pLayoutObject; EXPECT_HRESULT_SUCCEEDED(LoadAndGetLayout(L"UserAccountControlLayout", &pLayoutManager, &pLayoutObject)); { //Setup layout //CComPtr<IVariantObject> pInfoContainerObject; //EXPECT_HRESULT_SUCCEEDED(HrLayoutFindItemByName(pLayoutObject, L"InfoContainer", &pInfoContainerObject)); //EXPECT_HRESULT_SUCCEEDED(HrLayoutSetVariantValueRecursive(pInfoContainerObject, L"visible", &CComVar(false))); } m_wnd.ResizeClient(WIDTH1, HEIGHT2); EXPECT_HRESULT_SUCCEEDED(BuildAndCompareLayout(pLayoutManager, pLayoutObject, UserAccountControlLayoutResult)); }
HRESULT CScriptEnvTest::ExecuteScript(LPCTSTR source, EXCEPINFO *exc, CComVariant *result) { CComQIPtr<IActiveScriptParse> parser = m_spEngine; DWORD dwFlags = SCRIPTTEXT_ISVISIBLE; if (result) dwFlags |= SCRIPTTEXT_ISEXPRESSION; HRESULT hr = parser->ParseScriptText(source, NULL, NULL, NULL, 0, 0, dwFlags, result, exc); if (SUCCEEDED(hr)) { EXPECT_HRESULT_SUCCEEDED(m_spEngine->SetScriptState(SCRIPTSTATE_STARTED)); EXPECT_EQ(SCRIPTSTATE_STARTED, m_host->m_state); } return hr; }
void WebViewDestruction::SetUp() { EXPECT_HRESULT_SUCCEEDED(WebKitCreateInstance(__uuidof(WebView), &m_webView)); }
TEST_F(WebViewDestructionWithHostWindow, CloseThenDestroyHostWindow) { EXPECT_HRESULT_SUCCEEDED(m_webView->close()); ::DestroyWindow(m_window.window()); }
TEST_F(WebViewDestructionWithHostWindow, DestroyViewWindowThenClose) { ::DestroyWindow(m_viewWindow); EXPECT_HRESULT_SUCCEEDED(m_webView->close()); }
// Tests that calling IWebView::close without calling DestroyWindow, then releasing a WebView doesn't crash. <http://webkit.org/b/32827> TEST_F(WebViewDestructionWithHostWindow, CloseWithoutDestroyViewWindow) { EXPECT_HRESULT_SUCCEEDED(m_webView->close()); }
TEST_F(WebViewDestruction, CloseWithoutInitWithFrame) { EXPECT_HRESULT_SUCCEEDED(m_webView->close()); }
//ゲームの描画 void GameMain::Render(){ //描画開始 // const HRESULT hrClear = sys::Device::GetInst()->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(100, 100, 50), 1.0f, 0); const HRESULT hrClear = sys::Device::GetInst()->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0x00, 0x00, 0xff), 1.0f, 0); //const HRESULT hrClear = sys::Device::GetInst()->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0x00, 0x00, 0xff), 1.0f, 0); //正しく画面クリアされたかどうかtest EXPECT_HRESULT_SUCCEEDED(hrClear); //3Dの描画 if(SUCCEEDED(sys::Device::GetInst()->BeginScene())){ //フォントの描画テスト sys::DebugFont::GetInst()->DrawString( Format( _T("デバッグ実行中") ).str() ); //描画環境の設定 D3DXMATRIXA16 world; D3DXMATRIXA16 worldRot; D3DXMATRIXA16 worldTrans; D3DXMATRIXA16 worldScale; //スケール //D3DXMatrixScaling(&worldScale, 0.01f, 0.01f, 0.01f); D3DXMatrixScaling(&worldScale, 1.0f, 1.0f, 1.0f); //回転処理 D3DXMatrixRotationY(&worldRot, sys::Time::GetInst()->GetTimeApp() / 1000.0f); //移動処理 D3DXMatrixTranslation(&worldTrans, modelX, modelY, modelZ); //スケール×回転 D3DXMatrixMultiply(&world, &worldScale, &worldRot); //×移動 D3DXMatrixMultiply(&world, &world, &worldTrans); D3DXVECTOR3 vEyePt(0.0f, 2.0f, -4.0f); D3DXVECTOR3 vLookatPt(0.0f, 0.0f, 0.0f); D3DXVECTOR3 vUpVec(0.0f, 1.0f, 0.0f); D3DXMATRIXA16 view; D3DXMatrixLookAtLH(&view, &vEyePt, &vLookatPt, &vUpVec); sys::Device::GetInst()->SetTransform(D3DTS_VIEW, &view); D3DXMATRIXA16 proj; //視野角 アスペクト比 最近接距離 最遠方距離 D3DXMatrixPerspectiveFovLH(&proj, D3DX_PI/ 4, 4.0f/3.0f,0.01f,100.0f); sys::Device::GetInst()->SetTransform(D3DTS_WORLD, &world); sys::Device::GetInst()->SetTransform(D3DTS_VIEW, &view); sys::Device::GetInst()->SetTransform(D3DTS_PROJECTION, &proj); //モデルを描画する関数オブジェクト //tuple<XFileのデータ(SmartPtr), ループカウンタ> // struct DrawModelFunctor{ // void operator()(boost::tuples::tuple<SPXFileData, int> t){ // i番目の要素 // SPXFileData xData; // ループカウンタi // int i; // boost::tie(xData, i) = t; // BOOST_ASSERT(xData); // EXPECT_HRESULT_SUCCEEDED(sys::Device::GetInst()->SetMaterial( &xData->meshMaterials_[i] )); // // EXPECT_HRESULT_SUCCEEDED(sys::Device::GetInst()->SetTexture( 0, xData->textures_[i].GetRef() )); // xData->mesh_->DrawSubset(i); // } // }; //描画 // boost::for_each( // boost::combine( // *sys::Models::GetInst(), // boost::counting_range(0, static_cast<int>(sys::Models::GetInst()->size() ) ) // ), // DrawModelFunctor() ); // //モデルデータの表示 for(XFileArray::iterator it = sys::Models::GetInst()->begin(); it != sys::Models::GetInst()->end(); it++){ const DWORD size = (*it)->numMaterials_; BOOST_ASSERT(0 < size); BOOST_ASSERT(size == (*it)->meshMaterials_.size()); //マテリアルをセット for(DWORD i = 0; i < size; i++){ sys::Device::GetInst()->SetMaterial( &(*it)->meshMaterials_.at(i) ); } //テクスチャをセット for(DWORD i = 0; i < size; i++){ sys::Device::GetInst()->SetTexture(0, (*it)->textures_.at(i).get() ); (*it)->mesh_->DrawSubset(i); } // } //四角形のサイズ // const RECT rect2 = {200, 200, 250, 250}; // const RECT rect3 = {2, 2, 4, 4}; // const RECT rect4 = {0,0, 1000, 1000}; // const RECT rect5 = {100, 100 ,50, 50}; // const RECT rect6 = {100,100,150,150}; // const RECT rect7 = {50, 50, 100, 100}; //四角形の描画テスト // sys::Graphic::GetInst()->DrawRect(rect2); // sys::Graphic::GetInst()->DrawRect(rect3); // sys::Graphic::GetInst()->DrawRect(rect4); // sys::Graphic::GetInst()->DrawRect(rect5); // sys::Graphic::GetInst()->DrawRect(rect6); // sys::Graphic::GetInst()->DrawRect(rect7); // this->dinfo_->g->DrawRect(rect2); // this->dinfo_->g->DrawRect(rect3); // this->dinfo_->g->DrawRect(rect4); // this->dinfo_->g->DrawRect(rect5); // this->dinfo_->g->DrawRect(rect6); // this->dinfo_->g->DrawRect(rect7); //画像の描画 const D3DXVECTOR3 pos(100, 100, 0); //sys::Graphic::GetInst()->DrawGraphic(content->GetTexture(_T("test")), pos); //作成したプリミティブの描画 const HRESULT setSSResult = sys::Device::GetInst()->SetStreamSource( 0, vertex->vertexBuffer.get(), 0, sizeof(VertexImplF) ); BOOST_ASSERT(SUCCEEDED(setSSResult)); const HRESULT setfvfResult = sys::Device::GetInst()->SetFVF(D3DFVF_CUSTOMVERTEX); BOOST_ASSERT(SUCCEEDED(setfvfResult)); //const HRESULT drawPrimitiveResult = sys::Device::GetInst()->DrawPrimitive( // D3DPT_TRIANGLESTRIP, // 0, // 2); const HRESULT drawPrimitiveResult = sys::Device::GetInst()->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 ); //BOOST_ASSERT(drawPrimitiveResult != D3DERR_INVALIDCALL); BOOST_ASSERT(SUCCEEDED(drawPrimitiveResult)); //描画終了関数を呼び出すと共に成功したかどうかテスト EXPECT_HRESULT_SUCCEEDED(sys::Device::GetInst()->EndScene()); } else { throw std::runtime_error("3Dの描画に失敗しました"); } //円のサイズ left top right bottom const RECT circle_rect1 = {100, 100, 150, 150}; const RECT circle_rect2 = {10, 10, 15, 15}; //小さすぎて描画できない // const RECT circle_rect3 = {50, 50, 51, 51}; // const RECT circle_rect4 = {0, 0, 1, 1}; // // const RECT circle_rect5 = {1000, 1000, 1500, 1500}; //合格 // const RECT circle_rect6 = {0, 0, 650, 550}; //円を描画 // sys::Graphic::GetInst()->DrawCircle(circle_rect1); // sys::Graphic::GetInst()->DrawCircle(circle_rect2); //小さすぎて描画できない // sys::Graphic::GetInst()->DrawCircle(circle_rect3); // sys::Graphic::GetInst()->DrawCircle(circle_rect4); //大きすぎても描画できない // sys::Graphic::GetInst()->DrawCircle(circle_rect5); //合格 // sys::Graphic::GetInst()->DrawCircle(circle_rect6); const RECT rect2 = {200, 200, 250, 250}; const RECT rect3 = {2, 2, 4, 4}; const RECT rect4 = {0,0, 1000, 1000}; const RECT rect5 = {100, 100 ,50, 50}; const RECT rect6 = {100,100,150,150}; const RECT rect7 = {50, 50, 100, 100}; //ここでも四角形を描画してみる // this->dinfo_->g->DrawRect(rect2); // this->dinfo_->g->DrawRect(rect3); // this->dinfo_->g->DrawRect(rect4); // this->dinfo_->g->DrawRect(rect5); // this->dinfo_->g->DrawRect(rect6); // this->dinfo_->g->DrawRect(rect7); //次のバッファのコンテンツをプレゼンテーション sys::Device::GetInst()->Present(NULL, NULL, NULL, NULL); }