From: Robert Kaiser Date: Wed, 30 Nov 2016 22:34:02 +0000 (+0100) Subject: KaiRo bug 401 - Convert UA tests to using ExtendedDocument, also updating the used... X-Git-Url: https://git-public.kairo.at/?p=php-utility-classes.git;a=commitdiff_plain;h=432328ee91316c002fd50137184970893ee3850b KaiRo bug 401 - Convert UA tests to using ExtendedDocument, also updating the used HTML somewhat while at it :) --- diff --git a/tests/test.css b/tests/test.css index 25983ab..81707c4 100755 --- a/tests/test.css +++ b/tests/test.css @@ -64,14 +64,27 @@ table.border th { } #ualist td.ua { font-size: 0.75em; } +ul.flat { + list-style-type: none; + margin: 0em; + padding: 0px; +} +ul.flat li { + margin: 0 0 0.2em 0; + padding: 0px; +} +p.flat { border: 0px; margin: 0px; padding: 0px; } +ul.flat li.summary { + margin-top: 1em; +} /* other general elements */ -div#valid { +#valid { display: none; } -div#copyright { +#copyright { display: none; } diff --git a/tests/ua_list.php b/tests/ua_list.php index 3c9fa00..5c2e5ce 100644 --- a/tests/ua_list.php +++ b/tests/ua_list.php @@ -4,68 +4,76 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ include('../classes/useragent.php-class'); +include('../classes/document.php-class'); // read string from this file $uafile = 'ua_list_raw.txt'; -print("\n"); -print("\n\n"); -print(" \n"); -print(" \n"); -print(" ".'User Agents'."\n"); -print("\n\n"); +// Start HTML document as a DOM object. +extract(ExtendedDocument::initHTML5()); // sets $document, $html, $head, $title, $body +$document->formatOutput = true; // we want a nice output -print('

User Agents

'."\n"); +$style = $head->appendElement('link'); +$style->setAttribute('rel', 'stylesheet'); +$style->setAttribute('href', 'test.css'); +$title->appendText('User Agents'); +$h1 = $body->appendElement('h1', 'User Agents'); $ualist = is_readable($uafile)?file($uafile):array(); if (count($ualist)) { - print(''."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); + $tbl = $body->appendElement('table'); + $tbl->setAttribute('class', 'border'); + $tbl->setAttribute('id', 'ualist'); + $thead = $tbl->appendElement('thead'); + $trow = $thead->appendElement('tr'); + $trow->appendElement('th', 'User Agent string'); + $trow->appendElement('th', 'Brand'); + $trow->appendElement('th', 'Version'); + $trow->appendElement('th', 'Bot'); + $trow->appendElement('th', 'Mob'); + $trow->appendElement('th', 'Engine'); + $trow->appendElement('th', 'eVer'); + $trow->appendElement('th', 'OS'); + $trow->appendElement('th', 'Platform'); + $trow->appendElement('th', 'Lang'); + $tbody = $tbl->appendElement('tbody'); foreach ($ualist as $uastring) { $uastring = trim($uastring); if (substr($uastring, 0, 1) == '#') { // comment - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); + $trow = $tbody->appendElement('tr'); + $cell = $trow->appendElement('td', substr($uastring, 1)); + $cell->setAttribute('colspan', 10); + $cell->setAttribute('class', 'comment'); } else { $ua = new userAgent($uastring); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); - print(' '."\n"); + $trow = $tbody->appendElement('tr'); + $cell = $trow->appendElement('td', $ua->getUAString()); + $cell->setAttribute('class', 'ua'); + $trow->appendElement('td', $ua->getBrand()); + $trow->appendElement('td', $ua->getVersion()); + $trow->appendElement('td', ($ua->isBot()?'x':'-')); + $trow->appendElement('td', ($ua->isMobile()?'x':'-')); + $trow->appendElement('td', $ua->getEngine()); + $trow->appendElement('td', $ua->getEngineVersion()); + $trow->appendElement('td', $ua->getOS()); + $trow->appendElement('td', $ua->getPlatform()); + $trow->appendElement('td', $ua->getLanguage()); } } - print('
User Agent stringBrandVersionBotMobEngineeVerOSPlatformLang
'.substr($uastring, 1).'
'.$ua->getUAString().''.$ua->getBrand().''.$ua->getVersion().''.($ua->isBot()?'x':'-').''.($ua->isMobile()?'x':'-').''.$ua->getEngine().''.$ua->getEngineVersion().''.$ua->getOS().''.$ua->getPlatform().''.$ua->getLanguage().'
'."\n"); } else { - print('No User Agent strings found in file "'.$uafile.'".'."\n"); + $body->appendElement('p', 'No User Agent strings found in file "'.$uafile.'".'); } -print("
\n"); -print("Page code under Mozilla Public License, code available at GitHub.\n"); -print("
\n"); -print("\n"); +$footer = $body->appendElement('footer', 'Page code under Mozilla Public License, code available at '); +$footer->setAttribute('id', 'copyright'); +$footer->appendLink('https://github.com/KaiRo-at/php-utility-classes', 'GitHub'); +$footer->appendText('.'); + +// Send HTML to client. +print($document->saveHTML()); ?> diff --git a/tests/ua_test.php b/tests/ua_test.php index bf72e44..d7dfda2 100644 --- a/tests/ua_test.php +++ b/tests/ua_test.php @@ -4,16 +4,20 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ include('../classes/useragent.php-class'); +include('../classes/document.php-class'); // set default time zone - right now, always the one the server is in! date_default_timezone_set('Europe/Vienna'); -print("\n"); -print("\n\n"); -print(" \n"); -print(" \n"); -print(" ".'User Agent Test'."\n"); -print("\n\n"); +// Start HTML document as a DOM object. +extract(ExtendedDocument::initHTML5()); // sets $document, $html, $head, $title, $body +$document->formatOutput = true; // we want a nice output + +$style = $head->appendElement('link'); +$style->setAttribute('rel', 'stylesheet'); +$style->setAttribute('href', 'test.css'); +$title->appendText('User Agent Test'); +$h1 = $body->appendElement('h1', 'User Agent Test'); if (strlen($_REQUEST["ua"])) { $ua = new userAgent($_REQUEST["ua"]); @@ -22,37 +26,76 @@ else { $ua = new userAgent; } -print("

