Imported Upstream version 58.1
[platform/upstream/icu.git] / source / test / intltest / itspoof.h
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     // Internal function to run a single skeleton test case.
50     void  checkSkeleton(const USpoofChecker *sc, uint32_t flags, 
51                         const char *input, const char *expected, int32_t lineNum);
52 };
53
54 #endif  // !UCONFIG_NO_REGULAR_EXPRESSIONS && !UCONFIG_NO_NORMALIZATION && !UCONFIG_NO_FILE_IO
55 #endif