Home

Tue, May. 13th, 2008, 08:25 pm

function serializeDomNodeToXML(node) {
   if (node.nodeType == node.TEXT_NODE) {
        return node.nodeValue;
   }
   var ret = '<' + node.nodeName.toLowerCase() + ' ';
   if (node.attributes && node.attributes.length) {
      for (var i=0, l=node.attributes.length; i<l; i++) {
         var attr = node.attributes.item(i);
         ret += attr.nodeName + '="' + attr.nodeValue.replace(/"/g,'&quot;') + '" ';
      }
   }
   if (!node.childNodes || !node.childNodes.length) {
       ret += '/>';
   } else {
       ret += '>';
   }
   for (var i = 0, l = node.childNodes.length; i<l; i++) {
      ret += serializeDomNodeToXML(node.childNodes.item(i));
   }

   if (node.childNodes && node.childNodes.length) {
       ret += '</' + node.nodeName.toLowerCase() + '>';
   }

   console.log(node, ret);
   return ret;
}
serializeDomNodeToXML(document.getElementById("js_Menu_siteSelectForm"));

Sat, May. 10th, 2008, 12:38 am
Parameter-based stubbing in PHPUnit (not order-based)

  1 <?php 
  2 class PHPUnit_Framework_MockObject_Stub_ParameterBasedAction implements PHPUnit_Framework_MockObject_Stub 
  3 { 
  4     private $parameters = array(); 
  5     private $returns = array(); 
  6     private $currentParameters = null; 
  7     
  8     public function with() 
  9     { 
 10         if (!is_null($this->currentParameters)) { 
 11             throw new Exception('Out of sequence call - expecting ->will()'); 
 12         } 
 13   
 14         $args = func_get_args(); 
 15         $this->currentParameters = new PHPUnit_Framework_MockObject_Matcher_Parameters($args); 
 16         return $this; 
 17     } 
 18     
 19     public function will($stub) 
 20     { 
 21         if (is_null($this->currentParameters)) { 
 22             throw new Exception('Out of sequence call - expecting ->with()'); 
 23         } 
 24         if (!($stub instanceof PHPUnit_Framework_MockObject_Stub)) { 
 25             $stub = new PHPUnit_Framework_MockObject_Stub_Return($stub); 
 26         } 
 27         $this->parameters[] = $this->currentParameters; 
 28         $this->returns[] = $stub; 
 29         $this->currentParameters = null; 
 30         return $this; 
 31     } 
 32   
 33     public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation) 
 34     { 
 35         foreach ($this->parameters as $i => $matcher) { 
 36             if ($matcher->matches($invocation)) { 
 37                 return $this->returns[$i]->invoke($invocation); 
 38             } 
 39         } 
 40         throw new Exception( 
 41             'No matching parameters found for this invocation: ' 
 42             . PHPUnit_Util_Type::toString($invocation) 
 43         ); 
 44     } 
 45     
 46     public function toString() 
 47     { 
 48         return 'not implemented yet'; 
 49     } 
 50 } 
 51     
 52 class TestFactory 
 53 { 
 54     public function getImplementation($className) 
 55     { 
 56     } 
 57 } 
 58     
 59 class TestTest extends PHPUnit_Framework_TestCase 
 60 { 
 61     public function testParameterBasedAction() 
 62     { 
 63         $factory = $this->getMock('TestFactory'); 
 64         $obj = new stdClass; 
 65         $obj2 = new stdClass; 
 66         $factory->expects($this->any()) 
 67             ->method('getImplementation') 
 68             ->will( 
 69                 $this->parameterBased() 
 70                 ->with('obj1')->will($obj) 
 71                 ->with('obj2')->will($this->returnValue($obj2)) 
 72                 ->with('qq')->will($this->throwException(new Exception('test exception'))) 
 73             ); 
 74         $this->assertSame($obj, $factory->getImplementation('obj1')); 
 75         $this->assertSame($obj2, $factory->getImplementation('obj2')); 
 76         $this->assertSame($obj, $factory->getImplementation('obj1')); 
 77         try { 
 78             $factory->getImplementation('qq'); 
 79             $this->fail('Should have thrown exception'); 
 80         } catch (Exception $e) { 
 81             // passes 
 82         } 
 83     } 
 84     public function parameterBased() 
 85     { 
 86         return new PHPUnit_Framework_MockObject_Stub_ParameterBasedAction; 
 87     } 
 88 } 
 89 ?> 
