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