ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
RandomTest.php File Reference

Go to the source code of this file.

Functions

 randomString ( $length, $nullOk, $ascii=false)
 
 donorm ( $str)
 
 wfMsg ($x)
 
 showDiffs ( $a, $b)
 

Variables

 if (php_sapi_name() !='cli')
 
 $size = 16
 
 $n = 0
 

Function Documentation

◆ donorm()

donorm (   $str)

Definition at line 49 of file RandomTest.php.

49 {
50 # We exclude a few chars that ICU would not.
51 $str = preg_replace( '/[\x00-\x08\x0b\x0c\x0e-\x1f]/', UTF8_REPLACEMENT, $str );
52 $str = str_replace( UTF8_FFFE, UTF8_REPLACEMENT, $str );
53 $str = str_replace( UTF8_FFFF, UTF8_REPLACEMENT, $str );
54
55 # UnicodeString constructor fails if the string ends with a head byte.
56 # Add a junk char at the end, we'll strip it off
57 return rtrim( utf8_normalize( $str . "\x01", UNORM_NFC ), "\x01" );
58}
const UNORM_NFC
Definition: UtfNormal.php:106
const UTF8_REPLACEMENT
Definition: UtfNormal.php:83
const UTF8_FFFF
Definition: UtfNormal.php:94
const UTF8_FFFE
Definition: UtfNormal.php:93

References UNORM_NFC, UTF8_FFFE, UTF8_FFFF, and UTF8_REPLACEMENT.

◆ randomString()

randomString (   $length,
  $nullOk,
  $ascii = false 
)

Definition at line 41 of file RandomTest.php.

41 {
42 $out = '';
43 for( $i = 0; $i < $length; $i++ )
44 $out .= chr( mt_rand( $nullOk ? 0 : 1, $ascii ? 127 : 255 ) );
45 return $out;
46}

References $out.

◆ showDiffs()

showDiffs (   $a,
  $b 
)

Definition at line 64 of file RandomTest.php.

64 {
65 $ota = explode( "\n", str_replace( "\r\n", "\n", $a ) );
66 $nta = explode( "\n", str_replace( "\r\n", "\n", $b ) );
67
68 $diffs = new Diff( $ota, $nta );
69 $formatter = new TableDiffFormatter();
70 $funky = $formatter->format( $diffs );
71 $matches = array();
72 preg_match_all( '/<(?:ins|del) class="diffchange">(.*?)<\/(?:ins|del)>/', $funky, $matches );
73 foreach( $matches[1] as $bit ) {
74 $hex = bin2hex( $bit );
75 echo "\t$hex\n";
76 }
77}
78
79$size = 16;
80$n = 0;
81while( true ) {
82 $n++;
83 echo "$n\n";
84
85 $str = randomString( $size, true);
86 $clean = UtfNormal::cleanUp( $str );
87 $norm = donorm( $str );
88
89 echo strlen( $clean ) . ", " . strlen( $norm );
90 if( $clean == $norm ) {
91 echo " (match)\n";
92 } else {
93 echo " (FAIL)\n";
94 echo "\traw: " . bin2hex( $str ) . "\n" .
95 "\tphp: " . bin2hex( $clean ) . "\n" .
96 "\ticu: " . bin2hex( $norm ) . "\n";
97 echo "\n\tdiffs:\n";
98 showDiffs( $clean, $norm );
99 die();
100 }
101
102
103 $str = '';
104 $clean = '';
105 $norm = '';
106}
randomString( $length, $nullOk, $ascii=false)
Definition: RandomTest.php:41
showDiffs( $a, $b)
Definition: RandomTest.php:64
donorm( $str)
Definition: RandomTest.php:49
$n
Definition: RandomTest.php:80
$size
Definition: RandomTest.php:79
cleanUp( $string)
The ultimate convenience function! Clean up invalid UTF-8 sequences, and convert to normal form C,...
Definition: UtfNormal.php:128

◆ wfMsg()

Variable Documentation

◆ $n

$n = 0

Definition at line 80 of file RandomTest.php.

