[limb-svn] r6407 - 3.x/trunk/limb/core/tests/bench
svn at limb-project.com
svn at limb-project.com
Wed Oct 10 15:55:20 MSD 2007
Author: serega
Date: 2007-10-10 15:55:20 +0400 (Wed, 10 Oct 2007)
New Revision: 6407
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6407
Added:
3.x/trunk/limb/core/tests/bench/MyClass.class.php
3.x/trunk/limb/core/tests/bench/bundle.inc.php
3.x/trunk/limb/core/tests/bench/class_content.php
3.x/trunk/limb/core/tests/bench/lmb_bundle.php
3.x/trunk/limb/core/tests/bench/lmb_req.php
Modified:
3.x/trunk/limb/core/tests/bench/
Log:
-- added some bench tests for lmb_require()
Property changes on: 3.x/trunk/limb/core/tests/bench
___________________________________________________________________
Name: svn:ignore
+ temp
Added: 3.x/trunk/limb/core/tests/bench/MyClass.class.php
===================================================================
--- 3.x/trunk/limb/core/tests/bench/MyClass.class.php (rev 0)
+++ 3.x/trunk/limb/core/tests/bench/MyClass.class.php 2007-10-10 11:55:20 UTC (rev 6407)
@@ -0,0 +1,4 @@
+<?php
+class MyClass
+{
+}
Added: 3.x/trunk/limb/core/tests/bench/bundle.inc.php
===================================================================
--- 3.x/trunk/limb/core/tests/bench/bundle.inc.php (rev 0)
+++ 3.x/trunk/limb/core/tests/bench/bundle.inc.php 2007-10-10 11:55:20 UTC (rev 6407)
@@ -0,0 +1,4 @@
+<?php
+class MyClass
+{
+}
Added: 3.x/trunk/limb/core/tests/bench/class_content.php
===================================================================
--- 3.x/trunk/limb/core/tests/bench/class_content.php (rev 0)
+++ 3.x/trunk/limb/core/tests/bench/class_content.php 2007-10-10 11:55:20 UTC (rev 6407)
@@ -0,0 +1,50 @@
+ {
+ function testOpen()
+ {
+ $uri = new MockUri();
+ $reader = new lmbUriContentReader();
+ $uri->expectOnce('toString');
+ $uri->setReturnValue('toString', dirname(__FILE__) . '/../html/index.html');
+ $reader->open($uri);
+ $this->assertFalse($reader->getContentType()); // since opening a plain text file not html over http
+ $this->assertEqual($reader->getContent(),
+ file_get_contents(dirname(__FILE__) . '/../html/index.html'));
+ }
+
+ function testFilterAcceptedProtocols()
+ {
+ $links = array(new lmbUri('http://test1.com'),
+ new lmbUri('svn+ssh://test-broken.com'),
+ new lmbUri('https://test1.com'),
+ new lmbUri('ftp://test-broken.com'));
+
+ $this->filter->allowHost('test1.com');
+ $this->filter->allowPathRegex('~.*~');
+ $this->filter->allowProtocol('http');
+ $this->filter->allowProtocol('HTTPS');//protocols are lowercased
+
+ $this->assertTrue($this->filter->canPass($links[0]));
+ $this->assertFalse($this->filter->canPass($links[1]));
+ $this->assertTrue($this->filter->canPass($links[2]));
+ $this->assertFalse($this->filter->canPass($links[3]));
+ }
+
+ function testFilterAcceptedHosts()
+ {
+ $links = array(new lmbUri('http://www.test1.com/some/path'),
+ new lmbUri('http://test-broken.com'),
+ new lmbUri('http://test1.com'),
+ new lmbUri('http://microsoft.com'));
+
+ $this->filter->allowProtocol('http');
+ $this->filter->allowPathRegex('~.*~');
+ $this->filter->allowHost('test1.com');
+ $this->filter->allowHost('www.TEST1.com');//hosts are lowercased
+
+ $this->assertTrue($this->filter->canPass($links[0]));
+ $this->assertFalse($this->filter->canPass($links[1]));
+ $this->assertTrue($this->filter->canPass($links[2]));
+ $this->assertFalse($this->filter->canPass($links[3]));
+ }
+ }
+
Added: 3.x/trunk/limb/core/tests/bench/lmb_bundle.php
===================================================================
--- 3.x/trunk/limb/core/tests/bench/lmb_bundle.php (rev 0)
+++ 3.x/trunk/limb/core/tests/bench/lmb_bundle.php 2007-10-10 11:55:20 UTC (rev 6407)
@@ -0,0 +1,71 @@
+<?php
+
+set_include_path(dirname(__FILE__) . '/../../../../;.');
+require_once('limb/core/common.inc.php');
+require_once('limb/fs/src/lmbFS.class.php');
+
+/*--------------------------------------*/
+lmbFS :: mkDir(dirname(__FILE__) . '/temp/');
+
+generateBundle('cc');
+
+$mark = microtime(true);
+
+require_once(dirname(__FILE__) . '/temp/bundle.inc.php');
+
+for($i=0;$i<300;$i++)
+{
+ $class_name = 'MyClass'. $i . 'cc';
+ $object = new $class_name();
+}
+
+echo "require_once absolute: " . (microtime(true) - $mark) . "\n";
+
+/*--------------------------------------*/
+generateFiles('aa');
+
+$mark = microtime(true);
+
+$dir = dirname(__FILE__) . '/temp/';
+for($i=0;$i<300;$i++)
+{
+ $class_name = 'MyClass'. $i . 'aa';
+ lmb_require($dir. $class_name . '.class.php');
+ $object = new $class_name();
+}
+
+echo "lmb_require many files: " . (microtime(true) - $mark) . "\n";
+
+lmbFS :: rm(dirname(__FILE__) . '/temp/');
+
+/*--------------------------------------*/
+
+function generateBundle($sufffix)
+{
+ $bundle = "";
+
+ for($i = 0; $i < 300; $i++)
+ {
+ $content = getContent($i . $sufffix);
+ $bundle .= $content;
+ }
+
+ file_put_contents(dirname(__FILE__) . '/temp/bundle.inc.php', '<?php ' . $bundle . ' ?>');
+}
+
+function generateFiles($sufffix)
+{
+ for($i = 0; $i < 300; $i++)
+ {
+ $content = getContent($i . $sufffix);
+ file_put_contents(dirname(__FILE__) . '/temp/MyClass' . $i . $sufffix .'.class.php', '<?php ' . $content . ' ?>');
+ }
+}
+
+function getContent($sufffix)
+{
+ $content = 'class MyClass' . $sufffix;
+ $content .= file_get_contents(dirname(__FILE__) . '/class_content.php');
+ return $content;
+}
+
Added: 3.x/trunk/limb/core/tests/bench/lmb_req.php
===================================================================
--- 3.x/trunk/limb/core/tests/bench/lmb_req.php (rev 0)
+++ 3.x/trunk/limb/core/tests/bench/lmb_req.php 2007-10-10 11:55:20 UTC (rev 6407)
@@ -0,0 +1,61 @@
+<?php
+
+set_include_path(dirname(__FILE__) . '/../../../../;.');
+require_once('limb/core/common.inc.php');
+
+//require_once(dirname(__FILE__) . '/bundle.inc.php');
+
+$path = dirname(__FILE__) . '/MyClass.class.php';
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ lmb_require(dirname(__FILE__) . '/MyClass' . $i . '.class.php');
+}
+
+echo "lmb_require not included file: " . (microtime(true) - $mark) . "\n";
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ lmb_require($path);
+ $object = new MyClass();
+}
+
+echo "lmb_require absolute: " . (microtime(true) - $mark) . "\n";
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ lmb_require('MyClass.class.php');
+ $object = new MyClass();
+}
+
+echo "lmb_require relative: " . (microtime(true) - $mark) . "\n";
+
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ require_once($path);
+ $object = new MyClass();
+}
+
+echo "require once absolute: " . (microtime(true) - $mark) . "\n";
+
+
+$mark = microtime(true);
+
+for($i=0;$i<1000;$i++)
+{
+ require_once('MyClass.class.php');
+ $object = new MyClass();
+}
+
+echo "require once relative: " . (microtime(true) - $mark) . "\n";
+
+
More information about the limb-svn
mailing list