Code syntax highlighting by VIM captured with ScreenShot script

Fri, Apr. 25th, 2008, 09:35 pm

- Сегодня нельзя мыться.
- Почему?
- Горячей воды нет.

Sat, Mar. 15th, 2008, 11:40 pm

Сказки одного дня,  илл. Г.А.В. Траугот, М.: Советская Россия, 1973 Три толстяка, рис. М.В. Добужинского, М.: Изобразительное искусство, 1992 Маленький принц, рис. Антуана де Сент-Экзюпери, М.: Детская литература, 1967 Чёрная курица, или Подземные жители, рис. Н. Гольц, М.:  Советская Россия, 1987
Пеппи Длинныйчулок, рис. Л.А. Токмакова, М.: Детская литература, 1983 Волшебник Изумрудного города, рис. В.А. Чижикова, М.: Детская литература, 1989 Рикки-Тикки-Тави, рис. Е.И. Чарушина, М.: Малыш, 1980 Муфта, Полботинка и Моховая борода, рис. Э. Вальтера, М,: Детская литература, 1982
Приключения барона Мюнхаузена, рис. С.А. Алимова, М.: Дом, 1992 Огниво, рис. В.А. Чижикова, М.: Малыш, 1975 Мальчик-звезда, рис. Н. Гольц, М.: Детская литература, 1972 Тим Талер, или Проданный смех, рис. Н. Гольц, М.: Детская литература, 1975
Дикие лебеди, рис. Э. Булатова и О. Васильева, Малыш, 1976 Урфин Джюс и его деревянные солдаты, рис. Л. Владимирского, М.: Дом, Агентство Роспечать, 1995 Семь подземных королей, рис. Л. Владимирского, М.: Дом, Агентство Роспечать, 1995 Огненный бог Марранов, рис. Л. Владимирского, М.: Дом, 1992 и 1995
Жёлтый туман, рис. Л. Владимирского, М.: Дом, 1992 и 1995 Тайна заброшенного замка, рис. Л. Владимирского, М.: Дом, 1992 и 1995 Путешествие Голубой Стрелы, рис. Л. Владимирского, М.: Советская Россия, 1972 Маленькая Баба-Яга, рис. И.И. Кабакова, Детская литература, 1973
Сказки дядюшки Римуса, рис. Г.В. Калиновского, М.: Детская литература, 1976 Муми-тролль, Людвиг Четырнадцатый и совсем другие, рис. Б.А. Диодорова и Туве Янссон, М.: Детская литература, 1976 Чудесное путешествие Нильса с дикими гусями, рис. Н.И. Брюханова, Карелия,  1971 Приключения Электроника,  рис. Е. Мигунова, Наука, 1994
Рэсси - неуловимый друг, рис. Е.Т. Мигунова, М.: Детская  литература, 1971 Новые приключения Электроника, рис. С.И. Лемехова, Пермь: Урал-Пресс, 1994 Журавлёнок и молнии, рис. Е.А. Медведева, Детская литература, 1985 Дети синего фламинго, рис. Е.А. Медведева, Советская Россия, 1989
Мушктёр и фея, рис. Е.А. Медведева, Петрозаводск: Карелия, 1987 Трое с площади Карронад, рис. Е.А. Медведева, М.: Детская литература, 1982 Продавец приключений, рис. Г. Валька, М.: Детская литература, 1970 Приключения Тома Сойера. Приключения Гекльберри Финна, рис.  Г. Фитингофа, М.: Детская литература, 1977
Хранители, рис. Г.В. Калиновского, М.: Детская литература, 1983 Садко, рис. В.В. Перцова, М.: Малыш, 1975 Тайны анатомии, рис. Кэрол Доннер, Мир, 1988