Referenced by ilRepositoryExplorerGUI\__construct(), ilPersonalSkillExplorerGUI\__construct(), ilSurveySkillExplorer\__construct(), HTMLPurifier_Token\__get(), _DiffEngine\_diag(), Text_Diff_Engine_native\_diag(), Auth_Yadis_Yadis\_getHeader(), ilExternalFeed\_getRSSLocation(), HTTP_WebDAV_Server\_new_uuid(), ilBMFTransport_HTTP\_parseEncoding(), TCPDF_IMAGES\_parsepng(), wsdl\addComplexType(), TCPDF\addHTMLTOC(), ilBMFWSDL\addNamespace(), wsdl\addOperation(), TCPDF\addTOC(), HTMLPurifier_Zipper\advance(), HTML5TreeConstructer\appendToRealParent(), Auth_OpenID_getEscapeRE(), Auth_Yadis_getEscapeRE(), ilPCParagraph\autoSplit(), Auth_OpenID_MathLibrary\binaryToLong(), ilPersonalSkillExplorerGUI\buildSelectableTree(), nusoap_parser\buildVal(), ilvCard\buildVCard(), ilObjLanguage\check(), ilObjSCORM2004LearningModuleGUI\collapseAll(), ilObjSkillManagementGUI\collapseAll(), HTMLPurifier_UnitConverter\convert(), Auth_OpenID_MDB2Store\createTables(), Auth_OpenID_SQLStore\createTables(), ilSCORM13Package\dbImportSco(), ilSurveySkill\determineMaxScale(), Securimage\drawLines(), HTML5TreeConstructer\elementInScope(), Auth_Yadis_domxml\evalXPath(), Auth_Yadis_dom\evalXPath(), ilObjSCORM2004LearningModuleGUI\expandAll(), ilObjSkillManagementGUI\expandAll(), UtfNormal\fastCombiningSort(), UtfNormal\fastCompose(), UtfNormal\fastDecompose(), ilSkillUsage\getAllUsagesInfoOfSubtrees(), ilAwarenessData\getData(), HTMLPurifier_HTMLModuleManager\getElements(), Datamatrix\getErrorCorrection(), ilTestTaxonomyTree\getMaxOrderValueLength(), DifferenceEngine\getMultiNotice(), ilTestTaxonomyTree\getNodeOrderingPathString(), ilAwarenessData\getOnlineUserData(), ilTaxAssignInputGUI\getOptions(), ilMilestoneResponsiblesTableGUI\getParticipantsAndResponsibles(), nusoap_base\getPrefixFromNamespace(), HTMLPurifier_UnitConverter\getSigFigs(), HTMLPurifier_Injector_SafeObject\handleElement(), hexSequenceToUtf8(), ilSCORM13Package\il_import(), TCPDFBarcode\imb_tables(), ilPCTable\importCellAttributes(), ilPCTable\importHtml(), ilPCTable\importRow(), ilPCTable\importTableAttributes(), ilObjUserFolderGUI\importUserRoleAssignmentObject(), HTML5TreeConstructer\inBody(), ilPageObjectGUI\insertPageToc(), HTML5TreeConstructer\inTable(), Title\isDeleted(), EvalMathStack\last(), Title\makeName(), ilBMFType_duration\mkduration(), ilPCSourceCode\modifyPageContentPostXsl(), ilPersonalDesktopGUI\multiarray_sort(), Title\nameOf(), SMTP\parseHelloFields(), ilStatistics\product_n(), ilStatistics\quantile(), UtfNormal\quickIsNFC(), UtfNormal\quickIsNFCVerify(), Auth_OpenID_MathLibrary\rand(), Auth_OpenID_CryptUtil\randomString(), ilObjSCORM2004LearningModule\readObject(), ilObjSCORMLearningModule\readObject(), ilCalendarEntry\readResponsibleUsers(), WavFile\readWavHeader(), ilSCORM2004Page\removeInvalidLinks(), ilNestedListInputGUI\render(), HTML5TreeConstructer\resetInsertionMode(), HTMLPurifier_UnitConverter\round(), wsdl\serializeType(), php4DOMNode\set_namespace(), phpCAS\setCacheTimesForAuthRecheck(), CASClient\setCacheTimesForAuthRecheck(), WavFile\setChannelMask(), TCPDF\setFontBuffer(), HTMLPurifier_HTMLModuleManager\setup(), ilObjSCORM2004LearningModuleGUI\showTree(), ilRepositoryGUI\showTree(), TCPDF\startTemplate(), ilStatistics\sum_n(), ilObjUserTest\testCreateSetLookupDelete(), and HTMLPurifier_Token_Empty\toNode().

◆ $size

$size = 16

Definition at line 79 of file RandomTest.php.

