Added GLES 1.x spinning cube-rendering code to eglbringuptest
The coordinate, color and index data are uploaded to server-side
buffers by the CGLES1Cube::KhrSetup function. CGLES1Cube::KhrPaint
just sets the view matrix and issues a draw command.
Which demo to display can be selected by passing its name on the
command line, e.g.
eglbringuptest vgline
eglbringuptest gles1cube
If no name is provided, the application defaults to vgline.
// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
//
#include <biditext.h>
#include <bidi.h>
#include <bidivisual.h>
#include "TGraphicsContext.h"
#include "TBiDiDefect.h"
class CTBiDiDefect : public CTGraphicsBase
{
public:
CTBiDiDefect(CTestStep* aStep);
~CTBiDiDefect();
protected:
//from CTGraphicsStep
virtual void RunTestCaseL(TInt aCurTestCase);
private:
void CreateTestGraphicsContextL();
void INC016328L(const TDesC& aTestText);
void INC016665L();
void INC017825L();
void INC017974L();
void INC017991L();
void DEF021227();
void INC023337();
void INC023917();
void DEF037928();
void DEF021347L();
void INC037549L();
void INC042422L();
void DEF059214L();
void TestDEF021347L(TUint16 aControlCharacter);
void TestDEF043720L();
void TestPDEF117110L();
private:
TBidirectionalState::TRunInfo* iRunInfoArray;
CTestFont* iTestFont;
TBidiText* iBidiText;
CTestGraphicsDevice* iTestGraphicsDevice;
CTestGraphicsContext* iTestGraphicsContext;
};
CTBiDiDefect::CTBiDiDefect(CTestStep* aStep) :
CTGraphicsBase(aStep),
iRunInfoArray(NULL),
iTestFont(NULL),
iBidiText(NULL),
iTestGraphicsDevice(NULL),
iTestGraphicsContext(NULL)
{
}
CTBiDiDefect::~CTBiDiDefect()
{
delete iTestGraphicsContext;
delete iTestGraphicsDevice;
delete iBidiText;
delete iTestFont;
delete [] iRunInfoArray;
}
void CTBiDiDefect::RunTestCaseL(TInt aCurTestCase)
{
((CTBiDiDefectStep*)iStep)->SetTestStepID(KUnknownSYMTestCaseIDName);
switch(aCurTestCase)
{
case 1:
{
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0001
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0001"));
TBuf<32> testText(_L(".Test"));
INFO_PRINTF1(_L("INC016328"));
INC016328L(testText);
}
break;
case 2:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0002
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0002"));
INFO_PRINTF1(_L("INC016665"));
INC016665L();
break;
case 3:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0003
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0003"));
INFO_PRINTF1(_L("INC017825"));
INC017825L();
break;
case 4:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0004
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0004"));
INFO_PRINTF1(_L("INC017974"));
INC017974L();
break;
case 5:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0005
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0005"));
INFO_PRINTF1(_L("INC017991"));
INC017991L();
break;
case 6:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0006
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0006"));
INFO_PRINTF1(_L("DEF021227"));
DEF021227();
break;
case 7:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0007
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0007"));
INFO_PRINTF1(_L("DEF021347"));
DEF021347L();
break;
case 8:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0008
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0008"));
INFO_PRINTF1(_L("INC023337"));
INC023337();
break;
case 9:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0009
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0009"));
INFO_PRINTF1(_L("INC023917"));
INC023917();
break;
case 10:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0010
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0010"));
INFO_PRINTF1(_L("DEF037928"));
DEF037928();
break;
case 11:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0011
*/
//INC037549 TBidiText crashes if <CR><LF> appear at the end of the text
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0011"));
INFO_PRINTF1(_L("INC037549L"));
INC037549L();
break;
case 12:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0012
*/
//INC042422 when calculated length in BidiCompact.cpp TRunInfoCompact::Reorder < 0
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0012"));
INFO_PRINTF1(_L("INC042422L"));
INC042422L();
break;
case 13:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0013
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0013"));
INFO_PRINTF1(_L("DEF043720"));
TestDEF043720L();
break;
case 14:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0014
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0014"));
INFO_PRINTF1(_L("DEF059214: Erroneous caret cursor movements"));
DEF059214L();
break;
case 15:
/**
@SYMTestCaseID GRAPHICS-GDI-BiDiDefect-0015
*/
((CTBiDiDefectStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-BiDiDefect-0015"));
INFO_PRINTF1(_L("PDEF117110"));
TestPDEF117110L();
break;
case 16:
((CTBiDiDefectStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName);
((CTBiDiDefectStep*)iStep)->CloseTMSGraphicsStep();
TestComplete();
break;
}
((CTBiDiDefectStep*)iStep)->RecordTestResultL();
}
void CTBiDiDefect::CreateTestGraphicsContextL()
{
delete iTestGraphicsContext;
iTestGraphicsContext = NULL;
delete iTestGraphicsDevice;
iTestGraphicsDevice = NULL;
TSize windowSize(400, 400);
iTestGraphicsDevice = CTestGraphicsDevice::NewL(windowSize);
CGraphicsContext* tContext = NULL;
TEST(iTestGraphicsDevice->CreateContext(tContext) == KErrNone);
iTestGraphicsContext = static_cast<CTestGraphicsContext*>(tContext);
}
//TBidiText crashes if the first character of the text is '.'.
void CTBiDiDefect::INC016328L(const TDesC& aTestText)
{
TInt arraySize = TBidirectionalState::GenerateBdRunArray(aTestText.Ptr(), aTestText.Length(), 0, 0);
iRunInfoArray = new (ELeave) TBidirectionalState::TRunInfo[arraySize];
TBidirectionalState::GenerateBdRunArray(aTestText.Ptr(), aTestText.Length(), iRunInfoArray, arraySize);
TBidirectionalState state;
state.ReorderLine(iRunInfoArray, arraySize, ETrue, ETrue, EFalse, TChar::EOtherNeutral, TChar::EOtherNeutral);
TEST(iRunInfoArray->iLength > 0);
}
//Truncation after space character in Bidirectional text classes.
//Actually it doesn't prove missing space character but proves
//truncation at the middle of "text" word - yet another defect.
void CTBiDiDefect::INC016665L()
{
iTestFont = new (ELeave) CTestFont;
iBidiText = TBidiText::NewL(_L("Truncated text"), 1);
iBidiText->WrapText(110, *iTestFont, NULL);//"Truncated " and "text"
TEST(iBidiText->DisplayText().Length() == 10);
TEST(iBidiText->DisplayText()[9] == 0x2026);
delete (iBidiText);
iBidiText = TBidiText::NewL(_L("Truncated text"), 1);
iBidiText->WrapText(110, *iTestFont, NULL);//"Truncated " and "text"
TEST(iBidiText->DisplayText().Length() == 10);
TEST(iBidiText->DisplayText()[9] == 0x2026);
}
//TBidiText crashes with length 0 descriptor.
void CTBiDiDefect::INC017825L()
{
delete iTestGraphicsContext;
iTestGraphicsContext = NULL;
CreateTestGraphicsContextL();
delete iTestFont;
iTestFont = NULL;
iTestFont = new (ELeave) CTestFont;
delete iBidiText;
iBidiText = NULL;
iBidiText = TBidiText::NewL(KNullDesC(), 1);
iBidiText->WrapText(100, *iTestFont, NULL);
iBidiText->DrawText(*iTestGraphicsContext, TPoint(0, 20), 20, CGraphicsContext::ERight);
}
//BidiText does not show 0x062A character correctly if it is a first character.
void CTBiDiDefect::INC017974L()
{
_LIT(KTextWithLatinLettersFirstArabicLetter, "\x062A abcdef");
delete iTestFont;
iTestFont = NULL;
iTestFont = new (ELeave) CTestFont;
delete iBidiText;
iBidiText = NULL;
iBidiText = TBidiText::NewL(KTextWithLatinLettersFirstArabicLetter, 1);
iBidiText->WrapText(100, *iTestFont, NULL);
const TText* text = iBidiText->DisplayText().Ptr();
TEST(text[7] == 0x062A);//the arabic character should be the first at the end.
}
//TBidiText::DrawText draws out of the area if alignment is right.
void CTBiDiDefect::INC017991L()
{
delete iTestGraphicsContext;
iTestGraphicsContext = NULL;
CreateTestGraphicsContextL();
_LIT(KTextWithLatinLetters, "abc def ghijk lmnop qrstuvw xyz 12.34.");
const TInt KTextWidth = 200;
delete iTestFont;
iTestFont = NULL;
iTestFont = new (ELeave) CTestFont;
delete iBidiText;
iBidiText = NULL;
iBidiText = TBidiText::NewL(KTextWithLatinLetters, 2);
iBidiText->WrapText(KTextWidth, *iTestFont, NULL);
iBidiText->DrawText(*iTestGraphicsContext, TPoint(0, 20), 20, CGraphicsContext::ERight);
const TTestGCDisplayLine& line1 = iTestGraphicsContext->DisplayLine(0);
const TDesC& text1 = line1.iLineData;
TInt width1 = iTestFont->TextWidthInPixels(text1);
TEST((width1 + line1.iLinePos.iX) <= KTextWidth);
const TTestGCDisplayLine& line2 = iTestGraphicsContext->DisplayLine(1);
const TDesC& text2 = line2.iLineData;
TInt width2 = iTestFont->TextWidthInPixels(text2);
TEST((width2 + line2.iLinePos.iX) <= KTextWidth);
}
//TBidiLogicalToVisual seems to lose characters.
void CTBiDiDefect::DEF021227()
{
_LIT(KTestText, "Waitnote + D prompt ");
// _LIT(KTestText, "Waitnote H D prompt ");
TBuf<100> visualText;
visualText.Fill(0xCDCD);
TBidirectionalState::TRunInfo runArray[6];
TBidiLogicalToVisual bidiConverter(KTestText, EFalse, runArray,
sizeof(runArray)/sizeof(runArray[0]));
bidiConverter.Reorder();
TDesC des = KTestText;
bidiConverter.GetVisualLine(visualText, 0, des.Length() - 1, 0xFFFF);
TInt len = visualText.Length();
TEST((des.Length() - 1) == len);
}
//DrawText should not draw control codes (particularly Bidirectional ones)
void CTBiDiDefect::DEF021347L()
{
TestDEF021347L(0x200C);
TestDEF021347L(0x200D);
TestDEF021347L(0x200E);
TestDEF021347L(0x200F);
TestDEF021347L(0x202A);
TestDEF021347L(0x202B);
TestDEF021347L(0x202C);
TestDEF021347L(0x202D);
TestDEF021347L(0x202E);
// Tested in TGLYPHSEL now following rewrite.
//TestDEF021347L(0xFFFF);
}
void CTBiDiDefect::TestDEF021347L(TUint16 aControlCharacter)
{
const TInt KTestTextLen = 5;
TBuf<100> testText(KTestTextLen);
testText[0] = 'a';
testText[1] = 'b';
testText[2] = aControlCharacter;
testText[3] = 'c';
testText[4] = 'd';
delete iTestFont;
iTestFont = NULL;
iTestFont = new (ELeave) CTestFont;
CFont::TPositionParam param;
param.iDirection = 0;
param.iFlags = 1;
param.iText.Set(testText);
param.iPosInText = 0;
param.iPen.iX = 0;
param.iPen.iY = 0;
param.iPosInText = 2; //testText[2] = aControlCharacter
TBool r = iTestFont->GetCharacterPosition(param);
TEST(r && param.iPen.iX == 0 && param.iOutputGlyphs == 0);
}
//TBidiLogicalToVisual::GetVisualLine() panics when aEnd == 0
void CTBiDiDefect::INC023337()
{
_LIT(KTestText, "");
TBuf<100> visualText;
visualText.Fill(0xCDCD);
TBidirectionalState::TRunInfo runArray[6];
TBidiLogicalToVisual bidiConverter(KTestText, EFalse, runArray, sizeof(runArray)/sizeof(runArray[0]));
bidiConverter.Reorder();
TDesC des = KTestText;
const TUint KEmptyChar = TUint(0xFFFF);
//The next statement will panics, if INC023337 is not fixed.
bidiConverter.GetVisualLine(visualText, 0, des.Length(), KEmptyChar);
}
//TBidiLogicalToVisual indexes over the given text.
void CTBiDiDefect::INC023917()
{
const TInt dest_buf_len = 10;
TBidirectionalState::TRunInfo runInfoArray[dest_buf_len];
const TInt src_buf_len = 4;
TBuf<src_buf_len> logical;
logical.Fill(0x0639, src_buf_len);
_LIT(KArabicWord, "\x0631\x0641\x0636");
logical = KArabicWord;
TBidiLogicalToVisual bidiConverter(logical, runInfoArray, sizeof(runInfoArray)/sizeof(runInfoArray[0]));
bidiConverter.Reorder();
TBuf<dest_buf_len> visual;
bidiConverter.GetVisualLine(visual, 0, logical.Length(), 0xFFFF);
TEST(visual[0] == 0x0636);
}
// DEF037928 - TBidiLogicalToVisual::GetVisualLine does not work correctly for 0 length strings
void CTBiDiDefect::DEF037928()
{
// Zero length string for testing
_LIT(KTestText, "");
TBuf<100> visualText;
visualText.Fill(0xCDCD);
visualText.SetMax();
TBidirectionalState::TRunInfo runArray[6];
TBidiLogicalToVisual bidiConverter(KTestText, EFalse, runArray,
sizeof(runArray)/sizeof(runArray[0]));
bidiConverter.Reorder();
bidiConverter.GetVisualLine(visualText, 0, 1, 0xFFFF);
TEST( visualText.Length() == 0);
}
// INC037549 - TBidiText crashes if <CR><LF> appear at the end of the text
void CTBiDiDefect::INC037549L()
{
// This crash occured when the final character is <cr>
// and following memory location is <lf>
// To test this testString has a length of 5, but sPtr has length 4
_LIT( testString, "123\r\n" ) ;
TBuf<5> string( testString ) ;
TPtrC sPtr( string.Ptr(), 4 ) ;
TBidiText* bText = TBidiText::NewL( sPtr, 1, TBidiText::ELeftToRight ) ;
delete bText;
}
// INC042422 - when calculated length in BidiCompact.cpp TRunInfoCompact::Reorder < 0
//
// This defect causes an extra blank line to be added when text contains \r\n
// This was caused by a miscalculation in Biditext.cpp SizeLineBreak().
// this test case is modified due to change of TBidiText::DoWrapText for fixing PDEF117110
void CTBiDiDefect::INC042422L()
{
_LIT( testString, "123\r\n" ) ;
TBidiText* bText = TBidiText::NewL( testString, 1, TBidiText::ELeftToRight ) ;
bText->WrapText(100,*iTestFont,0);
TPtrC text = bText->DisplayText();
// The defect caused text to contain an extra blank line
// So the length was 5 ( text contained:1,2,3, 0x2028, 0x2026)
// when the correct value is 4 (text should contain: 1,2,3, 0x2026)
// Note: Due to fix for PDEF117109, the correct value is 3 now (text contains: 1,2,3)
TEST(text.Length() == 3);
TEST(text[0] == '1');
TEST(text[1] == '2');
TEST(text[2] == '3');
delete bText;
}
//DEF043720 - Assert fails in TBiDiText wrapping when more than one \n is present in the text
void CTBiDiDefect::TestDEF043720L()
{
delete iTestFont;
iTestFont = NULL;
iTestFont = new (ELeave) CTestFont;
delete iBidiText;
iBidiText = NULL;
iBidiText = TBidiText::NewL(_L("\n\nAB\n\n\nCD\n"),10);
iBidiText->WrapText(10,*iTestFont,0);
//After wrapping text should look like "\x2028\x2028A\x2028B\x2028\x2028\x2028C\x2028D"
//where \x2028 is the line separator
TPtrC afterwrap(iBidiText->DisplayText());
TEST(afterwrap.Length()==11);
TEST(afterwrap[0]==0x2028);
TEST(afterwrap[1]==0x2028);
TEST(afterwrap[3]==0x2028);
TEST(afterwrap[5]==0x2028);
TEST(afterwrap[6]==0x2028);
TEST(afterwrap[7]==0x2028);
TEST(afterwrap[9]==0x2028);
INFO_PRINTF1(iBidiText->DisplayText());
delete iBidiText;
iBidiText = NULL;
delete iTestFont;
iTestFont = NULL;
}
void CTBiDiDefect::DEF059214L()
{
TBidirectionalState::TRunInfo runs[4];
TBidirectionalState bs;
TBool ambig;
// entirely left to right paragraph is not ambiguous
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ELeftToRight;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, EFalse, TChar::ELeftToRight,
TChar::ELeftToRight, ambig);
// entirely right to left paragraph is not ambiguous
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ERightToLeft;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, ETrue, TChar::ERightToLeft,
TChar::ERightToLeft, ambig);
TEST(!ambig);
// right to left portion within left to right paragraph is ambiguous
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ERightToLeft;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, EFalse, TChar::ERightToLeft,
TChar::ERightToLeft, ambig);
TEST(ambig && ambig != 3000);
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ERightToLeft;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, EFalse, TChar::EOtherNeutral,
TChar::ERightToLeft, ambig);
TEST(ambig && ambig != 3000);
// left to right portion within right to left paragraph is ambiguous
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ELeftToRight;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, ETrue, TChar::ELeftToRight,
TChar::ELeftToRight, ambig);
TEST(ambig && ambig != 3000);
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ELeftToRight;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, ETrue, TChar::EOtherNeutral,
TChar::ELeftToRight, ambig);
TEST(ambig && ambig != 3000);
// right to left following on from left to right paragraph is ambiguous
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ELeftToRight;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, EFalse, TChar::ERightToLeft,
TChar::ERightToLeft, ambig);
TEST(ambig && ambig != 3000);
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ELeftToRight;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, EFalse, TChar::EOtherNeutral,
TChar::ERightToLeft, ambig);
TEST(ambig && ambig != 3000);
// left to right following on from right to left paragraph is ambiguous
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ERightToLeft;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, ETrue, TChar::ELeftToRight,
TChar::ELeftToRight, ambig);
TEST(ambig && ambig != 3000);
ambig = 3000;
bs.Reset();
runs[0].iCategory = TChar::ERightToLeft;
runs[0].iStart = 0;
runs[0].iLength = 10;
bs.ReorderLine(runs, 1, ETrue, EFalse, ETrue, TChar::EOtherNeutral,
TChar::ELeftToRight, ambig);
TEST(ambig && ambig != 3000);
}
void CTBiDiDefect::TestPDEF117110L()
{
TPtrC wrappedText;
TPtrC expectedText;
delete iTestFont;
iTestFont = new (ELeave) CTestFont;
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test Text\n"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 1);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test Text"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test Text\r"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 1);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test Text"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test Text\r\n"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 1);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test Text"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test Text\x2028"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 1);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test Text"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test Text\n\x2028"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 2);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test Text\x2028"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test\nText\n"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 2);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test\x2028Text"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test\nText\n"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 1);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test\x2026"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("TestText\n"), 5);
iBidiText->WrapText(45, *iTestFont, NULL, 2);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test\x2028Text"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = TBidiText::NewL(_L("Test Text"), 5);
iBidiText->WrapText(KMaxTInt, *iTestFont, NULL, 1);
wrappedText.Set(iBidiText->DisplayText());
expectedText.Set(_L("Test Text"));
TEST(expectedText.Compare(wrappedText) == 0);
delete iBidiText;
iBidiText = NULL;
delete iTestFont;
iTestFont = NULL;
}
//--------------
CTBiDiDefectStep::CTBiDiDefectStep()
{
SetTestStepName(KTBiDiDefectStep);
}
CTGraphicsBase* CTBiDiDefectStep::CreateTestL()
{
return new (ELeave) CTBiDiDefect(this);
}