1 // Copyright (C) 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /* 4 ********************************************************************** 5 * Copyright (C) 2011-2013, International Business Machines Corporation 6 * and others. All Rights Reserved. 7 ********************************************************************** 8 */ 9 10 /** 11 * IntlTestSpoof is the top level test class for the Unicode Spoof detection tests 12 */ 13 14 #ifndef INTLTESTSPOOF_H 15 #define INTLTESTSPOOF_H 16 17 #include "unicode/utypes.h" 18 #if !UCONFIG_NO_REGULAR_EXPRESSIONS && !UCONFIG_NO_NORMALIZATION && !UCONFIG_NO_FILE_IO 19 #include "unicode/uspoof.h" 20 #include "intltest.h" 21 22 23 class IntlTestSpoof: public IntlTest { 24 public: 25 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 26 27 // Test the USpoofDetector API functions that require C++ 28 // The pure C part of the API, which is most of it, is tested in cintltst 29 void testSpoofAPI(); 30 31 void testSkeleton(); 32 33 void testAreConfusable(); 34 35 void testInvisible(); 36 37 void testConfData(); 38 39 void testBug8654(); 40 41 void testScriptSet(); 42 43 void testRestrictionLevel(); 44 45 void testMixedNumbers(); 46 47 void testBug12153(); 48 49 void testBug12825(); 50 51 void testBug12815(); 52 53 // Internal function to run a single skeleton test case. 54 void checkSkeleton(const USpoofChecker *sc, uint32_t flags, 55 const char *input, const char *expected, int32_t lineNum); 56 }; 57 58 #endif // !UCONFIG_NO_REGULAR_EXPRESSIONS && !UCONFIG_NO_NORMALIZATION && !UCONFIG_NO_FILE_IO 59 #endif 60