Fri, Feb. 22nd, 2008, 11:43 pm
Beware the Jabberwock, my son...

http://centrolit.kulichki.net/centrolit/jabberwocky/index.html

Wed, Feb. 20th, 2008, 02:50 pm

  1 <?php 
  2 function save_context($no, $str, $file, $line, $context) { 
  3     var_dump("saving context", $context); 
  4     file_put_contents("q.context", serialize($context)); 
  5 } 
  6 set_error_handler("save_context"); 
  7 
  8 function restorable() { 
  9     if (file_exists("q.context")) { 
 10         extract(unserialize(file_get_contents("q.context"))); 
 11         var_dump("restored $a $b"); 
 12         unlink("q.context"); 
 13     } else { 
 14         var_dump("new run"); 
 15         $a = rand(); 
 16         $b = rand(); 
 17         trigger_error("save_context"); 
 18     } 
 19 } 
 20 restorable(); 
Code syntax highlighting by VIM captured with ScreenShot script

Sat, Feb. 16th, 2008, 10:03 pm
Free not as in beer

Вот ведь что интересно - циркулирует мысль, что использование опенсурсного софта (программ/библиотек) сокращает время разработки и удешевляет ее. Так почему, нет, блять, ПОЧЕМУ просматривая историю времязатрат по проекту я вижу, что дешевле было написать свой инсталлятор, чем адаптировать PEAR к промышленному использованию? Почему в субботний вечер до десяти часов я сижу и фикшу баги в Phing'е, разработчики которого, видите ли, не признают симлинки и не умееют их копировать?

Бесплатно, говорите? Расскажете психиатру.

Tue, Feb. 12th, 2008, 04:23 am
Алтан Ураг

Mon, Dec. 31st, 2007, 03:48 pm

"The king is dead... long live the king"

Sat, Dec. 29th, 2007, 08:51 pm
Last Friday of 2007 - Party

Thu, Dec. 27th, 2007, 12:27 am
16 метров не помеха

Sat, Dec. 22nd, 2007, 01:26 pm
Подарочный гобот

Thu, Dec. 20th, 2007, 04:07 pm

Там человек-микрофон с серпантином на ушах ходит

Thu, Dec. 13th, 2007, 08:37 pm


Произведения, наиболее похожие по частоте слов на блог [info]weirdan v. 0.7

Игры всяческие: bthorne.txt

Произведения в прозе: 12-24-96 "Невидимый брат"

Чеченская война: Roy Conrad. Grozny. A few days...

Олег Павлов: Эпилогия

Шервуд Андерсон: Печальные музыканты

Вениамин Каверин: Два капитана (engl)

Терри Прэтчетт: Theater of Cruelty (engl)

Queen: 3 Sheer Heart Attack 1974 LP

Learning English: Проект реконструкции английского языка

Льюис Кэрролл: Г.К.Честертон. По обе стороны зеркала


(c) [info]stanislav_mikov
А какие произведения похожи на ваш блог???

Tue, Dec. 11th, 2007, 01:12 am

Выпустил таки jabber bot'а, мониторящего svn: http://svnbot.googlecode.com/. За полчаса пресс-релиз оказался на первом месте в гугле по запросу 'jabber svn bot' - мелочь, а приятно.

Sat, Dec. 8th, 2007, 12:44 am


Короткое — это хорошо порезанное длинное

Fri, Dec. 7th, 2007, 05:56 pm


There were no screams.
There was no time.
The mountain called monkey had spoken.
There was only fire.
And then,
nothing...
Gorillaz

Thu, Dec. 6th, 2007, 01:01 am

Thu, Nov. 22nd, 2007, 08:19 pm

Tue, Nov. 20th, 2007, 02:38 am

20 most recent