gagan%netscape.com f5bf4b3144 Updated tests for nsMemStream testing.
git-svn-id: svn://10.0.0.236/trunk@10136 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-16 10:09:34 +00:00

198 lines
4.4 KiB
C++

// cbView.cpp : implementation of the CCbView class
//
#include "stdafx.h"
#include "cb.h"
#include "cbDoc.h"
#include "cbView.h"
#include <afxcmn.h>
#include "MainFrm.h"
#include "nsCacheManager.h"
#include "nsMemModule.h"
#include "nsDiskModule.h"
#include "nsCacheObject.h"
#include "nsTimeIt.h"
#include "nsCacheBkgThd.h"
#include "nsMemStream.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define ID_TREECTRL (WM_USER +1)
#define STATUS(s) ((CMainFrame*)GetParentFrame())->Status(s)
IMPLEMENT_DYNCREATE(CCbView, CView)
BEGIN_MESSAGE_MAP(CCbView, CView)
//{{AFX_MSG_MAP(CCbView)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCbView construction/destruction
CCbView::CCbView()
{
}
CCbView::~CCbView()
{
}
BOOL CCbView::PreCreateWindow(CREATESTRUCT& cs)
{
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CCbView drawing
void CCbView::OnDraw(CDC* pDC)
{
CRect rect;
GetClientRect(&rect);
pDC->SetBkColor(RGB(192,192,192));
pDC->FillSolidRect(rect, RGB(192,192,192));
rect.DeflateRect(10,10);
pDC->DrawText(m_Mesg.GetBuffer(m_Mesg.GetLength()), -1, rect, DT_WORDBREAK | DT_EXPANDTABS);
}
/////////////////////////////////////////////////////////////////////////////
// CCbView printing
BOOL CCbView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CCbView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
}
void CCbView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
}
/////////////////////////////////////////////////////////////////////////////
// CCbView diagnostics
#ifdef _DEBUG
void CCbView::AssertValid() const
{
CView::AssertValid();
}
void CCbView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CCbDoc* CCbView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCbDoc)));
return (CCbDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CCbView message handlers
void CCbView::OnInitialUpdate()
{
//STATUS("Loading lib...");
nsCacheManager* pCM = nsCacheManager::GetInstance();
nsMemModule* pMM = pCM->GetMemModule();
nsDiskModule* pDM = new nsDiskModule();
pCM->AddModule(pDM);
nsCacheObject* pCO = new nsCacheObject("http://www.netscape.com/");
pCO->Etag("Etag-testing");
pCO->Size(2250);
pCO->LastModified(time(0));
pDM->AddObject(pCO);
/*
// if (!pDM->Contains("http://www.netscape.com/"))
// pDM->AddObject(pCO);
// else
{
nsCacheObject* pTemp = new nsCacheObject("http://www.netscape.com/");
if (pDM->Contains(pTemp))
{
m_Mesg += pTemp->Trace();
}
}
int j = 1000;
char tmpBuff[10];
while (j--)
{
pCO = new nsCacheObject(itoa(j,tmpBuff,10));
VERIFY(pDM->AddObject(pCO));
}
m_Mesg += itoa(pDM->Entries(), tmpBuff, 10);
m_Mesg += " nsCacheObject(s) added.\n";
char* traceBuff =(char*) pCM->Trace();
m_Mesg += "-----------------\n";
m_Mesg += traceBuff;
delete[] traceBuff;
traceBuff = (char*) pMM->Trace();
m_Mesg += traceBuff;
delete[] traceBuff;
m_Mesg += "-----------------\n";
*/
char buffer[10];
m_Mesg += "Worst case time= ";
m_Mesg += itoa(pCM->WorstCaseTime(), buffer, 10);
m_Mesg += " microsec.\n";
m_Mesg += "Worst case time= ";
m_Mesg += itoa(pCM->WorstCaseTime(), buffer, 10);
m_Mesg += " microsec.\n";
PRUint32 t;
/* Test reading and writing to memory streams */
nsMemStream* ms = new nsMemStream();
t = ms->Write("Hello ", 6);
t = ms->Write("World", 5);
char tempBuff[15];
t = ms->Read(&tempBuff, 15);
t = ms->Read(&tempBuff, 6);
delete ms;
/* Time the lookup time */
{
nsTimeIt tmp(t);
if (pCM->Contains("999"))
m_Mesg += "!";
}
m_Mesg += "-----------------\n";
m_Mesg += "An item found in ";
m_Mesg += itoa(t, buffer, 10);
m_Mesg += " microsec.\n";
CView::OnInitialUpdate();
}