ILIAS  release_4-4 Revision
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.

References UNORM_NFC, UTF8_FFFE, UTF8_FFFF, and UTF8_REPLACEMENT.

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 UTF8_REPLACEMENT
Definition: UtfNormal.php:83
const UTF8_FFFF
Definition: UtfNormal.php:94
const UNORM_NFC
Definition: UtfNormal.php:106
const UTF8_FFFE
Definition: UtfNormal.php:93

◆ randomString()

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

Definition at line 41 of file RandomTest.php.

References $out.

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 }

◆ 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;
81 while( 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 }
$size
Definition: RandomTest.php:79
showDiffs( $a, $b)
Definition: RandomTest.php:64
cleanUp( $string)
The ultimate convenience function! Clean up invalid UTF-8 sequences, and convert to normal form C...
Definition: UtfNormal.php:128
$n
Definition: RandomTest.php:80
randomString( $length, $nullOk, $ascii=false)
Definition: RandomTest.php:41
donorm( $str)
Definition: RandomTest.php:49

◆ 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(), Text_Diff_Engine_native\_diag(), Auth_Yadis_Yadis\_getHeader(), ilExternalFeed\_getRSSLocation(), _DiffEngine\_lcs_pos(), HTTP_WebDAV_Server\_new_uuid(), ilBMFTransport_HTTP\_parseEncoding(), TCPDF_IMAGES\_parsepng(), wsdl\addComplexType(), ilBMFWSDL\addNamespace(), wsdl\addOperation(), HTML5TreeConstructer\appendToRealParent(), Auth_OpenID_getEscapeRE(), Auth_Yadis_getEscapeRE(), ilPCParagraph\autoSplit(), Auth_OpenID_MathLibrary\binaryToLong(), ilPersonalSkillExplorerGUI\buildSelectableTree(), nusoap_parser\buildVal(), ilvCard\buildVCard(), ilObjLanguage\check(), ilObjSkillManagementGUI\collapseAll(), ilObjSCORM2004LearningModuleGUI\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(), ilObjSkillManagementGUI\expandAll(), ilObjSCORM2004LearningModuleGUI\expandAll(), UtfNormal\fastCombiningSort(), UtfNormal\fastCompose(), UtfNormal\fastDecompose(), ilSkillUsage\getAllUsagesInfoOfSubtrees(), HTMLPurifier_HTMLModuleManager\getElements(), Datamatrix\getErrorCorrection(), DifferenceEngine\getMultiNotice(), 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(), ilPageObject\insertSourceCodeParagraphs(), HTML5TreeConstructer\inTable(), Title\isDeleted(), EvalMathStack\last(), Title\makeName(), ilBMFType_duration\mkduration(), ilPersonalDesktopGUI\multiarray_sort(), Title\nameOf(), PHPlot\pad_array(), 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(), ilNestedListInputGUI\render(), HTML5TreeConstructer\resetInsertionMode(), HTMLPurifier_UnitConverter\round(), wsdl\serializeType(), php4DOMNode\set_namespace(), CASClient\setCacheTimesForAuthRecheck(), phpCAS\setCacheTimesForAuthRecheck(), WavFile\setChannelMask(), PHPlot\SetNumHorizTicks(), PHPlot\SetNumVertTicks(), HTMLPurifier_HTMLModuleManager\setup(), ilRepositoryGUI\showTree(), ilObjSCORM2004LearningModuleGUI\showTree(), ilStatistics\sum_n(), and ilObjUserTest\testCreateSetLookupDelete().

◆ $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(), ilObjForumAccess\_getCommands(), 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(), QRcode\appendBytes(), QRcode\appendNewInputItem(), QRcode\bitstreamToByte(), QRcode\check(), QRcode\checkModeAn(), QRcode\checkModeKanji(), QRcode\checkModeNum(), ilUtil\dirsize(), Securimage\drawNoise(), QRcode\estimateBitsMode8(), QRcode\estimateBitsModeAn(), QRcode\estimateBitsModeKanji(), QRcode\estimateBitsModeNum(), HTMLPurifier_Strategy_MakeWellFormed\execute(), HTMLPurifier_Strategy_FixNesting\execute(), Parser\fetchScaryTemplateMaybeFromCache(), ilMediaCastTableGUI\fillRow(), ilMediaPoolTableGUI\fillRow(), 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(), PHPlot\GetImage(), ilPreview\getImages(), assFileUpload\getMaxFilesizeAsString(), QRcode\getMinimumVersion(), ilMediaItem\getOriginalSize(), Net_Socket\gets(), ilMDTechnical\getSize(), ilObjMediaObjectGUI\getStandardSizeObject(), 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(), ilMediaAliasItem\makeMapWorkCopy(), ilMediaItem\makeMapWorkCopy(), QRcode\newFromBytes(), QRcode\newInputItem(), outMobImageParams(), outMobImages(), PHPlot\pad_array(), HTMLPurifier_Lexer_DirectLex\parseAttributeString(), ilObjMediaPoolSubItemListGUI\parseImage(), TCPDF\putHtmlListBullet(), ilUtil\rangeDownload(), Net_Socket\read(), ilObjSurvey\removeQuestions(), ilUtil\resizeImage(), TCPDF\SetFont(), TCPDF\SetFontSize(), Spreadsheet_Excel_Writer_Worksheet\setPaper(), Spreadsheet_Excel_Writer_Format\setSize(), ilPCInteractiveImage\setTriggerPopupSize(), Net_Socket\setWriteBuffer(), ilGlossaryPresentationGUI\showDownloadList(), ilLMPresentationGUI\showDownloadList(), ilMailFormGUI\showForm(), ilObjExerciseGUI\submitBlog(), ilObjExerciseGUI\submitPortfolio(), HTMLPurifier_TagTransform_Font\transform(), ilFSStorageExercise\uploadAssignmentFiles(), ilPCInteractiveImageGUI\uploadOverlayImages(), HTMLPurifier_AttrDef_CSS_Font\validate(), and Net_Socket\write().

◆ if

if(php_sapi_name() !='cli')

Definition at line 29 of file RandomTest.php.