[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 class common_dokupref_test extends DokuWikiTest { 4 5 function test_get_default() { 6 $this->assertEquals('nil', get_doku_pref('foo', 'nil')); 7 } 8 9 function test_set() { 10 set_doku_pref('foo1', 'bar1'); 11 set_doku_pref('foo2', 'bar2'); 12 $this->assertEquals('bar1', get_doku_pref('foo1', 'nil')); 13 $this->assertEquals('bar2', get_doku_pref('foo2', 'nil')); 14 } 15 16 function test_set_encode() { 17 set_doku_pref('foo#1', 'bar#1'); 18 set_doku_pref('foo#2', 'bar2'); 19 $this->assertEquals('bar#1', get_doku_pref('foo#1', 'nil')); 20 $this->assertEquals('bar2', get_doku_pref('foo#2', 'nil')); 21 22 set_doku_pref('foo#2', 'bar#2'); 23 $this->assertEquals('bar#1', get_doku_pref('foo#1', 'nil')); 24 $this->assertEquals('bar#2', get_doku_pref('foo#2', 'nil')); 25 } 26 27 // mitigate bug in #2721 28 function test_duplicate_entries() { 29 $_COOKIE['DOKU_PREFS'] = 'foo1#bar1#foo2#bar1#foo2#bar2'; 30 $this->assertEquals('bar2', get_doku_pref('foo2', 'nil')); 31 32 set_doku_pref('foo2', 'new2'); 33 $this->assertEquals('bar1', get_doku_pref('foo1', 'nil')); 34 $this->assertEquals('new2', get_doku_pref('foo2', 'nil')); 35 $this->assertEquals('foo1#bar1#foo2#new2', $_COOKIE['DOKU_PREFS'], 36 'cookie should not have duplicate entries'); 37 } 38 39 // This is a definition from #1129 40 function test_empty() { 41 set_doku_pref('foo', ''); 42 $this->assertSame('', get_doku_pref('foo', 'nil')); 43 44 set_doku_pref('foo', 0); 45 $this->assertSame('0', get_doku_pref('foo', 'nil')); 46 47 set_doku_pref('foo', null); 48 $this->assertSame('', get_doku_pref('foo', 'nil')); 49 50 set_doku_pref('foo', false); 51 $this->assertSame('nil', get_doku_pref('foo', 'nil')); 52 } 53 54 // #2721 55 function test_set_empty_string() { 56 set_doku_pref('foo1', 'bar1'); 57 set_doku_pref('foo2', 'bar1'); 58 59 set_doku_pref('foo2', ''); 60 $this->assertEquals('bar1', get_doku_pref('foo1', 'nil')); 61 $this->assertEquals('', get_doku_pref('foo2', 'nil')); 62 63 set_doku_pref('foo2', 'bar2'); 64 $this->assertEquals('bar1', get_doku_pref('foo1', 'nil')); 65 $this->assertEquals('bar2', get_doku_pref('foo2', 'nil')); 66 $this->assertEquals('foo1#bar1#foo2#bar2', $_COOKIE['DOKU_PREFS'], 67 'cookie should not have duplicate entries'); 68 } 69 70 // #2721 71 function test_set_delete() { 72 set_doku_pref('foo1', 'bar1'); 73 set_doku_pref('foo2', 'bar2'); 74 75 set_doku_pref('foo1', false); 76 $this->assertEquals('nil', get_doku_pref('foo1', 'nil')); 77 $this->assertEquals('bar2', get_doku_pref('foo2', 'nil')); 78 79 set_doku_pref('foo2', false); 80 $this->assertEquals('nil', get_doku_pref('foo1', 'nil')); 81 $this->assertEquals('nil', get_doku_pref('foo2', 'nil')); 82 } 83 84 } 85 86 //Setup VIM: ex: et ts=4 :
title
Description
Body
title
Description
Body
title
Description
Body
title
Body