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