From 9842f72ab47626609e0fa124335462cf4b910d48 Mon Sep 17 00:00:00 2001 From: Nick Jenkins Date: Tue, 10 Apr 2007 09:10:02 +0000 Subject: [PATCH] Add fuzz test for the Syntax Highlighting extension, as per Tim's request for comment on wikitech-l. Invoke this specific test with: php fuzz-tester.php --specific-test=GeSHi_Test --- maintenance/fuzz-tester.php | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/maintenance/fuzz-tester.php b/maintenance/fuzz-tester.php index 00f66c1552..4e90d52b30 100644 --- a/maintenance/fuzz-tester.php +++ b/maintenance/fuzz-tester.php @@ -2160,6 +2160,48 @@ class api extends pageTest { } +/** + ** a page test for the GeSHi extension. + */ +class GeSHi_Test extends pageTest { + + private function getGeSHiContent() { + return "getLang() . "\" " + . (wikiFuzz::randnum(2) == 0 ? "line " : "") + . (wikiFuzz::randnum(2) == 0 ? "strict " : "") + . "start=" . wikiFuzz::chooseInput( array(wikiFuzz::randnum(-6000,6000), wikifuzz::makeFuzz(2)) ) + . ">" + . wikiFuzz::makeFuzz(2) + . ""; + } + + private function getLang() { + return wikiFuzz::chooseInput( array( "actionscript", "ada", "apache", "applescript", "asm", "asp", "autoit", "bash", "blitzbasic", "bnf", "c", "c_mac", "caddcl", "cadlisp", "cfdg", "cfm", "cpp", "cpp-qt", + "csharp", "css", "d", "delphi", "diff", "div", "dos", "eiffel", "fortran", "freebasic", "gml", "groovy", "html4strict", "idl", "ini", "inno", "io", "java", "java5", + "javascript", "latex", "lisp", "lua", "matlab", "mirc", "mpasm", "mysql", "nsis", "objc", "ocaml", "ocaml-brief", "oobas", "oracle8", "pascal", "perl", "php", + "php-brief", "plsql", "python", "qbasic", "rails", "reg", "robots", "ruby", "sas", "scheme", "sdlbasic", "smalltalk", "smarty", "sql", "tcl", "text", "thinbasic", + "tsql", "vb", "vbnet", "vhdl", "visualfoxpro", "winbatch", "xml", "xpp", "z80", wikifuzz::makeFuzz(1) ) ); + } + + function __construct() { + $this->pagePath = "index.php?title=WIKIFUZZ"; + + $this->params = array ( + "action" => "submit", + "wpMinoredit" => "test", + "wpPreview" => "test", + "wpSection" => "test", + "wpEdittime" => "test", + "wpSummary" => "test", + "wpScrolltop" => "test", + "wpStarttime" => "test", + "wpAutoSummary" => "test", + "wpTextbox1" => $this->getGeSHiContent() // the main wiki text, contains fake GeSHi content. + ); + } +} + + /** ** selects a page test to run. */ -- 2.20.1