diff options
Diffstat (limited to 'Build/source/libs/graphite/engine-2.3.1/test/RegressionTest/TestCase.h')
-rw-r--r-- | Build/source/libs/graphite/engine-2.3.1/test/RegressionTest/TestCase.h | 245 |
1 files changed, 0 insertions, 245 deletions
diff --git a/Build/source/libs/graphite/engine-2.3.1/test/RegressionTest/TestCase.h b/Build/source/libs/graphite/engine-2.3.1/test/RegressionTest/TestCase.h deleted file mode 100644 index 68258929a1f..00000000000 --- a/Build/source/libs/graphite/engine-2.3.1/test/RegressionTest/TestCase.h +++ /dev/null @@ -1,245 +0,0 @@ -/*--------------------------------------------------------------------*//*:Ignore this sentence. -Copyright (C) 2004 SIL International. All rights reserved. - -Distributable under the terms of either the Common Public License or the -GNU Lesser General Public License, as specified in the LICENSING.txt file. - -File: TestCase.h -Responsibility: Sharon Correll -Last reviewed: Not yet. - -Description: - Definition of TestCase class for Graphite regression test program. --------------------------------------------------------------------------------*//*:End Ignore*/ - -#ifdef _MSC_VER -#pragma once -#endif -#ifndef TESTCASE_H -#define TESTCASE_H 1 - -#define NO_EXCEPTIONS 1 - -class TestCase -{ -public: - // Methods to set up test cases. - void SetupSimpleTest(); - void SetupSimpleBacktrackTest(); - void SetupSurrogateTest(); // TODO: add a test for UTF-8 - void SetupBurmese1(); - void SetupBurmese2(); - void SetupBurmese3(); - void SetupBurmese4(); - void SetupRoman(); - void SetupRomanFeatures(); - void SetupStackingAndBridging(); - void SetupNoWhiteSpace(); - void SetupNoWhiteSpaceNoSeg(); - void SetupOnlyWhiteSpace(); - void SetupCrossLine1(); - void SetupCrossLine2(); - void SetupCrossLine3(); - void SetupCrossLine4(); - void SetupArabic1(); - void SetupArabic2(); - void SetupTaiViet1(); - void SetupTaiViet2(); - void SetupDumbFallback1(); - void SetupDumbFallback2(); - void SetupBadFont(); - void SetupBugTest(); - // *** Add more methods here. *** - -protected: - // Auxiliary functions to set up test cases. - void SetupBurmeseAux(int charCount, int glyphCount, int clickTestCount); - void SetupArabicAux(int charCount, int glyphCount); - std::wstring BurmeseText(); - std::wstring RomanText(); - std::wstring CrossLineText(); - std::wstring ArabicText(); - std::wstring TaiVietText(); - -public: - const static int kAbsent = -100; // not present in data - -public: - // constructor: - TestCase(); - // destructor: - ~TestCase(); - - static int SetupTests(TestCase **); - static void DeleteTests(); - - // Getters: - std::string TestName() { return m_testName; } - bool RunDebugger() { return m_debug; } - bool TraceLog() { return m_traceLog; } - bool Skip() { return m_skip; } - - std::wstring Text() { return m_text; } - std::wstring FontName() { return m_fontName; } - std::string FontFile() { return m_fontFile; } - size_t FontSize() { return m_fontSize; } - LineBrk PrefBreak() { return m_prefBreak; } - LineBrk WorstBreak() { return m_worstBreak; } - int FeatureID(int i) { return m_fset[i].id; } - int FeatureValue(int i) { return m_fset[i].value; } - FeatureSetting * Features() { return m_fset; } - int AvailWidth() { return m_availWidth; } - bool Backtrack() { return m_backtrack; } - TrWsHandling Twsh() { return m_twsh; } - bool Rtl() { return m_rtl; } - bool ParaRtl() { return m_paraRtl; } - size_t FirstChar() { return m_firstChar; } - bool DumbFallback() { return m_dumbFallback; } - size_t InputContextBlock(gr::byte ** ppContextBlock) - { - *ppContextBlock = m_contextBlockIn; - return m_contextBlockInSize; - } - - bool InitWithPrevSeg() { return m_initWithPrev; } - bool BadFont() { return m_badFont; } - bool NoSegment() { return m_noSegment; } - int SegWidth() { return m_segWidth; } - int CharCount() { return m_charCount; } - int GlyphCount() { return m_glyphCount; } - - int GlyphID(int i) { return m_glyphArray[i]; } - int XPos(int i) { return m_xPositions[i]; } - int YPos(int i) { return m_yPositions[i]; } - int AdvWidth(int i) { return m_advWidths[i]; } - int BbLeft(int i) { return m_bbLefts[i]; } - int BbRight(int i) { return m_bbRights[i]; } - int BbTop(int i) { return m_bbTops[i]; } - int BbBottom(int i) { return m_bbBottoms[i]; } - bool BbTests() { return (m_bbLefts != NULL); } - - int InsPtFlag(int i) { return m_insPointFlags[i]; } - - int CharToGlyphCount() { return m_c2gCount; } - int CharToGlyphItem(int i) { return m_charsToGlyphs[i]; } - int AttachedGlyphCount() { return m_attGCount; } // that is, the lenght of the data - int AttachedGlyphItem(int i) { return m_attGlyphs[i]; } - - int NumberOfClickTests() { return m_clickTestCount; } - int XClick(int i) { return m_clickTests[i].xClick; } - int YClick(int i) { return m_clickTests[i].yClick; } - int ClickCharIndex(int i) { return m_clickTests[i].charIndex; } - bool ClickAssocPrev(int i) { return (bool)m_clickTests[i].assocPrev; } - int Sel1Top(int i) { return m_clickTests[i].sel1Top; } - int Sel1Bottom(int i) { return m_clickTests[i].sel1Bottom; } - int Sel1Left(int i) { return m_clickTests[i].sel1Left; } - int Sel2Top(int i) { return m_clickTests[i].sel2Top; } - int Sel2Bottom(int i) { return m_clickTests[i].sel2Bottom; } - int Sel2Left(int i) { return m_clickTests[i].sel2Left; } - size_t OutputContextBlockSize() { return m_contextBlockOutSize; } - bool CompareContextBlock(gr::byte * pResult) - { - for (size_t i = 0; i < m_contextBlockOutSize; i++) - { - if (m_contextBlockOut[i] != pResult[i]) - return false; - } - return true; - } - - struct ClickTest - { - int xClick; - int yClick; - int charIndex; - int assocPrev; // boolean: 0 or 1 - int sel1Top; - int sel1Bottom; - int sel1Left; // we only need left or right, not both - int sel2Top; - int sel2Bottom; - int sel2Left; - - const static int fieldCnt = 10; - }; - -protected: - std::string m_testName; - bool m_debug; // break into the debugger when running this test - bool m_traceLog; // generate a logging file (tracelog.txt) for this test; if this is turned on for - // more than one test, the tests will be appended - bool m_skip; - -#define MAXFEAT 10 - - // Input parameters: - std::wstring m_text; // default: none - std::wstring m_fontName; // default: empty - std::string m_fontFile; // default: empty - size_t m_fontSize; // default: 12 - LineBrk m_prefBreak; // default: word-break - LineBrk m_worstBreak; // default: clip-break - FeatureSetting m_fset[MAXFEAT]; // default: none - int m_availWidth; // default: 100 - bool m_bold; // default: false - bool m_italic; // default: false - bool m_rtl; // default: false - bool m_backtrack; // default: false - TrWsHandling m_twsh; // default: ktwshAll - bool m_paraRtl; // default: false - size_t m_firstChar; // default: 0 - size_t m_contextBlockInSize; // default: 0 - gr::byte * m_contextBlockIn; // default: NULL -- DELETE - bool m_initWithPrev; // default: false - bool m_dumbFallback; // default: true - // start of line flag - // resolution - // justification - - // Output: - bool m_badFont; // default: false - bool m_noSegment; // no segment should be generated - int m_segWidth; - int m_charCount; - int m_glyphCount; - gid16 * m_glyphArray; - int * m_xPositions; - int * m_yPositions; - int * m_advWidths; - int * m_bbLefts; - int * m_bbRights; - int * m_bbTops; - int * m_bbBottoms; - bool * m_insPointFlags; - int * m_charsToGlyphs; // char-to-glyph mappings - int m_c2gCount; - int * m_attGlyphs; // attachment clusters - int m_attGCount; - int m_clickTestCount; - ClickTest * m_clickTests; - size_t m_contextBlockOutSize; - gr::byte * m_contextBlockOut; - // glyphs-to-chars - // pdichwContext - // arrow key behavior - // etc. - - // Setters: - void SetCharCount(int charCount); - void SetGlyphCount(int glyphCount); - void SetGlyphList(gid16 * glyphList); - void SetXPositions(int * posList); - void SetYPositions(int * posList); - void SetAdvWidths(int * advWidths); - void SetBBs(int * bbLefts, int * bbRights, int * bbTops, int * bbBottoms); - void SetInsPtFlags(bool * flags); - void SetCharsToGlyphs(int * stuff, int count); - void SetAttachedClusters(int * stuff, int count); - void SetClickTests(int clickTestCount, int * clickStuff); - void SetInputContextBlock(int contextBlockInSize, gr::byte * contextBlockIn); - void SetOutputContextBlock(int contextBlockOutSize, gr::byte * contextBlockIn); -}; - - -#endif // !TESTCASE_H - |