ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilPhantomJSRendererUiTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4use PHPUnit\Framework\TestCase;
5
10class ilPhantomJSRendererUiTest extends TestCase
11{
12 protected $lng;
13
14 protected $form;
15
16 protected function setUp() : void
17 {
18 $GLOBALS["DIC"] = new \ILIAS\DI\Container();
19
20 $this->lng = $this->getMockBuilder('ilLanguage')
21 ->disableOriginalConstructor()
22 ->getMock();
23 $this->lng->method('txt')
24 ->will($this->returnArgument(0));
25
26 $this->form = new ilPhantomJSRenderer(true);
27 $this->callMethod($this->form, 'setLanguage', array($this->lng));
28 $this->setGlobalVariable('lng', $this->lng);
29 $this->setGlobalVariable('ilCtrl', null);
30 }
35 protected function setGlobalVariable($name, $value)
36 {
37 global $DIC;
38
39 $GLOBALS[$name] = $value;
40
41 unset($DIC[$name]);
42 $DIC[$name] = function ($c) use ($name) {
43 return $GLOBALS[$name];
44 };
45 }
46
47 protected static function getMethod($name)
48 {
49 $class = new ReflectionClass('ilPhantomJSRenderer');
50 $method = $class->getMethod($name);
51 $method->setAccessible(true);
52 return $method;
53 }
54
55 public static function callMethod($obj, $name, array $args)
56 {
57 $class = new ReflectionClass($obj);
58 $method = $class->getMethod($name);
59 $method->setAccessible(true);
60 return $method->invokeArgs($obj, $args);
61 }
62
64 {
65 $transformer = self::getMethod('buildJavascriptDelayForm');
66 $this->assertInstanceOf('ilTextInputGUI', $transformer->invokeArgs($this->form, array()));
67 $this->assertSame('javascript_delay', $transformer->invokeArgs($this->form, array())->getTitle());
68 $this->assertSame('javascript_delay', $transformer->invokeArgs($this->form, array())->getPostVar());
69 }
70
71 public function testBuildMarginForm()
72 {
73 $transformer = self::getMethod('buildMarginForm');
74 $this->assertInstanceOf('ilTextInputGUI', $transformer->invokeArgs($this->form, array()));
75 $this->assertSame('margin', $transformer->invokeArgs($this->form, array())->getTitle());
76 $this->assertSame('margin', $transformer->invokeArgs($this->form, array())->getPostVar());
77 }
78
79 public function testBuildFooterHeightForm()
80 {
81 $transformer = self::getMethod('buildFooterHeightForm');
82 $this->assertInstanceOf('ilTextInputGUI', $transformer->invokeArgs($this->form, array()));
83 $this->assertSame('footer_height', $transformer->invokeArgs($this->form, array())->getTitle());
84 $this->assertSame('footer_height', $transformer->invokeArgs($this->form, array())->getPostVar());
85 }
86
87 public function testBuildFooterTextForm()
88 {
89 $transformer = self::getMethod('buildFooterTextForm');
90 $this->assertInstanceOf('ilTextInputGUI', $transformer->invokeArgs($this->form, array()));
91 $this->assertSame('footer_text', $transformer->invokeArgs($this->form, array())->getTitle());
92 $this->assertSame('footer_text', $transformer->invokeArgs($this->form, array())->getPostVar());
93 }
94
95 public function testBuildHeaderHeightForm()
96 {
97 $transformer = self::getMethod('buildHeaderHeightForm');
98 $this->assertInstanceOf('ilTextInputGUI', $transformer->invokeArgs($this->form, array()));
99 $this->assertSame('header_height', $transformer->invokeArgs($this->form, array())->getTitle());
100 $this->assertSame('header_height', $transformer->invokeArgs($this->form, array())->getPostVar());
101 }
102
103 public function testBuildHeaderTextForm()
104 {
105 $transformer = self::getMethod('buildHeaderTextForm');
106 $this->assertInstanceOf('ilTextInputGUI', $transformer->invokeArgs($this->form, array()));
107 $this->assertSame('head_text', $transformer->invokeArgs($this->form, array())->getTitle());
108 $this->assertSame('header_text', $transformer->invokeArgs($this->form, array())->getPostVar());
109 }
110
112 {
113 $transformer = self::getMethod('buildHeaderPageNumbersForm');
114 $this->assertInstanceOf('ilCheckboxInputGUI', $transformer->invokeArgs($this->form, array()));
115 $this->assertSame('header_show_pages', $transformer->invokeArgs($this->form, array())->getTitle());
116 $this->assertSame('header_show_pages', $transformer->invokeArgs($this->form, array())->getPostVar());
117 }
118
120 {
121 $transformer = self::getMethod('buildFooterPageNumbersForm');
122 $this->assertInstanceOf('ilCheckboxInputGUI', $transformer->invokeArgs($this->form, array()));
123 $this->assertSame('footer_show_pages', $transformer->invokeArgs($this->form, array())->getTitle());
124 $this->assertSame('footer_show_pages', $transformer->invokeArgs($this->form, array())->getPostVar());
125 }
126
127 public function testBuildViewPortForm()
128 {
129 $transformer = self::getMethod('buildViewPortForm');
130 $this->assertInstanceOf('ilTextInputGUI', $transformer->invokeArgs($this->form, array()));
131 $this->assertSame('viewport', $transformer->invokeArgs($this->form, array())->getTitle());
132 $this->assertSame('viewport', $transformer->invokeArgs($this->form, array())->getPostVar());
133 }
134
135 public function testBuildPageSizesForm()
136 {
137 $transformer = self::getMethod('buildPageSizesForm');
138 $this->assertInstanceOf('ilSelectInputGUI', $transformer->invokeArgs($this->form, array()));
139 $this->assertSame('page_size', $transformer->invokeArgs($this->form, array())->getTitle());
140 $this->assertSame('page_size', $transformer->invokeArgs($this->form, array())->getPostVar());
141 }
142
143 public function testBuildOrientationForm()
144 {
145 $transformer = self::getMethod('buildOrientationForm');
146 $this->assertInstanceOf('ilSelectInputGUI', $transformer->invokeArgs($this->form, array()));
147 $this->assertSame('orientation', $transformer->invokeArgs($this->form, array())->getTitle());
148 $this->assertSame('orientation', $transformer->invokeArgs($this->form, array())->getPostVar());
149 }
150}
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
An exception for terminatinating execution or to throw for unit testing.
static callMethod($obj, $name, array $args)
if($format !==null) $name
Definition: metadata.php:230
$DIC
Definition: xapitoken.php:46