diff -r 2bd88482bfe5 -r 6a1564a2f3e6 graphicsdeviceinterface/gdi/tgdi/TBiDiDefect.cpp --- a/graphicsdeviceinterface/gdi/tgdi/TBiDiDefect.cpp Thu Sep 02 21:50:40 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,702 +0,0 @@ -// 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 -#include -#include -#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 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(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 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 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 appear at the end of the text -void CTBiDiDefect::INC037549L() - { - // This crash occured when the final character is - // and following memory location is - // 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); - }