User Agent Test

\n"); - -print("I read the following user agent string from ".(strlen($httpvars["ua"])?"your input":"your browser").":\n
"); -print("".$ua->getUAString()."\n"); +$para = $body->appendElement('p', 'I read the following user agent string from '.(strlen($httpvars['ua'])?'your input':'your browser').':'); +$para->appendElement('br'); +$para->appendElement('b', $ua->getUAString()); -print("

The browser brand is reported as "".$ua->getBrand().""\n"); -print("
The browser version is reported as "".$ua->getVersion().""\n"); -print("
The browser engine is reported as "".$ua->getEngine().""\n"); -print("
The engine version is reported as "".$ua->getEngineVersion().""\n"); -print("
The operating system is reported as "".$ua->getOS().""\n"); -print("
The system platform is reported as "".$ua->getPlatform().""\n"); -print("
The browser language is reported as "".$ua->getLanguage().""\n"); +$ulist = $body->appendElement('ul'); +$ulist->setAttribute('class', 'flat'); +$litem = $ulist->appendElement('li'); +$litem->appendText('The browser brand is reported as "'); +$litem->appendElement('b', $ua->getBrand()); +$litem->appendText('"'); +$litem = $ulist->appendElement('li'); +$litem->appendText('The browser version is reported as "'); +$litem->appendElement('b', $ua->getVersion()); +$litem->appendText('"'); +$litem = $ulist->appendElement('li'); +$litem->appendText('The browser engine is reported as "'); +$litem->appendElement('b', $ua->getEngine()); +$litem->appendText('"'); +$litem = $ulist->appendElement('li'); +$litem->appendText('The engine version is reported as "'); +$litem->appendElement('b', $ua->getEngineVersion()); +$litem->appendText('"'); +$litem = $ulist->appendElement('li'); +$litem->appendText('The operating system is reported as "'); +$litem->appendElement('b', $ua->getOS()); +$litem->appendText('"'); +$litem = $ulist->appendElement('li'); +$litem->appendText('The system platform is reported as "'); +$litem->appendElement('b', $ua->getPlatform()); +$litem->appendText('"'); +$litem = $ulist->appendElement('li'); +$litem->appendText('The browser language is reported as "'); +$litem->appendElement('b', $ua->getLanguage()); +$litem->appendText('"'); if ($ua->hasEngine('gecko')) { - print("
The Gecko date is reported as "".$ua->getGeckoDate().""\n"); - print("
The full Gecko date/time is reported as "".date('r',$ua->getGeckoTime()).""\n"); + $litem = $ulist->appendElement('li'); + $litem->appendText('The Gecko date is reported as "'); + $litem->appendElement('b', $ua->getGeckoDate()); + $litem->appendText('"'); + $litem = $ulist->appendElement('li'); + $litem->appendText('The full Gecko date/time is reported as "'); + $litem->appendElement('b', date('r',$ua->getGeckoTime())); + $litem->appendText('"'); +} +$litem = $ulist->appendElement('li'); +$litem->setAttribute('class', 'summary'); +$litem->appendText('I conclude this must be '); +$litem->appendElement('b', $ua->getBrand()." ".$ua->getVersion()); +$litem->appendText('.'); +$litem = $ulist->appendElement('li'); +$litem->appendText('This is '); +$litem->appendElement('b', ($ua->isBot()?'an':'no')); +$litem->appendText(' automated robot.'); + +$para = $body->appendElement('p', 'Accepted Languages:'); +foreach ($acclang as $lang=>$q) { + $para->appendText($lang.'('.$q.') '); } -print("

I conclude this must be ".$ua->getBrand()." ".$ua->getVersion()."\n"); -print("
This is ".($ua->isBot()?"an":"no")." automated robot.\n"); - -$acclang = $ua->getAcceptLanguages(); -print("

Accepted Languages: "); -foreach ($acclang as $lang=>$q) { print($lang."(".$q.") "); } -print("\n"); - -print("

Test the following UA string (leave empty to read it from your browser):\n"); -print("

\n"); -print("getUAString())."\" size=\"80\" maxlength=\"150\">\n"); -print("

\n"); - -print("
\n"); -print("Page code under Mozilla Public License, code available at GitHub.\n"); -print("
\n"); -print("\n"); + +$para = $body->appendElement('p', 'Test the following UA string (leave empty to read it from your browser):'); +$form = $body->appendForm('', 'POST', 'uaform'); +$form->appendInputText('ua', 150, 80, null, $ua->getUAString()); +$form->appendElement('br'); +$form->appendInputSubmit(_('Test')); + +$footer = $body->appendElement('footer', 'Page code under Mozilla Public License, code available at '); +$footer->setAttribute('id', 'copyright'); +$footer->appendLink('https://github.com/KaiRo-at/php-utility-classes', 'GitHub'); +$footer->appendText('.'); + +// Send HTML to client. +print($document->saveHTML()); ?>