本文整理汇总了C++中FormData::copy方法的典型用法代码示例。如果您正苦于以下问题:C++ FormData::copy方法的具体用法?C++ FormData::copy怎么用?C++ FormData::copy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FormData
的用法示例。
在下文中一共展示了FormData::copy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TestNetworkPostTransfer
/**
* Test a POST form transfer
*/
static void TestNetworkPostTransfer()
{
// FIXME Setup a http server to serve the files
TestManager::AssertTrue("No web server setup for the tests", false);
return;
const std::string aURL(TEST_WEB_SITE"testpostwithparam.php");
std::string aPath = TestManager::GetInstance().getPath() + "NetworkTests/Refs/testpostwithparam.html";
const std::string aRef(aPath);
BIResourceHandleManager* aResourceHandleManager = getBIResourceHandleManager();
TestManager::AssertTrue("Transfer Job Manager obtained", aResourceHandleManager != NULL);
std::string aFileName;
GetTemporaryUnexistingFileName("/tmp/transfer", ".txt", aFileName);
TestResourceHandleClient aTestResourceHandleClient(aFileName);
FormData formData;
DeprecatedString aParams;
aParams = "param1=toto¶m2=kiki";
formData.appendData( static_cast<const void *> (aParams.ascii()), aParams.length() );
ResourceRequest aResourceRequest = ResourceRequest(static_cast<const KURL&> (aURL.c_str()));
aResourceRequest.setHTTPMethod("POST");
aResourceRequest.setHTTPReferrer(TEST_WEB_SITE);
aResourceRequest.setHTTPBody(formData.copy());;
RefPtr<BIResourceHandle> aResourceHandle = BIResourceHandle::create(aResourceRequest, &aTestResourceHandleClient, 0, false, false, false);
TestManager::AssertTrue("FormData flatten", aResourceRequest.httpBody()->flattenToString() == "param1=toto¶m2=kiki" );
TestManager::AssertTrue("Form data with correct element", aResourceRequest.httpBody()->elements().size() == 1 );
TestManager::AssertTrue("Correct Metadata", aResourceRequest.httpReferrer() == TEST_WEB_SITE );
TestManager::AssertTrue("Correct Method", aResourceHandle->method() == "POST");
gTransferFileCount = 1;
// Wait for the end of the transfer.
gTimeout = false;
WebCore::Timer<NetworkTest> aTimeoutTimer(NULL,&NetworkTest::TimeoutCallback);
aTimeoutTimer.startOneShot(20); // timeout in 20s
BIEventLoop* aEventLoop = BAL::getBIEventLoop();
BIEvent* event;
while( gTransferFileCount && !gTimeout ) {
aEventLoop->WaitEvent(event);
}
TestManager::AssertTrue("Transfer done", !gTransferFileCount );
BALFileComparison aFileComparison;
bool bEqual = aFileComparison.AreEqual( aFileName, aRef );
TestManager::AssertTrue("File as expected", bEqual );
unlink( aFileName.c_str() );
}