Author: ornicar2
Date: 2010-01-17 19:49:46 +0100 (Sun, 17 Jan 2010)
New Revision: 26777
Added:
plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/
plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowser.php
plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
Removed:
plugins/diemPlugin/trunk/dmCorePlugin/lib/user/dmBrowser.php
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap.xml
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_en.xml
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_fr.xml
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/config/dm/services.yml
plugins/diemPlugin/trunk/dmCorePlugin/test/project/config/ProjectConfiguration.class.php
Log:
[Diem]
- added browser_detection service
- improved browser detection with googlebot, google chrome and iphone
- added unit tests for browser detection
Modified: plugins/diemPlugin/trunk/dmCorePlugin/config/dm/services.yml
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/config/dm/services.yml
2010-01-17 17:04:38 UTC (rev 26776)
+++ plugins/diemPlugin/trunk/dmCorePlugin/config/dm/services.yml
2010-01-17 18:49:46 UTC (rev 26777)
@@ -116,9 +116,11 @@
max_size_megabytes: 3 # max size for the log
file before rotating
request_log_entry.class: dmRequestLogEntry # An entry of the event log
+
+ browser.class: dmBrowser # Represents a user browser
+
+ browser_detection.class: dmBrowserDetection # Responsible for
detecting user browser depending on its user agent
- browser.class: dmBrowser # Responsible for
detecting user browser depending on its user agent
-
page_tree_watcher.class: dmPageTreeWatcher # Responsible for
listening all events that may require a page synchronization, and launch the
synchronization if any before redirections.
page_tree_watcher.options:
use_thread: auto # launch heavy
synchronization tasks on another process ( auto, true, false )
@@ -324,7 +326,12 @@
browser:
class: %browser.class%
shared: false
- arguments: [ @dispatcher ]
+ arguments: [ @dispatcher, @browser_detection ]
+
+ browser_detection:
+ class: %browser_detection.class%
+ shared: true
+ arguments: []
page_tree_watcher:
class: %page_tree_watcher.class%
Copied: plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowser.php (from
rev 26731, plugins/diemPlugin/trunk/dmCorePlugin/lib/user/dmBrowser.php)
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowser.php
(rev 0)
+++ plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowser.php
2010-01-17 18:49:46 UTC (rev 26777)
@@ -0,0 +1,87 @@
+<?php
+
+class dmBrowser
+{
+ protected
+ $dispatcher,
+ $browserDetection,
+ $name,
+ $version;
+
+ public function __construct(sfEventDispatcher $dispatcher,
dmBrowserDetection $browserDetection)
+ {
+ $this->dispatcher = $dispatcher;
+ $this->browserDetection = $browserDetection;
+
+ $this->initialize();
+ }
+
+ protected function initialize()
+ {
+ $this->name = $this->version = null;
+ }
+
+ /*
+ * Minimal browser detection from user agent.
+ * It has the advantage of being compact and
+ * fairly performant as well, since it doesn't
+ * do any iteration or recursion.
+ */
+ public function configureFromUserAgent($userAgent)
+ {
+ $this->initialize();
+
+ $infos = $this->browserDetection->execute($userAgent);
+ $this->setName($infos['name']);
+ $this->setVersion($infos['version']);
+
+ if($this->isUnknown())
+ {
+ $this->dispatcher->notify(new sfEvent($this, 'dm.browser.unknown',
$userAgent));
+ }
+ }
+
+ public function isUnknown()
+ {
+ return null === $this->name;
+ }
+
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ public function setName($name)
+ {
+ $this->name = $name;
+ }
+
+ public function getVersion()
+ {
+ return $this->version;
+ }
+
+ public function setVersion($version)
+ {
+ $this->version = $version;
+ }
+
+ public function __toString()
+ {
+ return $this->getFullName();
+ }
+
+ public function describe()
+ {
+ return array(
+ 'name' => $this->getName(),
+ 'version' => $this->getVersion(),
+ 'is_unknown' => $this->isUnknown()
+ );
+ }
+
+ public function getFullName()
+ {
+ return $this->getName().' '.$this->getVersion();
+ }
+}
\ No newline at end of file
Added: plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
(rev 0)
+++ plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
2010-01-17 18:49:46 UTC (rev 26777)
@@ -0,0 +1,94 @@
+<?php
+
+class dmBrowserDetection
+{
+ protected
+ $userAgent,
+ $name,
+ $version;
+
+ public function execute($userAgent)
+ {
+ $this->userAgent = strtr(strtolower($userAgent), $this->getAliases());
+ $this->name = $this->version = null;
+
+ $this->guessFast();
+
+ $this->fixGoogleChrome();
+
+ $this->fixSafariVersion();
+
+ $this->fixIphone();
+
+ return array('name' => $this->name, 'version' => $this->version);
+ }
+
+ protected function guessFast()
+ {
+ // Clean up agent and build regex that matches phrases for known browsers
+ // (e.g. "Firefox/2.0" or "MSIE 6.0" (This only matches the major and minor
+ // version numbers. E.g. "2.0.0.6" is parsed as simply "2.0"
+ $pattern = '#('.join('|', $this->getKnownBrowsers()).')[/
]+([0-9]+(?:\.[0-9]+)?)#';
+
+ // Find all phrases (or return empty array if none found)
+ if (preg_match_all($pattern, $this->userAgent, $matches))
+ {
+ // Since some UAs have more than one phrase (e.g Firefox has a Gecko
phrase,
+ // Opera 7,8 have a MSIE phrase), use the last one found (the right-most
one
+ // in the UA). That's usually the most correct.
+ $i = count($matches[1])-1;
+
+ if (isset($matches[1][$i]))
+ {
+ $this->name = $matches[1][$i];
+ }
+ if (isset($matches[2][$i]))
+ {
+ $this->version = $matches[2][$i];
+ }
+ }
+ }
+
+ protected function fixGoogleChrome()
+ {
+ // Google chrome has a safari like signature
+ if ('safari' === $this->name && strpos($this->userAgent, 'chrome/'))
+ {
+ $this->name = 'chrome';
+ $this->version = preg_replace('|.+chrome/([0-9]+(?:\.[0-9]+)?).+|',
'$1', $this->userAgent);
+ }
+ }
+
+ protected function fixSafariVersion()
+ {
+ // Safari version is not encoded "normally"
+ if ('safari' === $this->name && strpos($this->userAgent, ' version/'))
+ {
+ $this->version = preg_replace('|.+\sversion/([0-9]+(?:\.[0-9]+)?).+|',
'$1', $this->userAgent);
+ }
+ }
+
+ protected function fixIphone()
+ {
+ if('webkit' === $this->name && strpos($this->userAgent, '(iphone;'))
+ {
+ $this->name = 'iphone';
+ }
+ }
+
+ protected function getAliases()
+ {
+ return array(
+ 'shiretoko' => 'firefox',
+ 'namoroka' => 'firefox',
+ 'shredder' => 'firefox',
+ 'minefield' => 'firefox',
+ 'granparadiso' => 'firefox'
+ );
+ }
+
+ protected function getKnownBrowsers()
+ {
+ return array('msie', 'firefox', 'safari', 'webkit', 'opera', 'netscape',
'konqueror', 'gecko', 'chrome', 'googlebot', 'iphone');
+ }
+}
\ No newline at end of file
Deleted: plugins/diemPlugin/trunk/dmCorePlugin/lib/user/dmBrowser.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/lib/user/dmBrowser.php
2010-01-17 17:04:38 UTC (rev 26776)
+++ plugins/diemPlugin/trunk/dmCorePlugin/lib/user/dmBrowser.php
2010-01-17 18:49:46 UTC (rev 26777)
@@ -1,110 +0,0 @@
-<?php
-
-class dmBrowser
-{
- protected
- $dispatcher,
- $name,
- $version;
-
- protected static
- $browserAliases = array(
- 'shiretoko' => 'firefox',
- 'namoroka' => 'firefox'
- ),
- $knownBrowsers = array('msie', 'firefox', 'safari', 'webkit', 'opera',
'netscape', 'konqueror', 'gecko', 'chrome');
-
- public function __construct(sfEventDispatcher $dispatcher)
- {
- $this->dispatcher = $dispatcher;
- }
-
- /*
- * Minimal browser detection from user agent.
- * It has the advantage of being compact and
- * fairly performant as well, since it doesn't
- * do any iteration or recursion.
- */
- public function configureFromUserAgent($userAgent)
- {
- $formattedUserAgent = strtr(strtolower($userAgent), self::$browserAliases);
-
- // Clean up agent and build regex that matches phrases for known browsers
- // (e.g. "Firefox/2.0" or "MSIE 6.0" (This only matches the major and minor
- // version numbers. E.g. "2.0.0.6" is parsed as simply "2.0"
- $pattern = '#(?<browser>'.join('|', self::$knownBrowsers).')[/
]+(?<version>[0-9]+(?:\.[0-9]+)?)#';
-
- // Find all phrases (or return empty array if none found)
- if (preg_match_all($pattern, $formattedUserAgent, $matches))
- {
- // Since some UAs have more than one phrase (e.g Firefox has a Gecko
phrase,
- // Opera 7,8 have a MSIE phrase), use the last one found (the right-most
one
- // in the UA). That's usually the most correct.
- $i = count($matches['browser'])-1;
-
- if (isset($matches['browser'][$i]))
- {
- $this->setName($matches['browser'][$i]);
- }
- if (isset($matches['version'][$i]))
- {
- $this->setVersion($matches['version'][$i]);
- }
-
- //Google chrome has a safari like signature
- if ('safari' === $this->name && strpos($formattedUserAgent, 'chrome/'))
- {
- $this->setName('chrome');
- $this->setVersion(preg_replace('|.+chrome/([0-9]+(?:\.[0-9]+)?).+|',
'$1', $formattedUserAgent));
- }
- }
- else
- {
- $this->dispatcher->notify(new sfEvent($this, 'dm.browser.unknown',
$userAgent));
- }
- }
-
- public function isUnknown()
- {
- return null === $this->name;
- }
-
- public function getName()
- {
- return $this->name;
- }
-
- public function setName($name)
- {
- $this->name = $name;
- }
-
- public function getVersion()
- {
- return $this->version;
- }
-
- public function setVersion($version)
- {
- $this->version = $version;
- }
-
- public function __toString()
- {
- return $this->getFullName();
- }
-
- public function describe()
- {
- return array(
- 'name' => $this->getName(),
- 'version' => $this->getVersion(),
- 'is_unknown' => $this->isUnknown()
- );
- }
-
- public function getFullName()
- {
- return $this->getName().' '.$this->getVersion();
- }
-}
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/test/project/config/ProjectConfiguration.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/test/project/config/ProjectConfiguration.class.php
2010-01-17 17:04:38 UTC (rev 26776)
+++
plugins/diemPlugin/trunk/dmCorePlugin/test/project/config/ProjectConfiguration.class.php
2010-01-17 18:49:46 UTC (rev 26777)
@@ -76,6 +76,7 @@
sfToolkit::clearDirectory(dmOs::join(sfConfig::get('sf_root_dir'),
'cache'));
sfToolkit::clearDirectory(dmOs::join(sfConfig::get('sf_root_dir'), 'log'));
$filesystem->remove(sfFinder::type('any')->not_name('*.sqlite')->in(sfConfig::get('sf_data_dir')));
+
$filesystem->remove(sfFinder::type('file')->name('sitemap*')->in(sfConfig::get('sf_web_dir')));
copy(dmOs::join(sfConfig::get('sf_data_dir'), 'fresh_db.sqlite'),
dmOs::join(sfConfig::get('sf_data_dir'), 'db.sqlite'));
$this->cleanupUploads($filesystem);
}
Deleted:
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap.xml
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap.xml
2010-01-17 17:04:38 UTC (rev 26776)
+++ plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap.xml
2010-01-17 18:49:46 UTC (rev 26777)
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
- <sitemap>
- <loc>http://www.my-domain.com/sitemap_en.xml</loc>
- </sitemap>
- <sitemap>
- <loc>http://www.my-domain.com/sitemap_fr.xml</loc>
- </sitemap>
-</sitemapindex>
Deleted:
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_en.xml
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_en.xml
2010-01-17 17:04:38 UTC (rev 26776)
+++
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_en.xml
2010-01-17 18:49:46 UTC (rev 26777)
@@ -1,423 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
- <url>
- <loc>
- http://www.my-domain.com/
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/page2
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/page21
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/page1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/page12
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/page11
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/page111
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/orbi-at-dui-sed-el
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/orbi-at-dui-sed-el/oncus-mauris-a-sapie
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/orbi-at-dui-sed-el/oncus-mauris-a-sapie/mus-pellentesque-lao
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/sapien
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/sapien/us-donec-rhoncus-feugiat-arcu
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/sapien/us-donec-rhoncus-feugiat-arcu/aptent-taciti-socio
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/s-integer-nec-risus-vivamus-sce
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ma
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ltrices-p
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no/ada-eget-tincidunt-quis-s
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no/ligula-quis-neque-iac
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no/m-mi-pellentesque-et-consequat-ut-fe
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ut-ullamcorper
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ut-ullamcorper/ulum-l
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/ut-ullamcorper/ulum-l/lutpat-quisque-laoreet-ni
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/lobortis-vel-ma
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/e-erat-orci-a-nisl-i
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/ante-vel-convallis-dolor
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/phasellus-tristiqu
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/t-erat-condimentum-dapibus
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/nec-justo-enim-ullamcorpe
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ut-ligula-quis-neque-iacu
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/domain-1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/domain-1/categ-1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/domain-1/categ-1/post-1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/leo-vestibulum-ante-ipsum-primis-in-fau
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/a-ipsum-nec-sapien-maece
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ae-nunc-maecenas-at-ligula-se
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/s-vestibu
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/pellentesque-convallis-elit
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/massa-ph
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/endiss
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/rta-ligula-lobortis-risus-nullam-non-p
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/rutrum-vene
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/avida-al
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/arius-integer-nec-r
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/us
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/hendre
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/a-curae-p
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/r-d
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/verra-praesent-convallis-lobortis
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/c-lorem-tellus-c
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/i-tincidunt-quam-a-soll
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/lis-gravida-ut-a
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/felis-vita
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/curabitur-sit-am
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/tra-non-lobortis-vitae-quam
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/ntum-morbi-sit-amet-lectus-iaculis-me
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/s-eleifend-gravid
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/fames-ac-turpis-egestas
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/us-vivamus-libero-sem-cursus-vel
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ortor-maec
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ec-gr
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ligula-metus-malesu
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/terdum-nisi-at-suscipit-sodales-sapien
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/in-scelerisque-cu
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/r-est-morbi-at-dui-sed
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/tum
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/t-erat-vulputate-vel
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/neque
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/etiam-et-nulla-con
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/psum-primis-in-faucibus-orci-luctus
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/a-orci
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/t-lobortis-fe
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/tag-1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/admin
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/ligula-nec-faucibus-egf05v
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/nulla-facilisi-maecenrvpvzjme39
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/s-convallis-imperdiet-metus-nunc-sitwija
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/authors/ante-ipsum-primis-in-faucibus-orci-lcpq9xh
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/sitemap
- </loc>
- </url>
-</urlset>
\ No newline at end of file
Deleted:
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_fr.xml
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_fr.xml
2010-01-17 17:04:38 UTC (rev 26776)
+++
plugins/diemPlugin/trunk/dmCorePlugin/test/project/public_html/sitemap_fr.xml
2010-01-17 18:49:46 UTC (rev 26777)
@@ -1,368 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/orbi-at-dui-sed-el
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/orbi-at-dui-sed-el/oncus-mauris-a-sapie
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/orbi-at-dui-sed-el/oncus-mauris-a-sapie/mus-pellentesque-lao
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/sapien
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/sapien/us-donec-rhoncus-feugiat-arcu
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/sapien/us-donec-rhoncus-feugiat-arcu/aptent-taciti-socio
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/s-integer-nec-risus-vivamus-sce
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ma
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ltrices-p
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no/ada-eget-tincidunt-quis-s
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no/ligula-quis-neque-iac
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/nec-porta-pulvinar-neque-nam-in-augue/conubia-no/m-mi-pellentesque-et-consequat-ut-fe
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ut-ullamcorper
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ut-ullamcorper/ulum-l
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/ut-ullamcorper/ulum-l/lutpat-quisque-laoreet-ni
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/lobortis-vel-ma
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/e-erat-orci-a-nisl-i
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/ante-vel-convallis-dolor
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/phasellus-tristiqu
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/t-erat-condimentum-dapibus
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-domains/lobortis-vel-ma/giat-pre/nec-justo-enim-ullamcorpe
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/ut-ligula-quis-neque-iacu
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/domain-1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/domain-1/categ-1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-domains/domain-1/categ-1/post-1
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/leo-vestibulum-ante-ipsum-primis-in-fau
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/a-ipsum-nec-sapien-maece
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ae-nunc-maecenas-at-ligula-se
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/s-vestibu
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/pellentesque-convallis-elit
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/massa-ph
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/endiss
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/rta-ligula-lobortis-risus-nullam-non-p
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/rutrum-vene
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/avida-al
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/arius-integer-nec-r
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/us
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/hendre
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/a-curae-p
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/r-d
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/verra-praesent-convallis-lobortis
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/c-lorem-tellus-c
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/i-tincidunt-quam-a-soll
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/lis-gravida-ut-a
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/felis-vita
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/curabitur-sit-am
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/tra-non-lobortis-vitae-quam
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/ntum-morbi-sit-amet-lectus-iaculis-me
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/s-eleifend-gravid
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/fames-ac-turpis-egestas
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/us-vivamus-libero-sem-cursus-vel
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ortor-maec
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ec-gr
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/ligula-metus-malesu
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/dm-test-tags/terdum-nisi-at-suscipit-sodales-sapien
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/in-scelerisque-cu
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/r-est-morbi-at-dui-sed
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/tum
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/t-erat-vulputate-vel
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/neque
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/etiam-et-nulla-con
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/psum-primis-in-faucibus-orci-luctus
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/a-orci
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/t-lobortis-fe
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/dm-test-tags/tag-1
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/admin
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/ligula-nec-faucibus-egf05v
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/nulla-facilisi-maecenrvpvzjme39
- </loc>
- </url>
- <url>
- <loc>
- http://www.my-domain.com/authors/s-convallis-imperdiet-metus-nunc-sitwija
- </loc>
- </url>
- <url>
- <loc>
-
http://www.my-domain.com/authors/ante-ipsum-primis-in-faucibus-orci-lcpq9xh
- </loc>
- </url>
-</urlset>
\ No newline at end of file
Added: plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
(rev 0)
+++ plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
2010-01-17 18:49:46 UTC (rev 26777)
@@ -0,0 +1,52 @@
+<?php
+
+require_once(dirname(__FILE__).'/helper/dmUnitTestHelper.php');
+$helper = new dmUnitTestHelper();
+$helper->boot();
+
+$t = new lime_test(16);
+$browser = $helper->get('browser');
+
+$namorokaUbuntu = 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2pre)
Gecko/20100116 Ubuntu/9.10 (karmic) Namoroka/3.6pre';
+$namorokaMac = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
rv:1.9.2) Gecko/20100105 Firefox/3.6';
+$chromeMac = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-US)
AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.49 Safari/532.5';
+$safariMac = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; fr-fr)
AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10';
+$operaWindows = 'Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15
Version/10.10';
+$googleBot = 'Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html)';
+$msnBot = 'msnbot/2.0b (+http://search.msn.com/msnbot.htm)';
+$firefoxLinux = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.17)
Gecko/2010010604 Linux Mint/7 (Gloria) Firefox/3.0.17';
+$firefoxWindows = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.7)
Gecko/20091221 Firefox/3.5.7 GTB6 (.NET CLR 3.5.30729)';
+//$firefoxWindowsSp2 = 'Gecko 2009122116Mozilla/5.0 (Windows; U; Windows NT
6.0; de; rv:1.9.0.17) Gecko/2009122116
Firefox[xSP_2:077784879bbf239604c69a247f6786a0_220] 967907703 (.NET CLR
3.5.30729)';
+$chromeLinux = 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.5
(KHTML, like Gecko) Chrome/4.0.249.43 Safari/532.5';
+$speedySpider = 'Speedy Spider
(http://www.entireweb.com/about/search_tech/speedy_spider/)';
+$minefieldMac = 'Gecko 20100113Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5;
en-US; rv:1.9.3a1pre) Gecko/20100113 Minefield/3.7a1pre';
+$ie7Windows = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0;
GTB6; SLCC1; .NET CLR 2.0.50727; OfficeLiveConnector.1.3; OfficeLivePatch.0.0;
.NET CLR 3.5.30729; InfoPath.2; .NET CLR 3.0.30729; MSOffice 12)';
+$ie6Windows = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; DigExt)';
+$feedFetcherGoogle = 'Feedfetcher-Google;
(+http://www.google.com/feedfetcher.html; 2 subscribers;
feed-id=6924676383167400434)';
+$iphone = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; de-de)
AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11';
+
+$tests = array(
+ $namorokaUbuntu => array('name' => 'firefox', 'version' => '3.6',
'is_unknown' => false),
+ $namorokaMac => array('name' => 'firefox', 'version' => '3.6', 'is_unknown'
=> false),
+ $chromeMac => array('name' => 'chrome', 'version' => '4.0', 'is_unknown' =>
false),
+ $safariMac => array('name' => 'safari', 'version' => '4.0', 'is_unknown' =>
false),
+ $googleBot => array('name' => 'googlebot', 'version' => '2.1', 'is_unknown'
=> false),
+ $msnBot => array('name' => null, 'version' => null, 'is_unknown' => true),
+ $operaWindows => array('name' => 'opera', 'version' => '9.80', 'is_unknown'
=> false),
+ $firefoxLinux => array('name' => 'firefox', 'version' => '3.0', 'is_unknown'
=> false),
+ $firefoxWindows => array('name' => 'firefox', 'version' => '3.5',
'is_unknown' => false),
+// $firefoxWindowsSp2 => array('name' => 'firefox', 'version' => '3.0',
'is_unknown' => false),
+ $chromeLinux => array('name' => 'chrome', 'version' => '4.0', 'is_unknown'
=> false),
+ $speedySpider => array('name' => null, 'version' => null, 'is_unknown' =>
true),
+ $minefieldMac => array('name' => 'firefox', 'version' => '3.7', 'is_unknown'
=> false),
+ $ie7Windows => array('name' => 'msie', 'version' => '7.0', 'is_unknown' =>
false),
+ $ie6Windows => array('name' => 'msie', 'version' => '6.0', 'is_unknown' =>
false),
+ $feedFetcherGoogle => array('name' => null, 'version' => null, 'is_unknown'
=> true),
+ $iphone => array('name' => 'iphone', 'version' => '528.18', 'is_unknown' =>
false),
+);
+
+foreach($tests as $userAgent => $description)
+{
+ $browser->configureFromUserAgent($userAgent);
+ $t->is_deeply($browser->describe(), $description, $userAgent.' ->
'.implode(', ', $description));
+}
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.