1*8fed17f3SAndreas Gohr<?php 2*8fed17f3SAndreas Gohr 3*8fed17f3SAndreas Gohrnamespace dokuwiki\plugin\struct\test; 4*8fed17f3SAndreas Gohr 5*8fed17f3SAndreas Gohruse dokuwiki\plugin\struct\meta; 6*8fed17f3SAndreas Gohr 7*8fed17f3SAndreas Gohr/** 8*8fed17f3SAndreas Gohr * Tests for the Column object 9*8fed17f3SAndreas Gohr * 10*8fed17f3SAndreas Gohr * @group plugin_struct 11*8fed17f3SAndreas Gohr * @group plugins 12*8fed17f3SAndreas Gohr */ 13*8fed17f3SAndreas Gohrclass ColumnTest extends StructTest 14*8fed17f3SAndreas Gohr{ 15*8fed17f3SAndreas Gohr 16*8fed17f3SAndreas Gohr public function test_allTypes() 17*8fed17f3SAndreas Gohr { 18*8fed17f3SAndreas Gohr 19*8fed17f3SAndreas Gohr $expect = [ 20*8fed17f3SAndreas Gohr 'Checkbox' => 'dokuwiki\\plugin\\struct\\types\\Checkbox', 21*8fed17f3SAndreas Gohr 'Color' => 'dokuwiki\\plugin\\struct\\types\\Color', 22*8fed17f3SAndreas Gohr 'Date' => 'dokuwiki\\plugin\\struct\\types\\Date', 23*8fed17f3SAndreas Gohr 'DateTime' => 'dokuwiki\\plugin\\struct\\types\\DateTime', 24*8fed17f3SAndreas Gohr 'Decimal' => 'dokuwiki\\plugin\\struct\\types\\Decimal', 25*8fed17f3SAndreas Gohr 'Dropdown' => 'dokuwiki\\plugin\\struct\\types\\Dropdown', 26*8fed17f3SAndreas Gohr 'LongText' => 'dokuwiki\\plugin\\struct\\types\\LongText', 27*8fed17f3SAndreas Gohr 'Lookup' => 'dokuwiki\\plugin\\struct\\types\\Lookup', 28*8fed17f3SAndreas Gohr 'Mail' => 'dokuwiki\\plugin\\struct\\types\\Mail', 29*8fed17f3SAndreas Gohr 'Media' => 'dokuwiki\\plugin\\struct\\types\\Media', 30*8fed17f3SAndreas Gohr 'Page' => 'dokuwiki\\plugin\\struct\\types\\Page', 31*8fed17f3SAndreas Gohr 'Tag' => 'dokuwiki\\plugin\\struct\\types\\Tag', 32*8fed17f3SAndreas Gohr 'Text' => 'dokuwiki\\plugin\\struct\\types\\Text', 33*8fed17f3SAndreas Gohr 'Url' => 'dokuwiki\\plugin\\struct\\types\\Url', 34*8fed17f3SAndreas Gohr 'User' => 'dokuwiki\\plugin\\struct\\types\\User', 35*8fed17f3SAndreas Gohr 'Wiki' => 'dokuwiki\\plugin\\struct\\types\\Wiki' 36*8fed17f3SAndreas Gohr ]; 37*8fed17f3SAndreas Gohr 38*8fed17f3SAndreas Gohr $this->assertEquals($expect, meta\Column::allTypes(true)); 39*8fed17f3SAndreas Gohr } 40*8fed17f3SAndreas Gohr 41*8fed17f3SAndreas Gohr public function test_extendedTypes() 42*8fed17f3SAndreas Gohr { 43*8fed17f3SAndreas Gohr 44*8fed17f3SAndreas Gohr $expect = [ 45*8fed17f3SAndreas Gohr 'Checkbox' => 'dokuwiki\\plugin\\struct\\types\\Checkbox', 46*8fed17f3SAndreas Gohr 'Color' => 'dokuwiki\\plugin\\struct\\types\\Color', 47*8fed17f3SAndreas Gohr 'Date' => 'dokuwiki\\plugin\\struct\\types\\Date', 48*8fed17f3SAndreas Gohr 'DateTime' => 'dokuwiki\\plugin\\struct\\types\\DateTime', 49*8fed17f3SAndreas Gohr 'Decimal' => 'dokuwiki\\plugin\\struct\\types\\Decimal', 50*8fed17f3SAndreas Gohr 'Dropdown' => 'dokuwiki\\plugin\\struct\\types\\Dropdown', 51*8fed17f3SAndreas Gohr 'LongText' => 'dokuwiki\\plugin\\struct\\types\\LongText', 52*8fed17f3SAndreas Gohr 'Lookup' => 'dokuwiki\\plugin\\struct\\types\\Lookup', 53*8fed17f3SAndreas Gohr 'Mail' => 'dokuwiki\\plugin\\struct\\types\\Mail', 54*8fed17f3SAndreas Gohr 'Media' => 'dokuwiki\\plugin\\struct\\types\\Media', 55*8fed17f3SAndreas Gohr 'Page' => 'dokuwiki\\plugin\\struct\\types\\Page', 56*8fed17f3SAndreas Gohr 'test' => 'some\\test\\class', 57*8fed17f3SAndreas Gohr 'Tag' => 'dokuwiki\\plugin\\struct\\types\\Tag', 58*8fed17f3SAndreas Gohr 'Text' => 'dokuwiki\\plugin\\struct\\types\\Text', 59*8fed17f3SAndreas Gohr 'Url' => 'dokuwiki\\plugin\\struct\\types\\Url', 60*8fed17f3SAndreas Gohr 'User' => 'dokuwiki\\plugin\\struct\\types\\User', 61*8fed17f3SAndreas Gohr 'Wiki' => 'dokuwiki\\plugin\\struct\\types\\Wiki' 62*8fed17f3SAndreas Gohr ]; 63*8fed17f3SAndreas Gohr 64*8fed17f3SAndreas Gohr global $EVENT_HANDLER; 65*8fed17f3SAndreas Gohr $EVENT_HANDLER->register_hook('PLUGIN_STRUCT_TYPECLASS_INIT', 'BEFORE', $this, 'event'); 66*8fed17f3SAndreas Gohr $this->assertEquals($expect, meta\Column::allTypes(true)); 67*8fed17f3SAndreas Gohr } 68*8fed17f3SAndreas Gohr 69*8fed17f3SAndreas Gohr /** 70*8fed17f3SAndreas Gohr * Fake event that adds a new type to the list of types 71*8fed17f3SAndreas Gohr * 72*8fed17f3SAndreas Gohr * @param \Doku_Event $event 73*8fed17f3SAndreas Gohr * @param $param 74*8fed17f3SAndreas Gohr */ 75*8fed17f3SAndreas Gohr public function event(\Doku_Event $event, $param) 76*8fed17f3SAndreas Gohr { 77*8fed17f3SAndreas Gohr $event->data['test'] = 'some\\test\\class'; 78*8fed17f3SAndreas Gohr } 79*8fed17f3SAndreas Gohr 80*8fed17f3SAndreas Gohr} 81