Referenced by ilObjectXMLWriter\__appendObjectProperties(), PDF417\__construct(), QRcode\__construct(), OLERead\__readPropertySets(), ilDiskQuotaChecker\__updateDiskUsageReportOfTypeHelper(), ilObjMediaObject\_determineWidthHeight(), Structures_BibTex\_extractAuthors(), ilObjMediaObjectGUI\_getMediaInfoHTML(), ilObjMediaCastAccess\_lookupDiskUsage(), ilFileDataMail\_lookupDiskUsageOfUser(), ilObjFileAccess\_lookupFileSize(), ilObjFileAccess\_lookupFileSizeFromFilesystem(), ilContainer\_lookupIconPath(), ilBMFBase\_multiArrayType(), Spreadsheet_Excel_Writer_Worksheet\_processBitmap(), ilObjMediaObject\_saveTempFileAsMediaObject(), ilMediaItem\addAreaToMapWorkCopy(), ilPageObject\addFileSizes(), ilCloudFileTree\addNode(), ilInfoScreenGUI\addObjectSections(), ilADTTextFormBridge\addToForm(), getid3_tar\Analyze(), QRcode\appendBytes(), QRcode\appendNewInputItem(), QRcode\bitstreamToByte(), QRcode\check(), QRcode\checkModeAn(), QRcode\checkModeKanji(), QRcode\checkModeNum(), ilFileDelivery\deliverPHPChunked(), ilUtil\dirsize(), Securimage\drawNoise(), QRcode\estimateBitsMode8(), QRcode\estimateBitsModeAn(), QRcode\estimateBitsModeKanji(), QRcode\estimateBitsModeNum(), HTMLPurifier_Strategy_MakeWellFormed\execute(), ilMediaCastTableGUI\fillRow(), ilMediaPoolTableGUI\fillRow(), ilUtil\formatBytes(), ilFormat\formatFloat(), ilFormat\formatSize(), ilUtil\formSelect(), HTMLPurifier_Generator\generateFromTokens(), ilUpdateUtilsMailMigration\getDir(), ilUpdateUtils\getDir(), ilUtil\getDir(), TCPDF\getFontAscent(), TCPDF\getFontDescent(), TCPDF_FONTS\getFontRefSize(), ilObjMediaObjectGUI\getFullscreenSizeObject(), TCPDF\getHTMLFontUnits(), getid3_tar\getid3_tar(), ilPreview\getImages(), ilMediaImageUtil\getImageSize(), ilUtil\getImageTagByType(), assFileUpload\getMaxFilesizeAsString(), QRcode\getMinimumVersion(), ilMediaItem\getOriginalSize(), POP3\getResponse(), Net_Socket\gets(), ilMDTechnical\getSize(), ilObjMediaObjectGUI\getStandardSizeObject(), getid3_matroska\HandleEMBLClusterBlock(), ilObjFileGUI\handleFileUpload(), getid3_lib\hash_data(), HTTP_WebDAV_Server\http_GET(), ilObjectFeedWriter\ilObjectFeedWriter(), TCPDFBarcode\imb_tables(), Spreadsheet_Excel_Writer_Worksheet\insertBitmap(), QRcode\insertStructuredAppendHeader(), QRcode\lengthOfCode(), ilMediaItem\makeMapWorkCopy(), ilMediaAliasItem\makeMapWorkCopy(), QRcode\newFromBytes(), QRcode\newInputItem(), outMobImageParams(), outMobImages(), HTMLPurifier_Lexer_DirectLex\parseAttributeString(), ilObjMediaPoolSubItemListGUI\parseImage(), TCPDF\putHtmlListBullet(), ilUtil\rangeDownload(), Net_Socket\read(), ilObjSurvey\removeQuestions(), ilUtil\resizeImage(), TCPDF\SetFont(), TCPDF\SetFontSize(), assClozeTest\setGapSize(), Spreadsheet_Excel_Writer_Worksheet\setPaper(), Spreadsheet_Excel_Writer_Format\setSize(), ilPCInteractiveImage\setTriggerPopupSize(), Net_Socket\setWriteBuffer(), ilGlossaryPresentationGUI\showDownloadList(), ilLMPresentationGUI\showDownloadList(), ilExSubmissionObjectGUI\submitBlog(), ilExSubmissionObjectGUI\submitPortfolio(), HTMLPurifier_TagTransform_Font\transform(), ilFSStorageExercise\uploadAssignmentFiles(), ilPCInteractiveImageGUI\uploadOverlayImages(), HTMLPurifier_AttrDef_CSS_Font\validate(), and Net_Socket\write().

◆ if

if(php_sapi_name() !='cli') ( php_sapi_name() !  = 'cli')

Definition at line 29 of file RandomTest.php.