Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Rotua Panjaitan
yii2
Commits
74d4e04d
Commit
74d4e04d
authored
Mar 27, 2013
by
Qiang Xue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
line ending fix.
parent
e1acc64b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
448 additions
and
448 deletions
+448
-448
HtmlTest.php
tests/unit/framework/util/HtmlTest.php
+448
-448
No files found.
tests/unit/framework/util/HtmlTest.php
View file @
74d4e04d
<?php
namespace
yiiunit\framework\util
;
use
Yii
;
use
yii\helpers\Html
;
use
yii\web\Application
;
class
HtmlTest
extends
\yii\test\TestCase
{
public
function
setUp
()
{
new
Application
(
'test'
,
'@yiiunit/runtime'
,
array
(
'components'
=>
array
(
'request'
=>
array
(
'class'
=>
'yii\web\Request'
,
'url'
=>
'/test'
,
),
),
));
}
public
function
tearDown
()
{
Yii
::
$app
=
null
;
}
public
function
testEncode
()
{
$this
->
assertEquals
(
"a<>&"'"
,
Html
::
encode
(
"a<>&
\"
'"
));
}
public
function
testDecode
()
{
$this
->
assertEquals
(
"a<>&
\"
'"
,
Html
::
decode
(
"a<>&"'"
));
}
public
function
testTag
()
{
$this
->
assertEquals
(
'<br />'
,
Html
::
tag
(
'br'
));
$this
->
assertEquals
(
'<span></span>'
,
Html
::
tag
(
'span'
));
$this
->
assertEquals
(
'<div>content</div>'
,
Html
::
tag
(
'div'
,
'content'
));
$this
->
assertEquals
(
'<input type="text" name="test" value="<>" />'
,
Html
::
tag
(
'input'
,
''
,
array
(
'type'
=>
'text'
,
'name'
=>
'test'
,
'value'
=>
'<>'
)));
Html
::
$closeVoidElements
=
false
;
$this
->
assertEquals
(
'<br>'
,
Html
::
tag
(
'br'
));
$this
->
assertEquals
(
'<span></span>'
,
Html
::
tag
(
'span'
));
$this
->
assertEquals
(
'<div>content</div>'
,
Html
::
tag
(
'div'
,
'content'
));
$this
->
assertEquals
(
'<input type="text" name="test" value="<>">'
,
Html
::
tag
(
'input'
,
''
,
array
(
'type'
=>
'text'
,
'name'
=>
'test'
,
'value'
=>
'<>'
)));
Html
::
$closeVoidElements
=
true
;
$this
->
assertEquals
(
'<span disabled="disabled"></span>'
,
Html
::
tag
(
'span'
,
''
,
array
(
'disabled'
=>
true
)));
Html
::
$showBooleanAttributeValues
=
false
;
$this
->
assertEquals
(
'<span disabled></span>'
,
Html
::
tag
(
'span'
,
''
,
array
(
'disabled'
=>
true
)));
Html
::
$showBooleanAttributeValues
=
true
;
}
public
function
testBeginTag
()
{
$this
->
assertEquals
(
'<br>'
,
Html
::
beginTag
(
'br'
));
$this
->
assertEquals
(
'<span id="test" class="title">'
,
Html
::
beginTag
(
'span'
,
array
(
'id'
=>
'test'
,
'class'
=>
'title'
)));
}
public
function
testEndTag
()
{
$this
->
assertEquals
(
'</br>'
,
Html
::
endTag
(
'br'
));
$this
->
assertEquals
(
'</span>'
,
Html
::
endTag
(
'span'
));
}
public
function
testCdata
()
{
$data
=
'test<>'
;
$this
->
assertEquals
(
'<![CDATA['
.
$data
.
']]>'
,
Html
::
cdata
(
$data
));
}
public
function
testStyle
()
{
$content
=
'a <>'
;
$this
->
assertEquals
(
"<style type=
\"
text/css
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</style>"
,
Html
::
style
(
$content
));
$this
->
assertEquals
(
"<style type=
\"
text/less
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</style>"
,
Html
::
style
(
$content
,
array
(
'type'
=>
'text/less'
)));
}
public
function
testScript
()
{
$content
=
'a <>'
;
$this
->
assertEquals
(
"<script type=
\"
text/javascript
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</script>"
,
Html
::
script
(
$content
));
$this
->
assertEquals
(
"<script type=
\"
text/js
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</script>"
,
Html
::
script
(
$content
,
array
(
'type'
=>
'text/js'
)));
}
public
function
testCssFile
()
{
$this
->
assertEquals
(
'<link type="text/css" href="http://example.com" rel="stylesheet" />'
,
Html
::
cssFile
(
'http://example.com'
));
$this
->
assertEquals
(
'<link type="text/css" href="/test" rel="stylesheet" />'
,
Html
::
cssFile
(
''
));
}
public
function
testJsFile
()
{
$this
->
assertEquals
(
'<script type="text/javascript" src="http://example.com"></script>'
,
Html
::
jsFile
(
'http://example.com'
));
$this
->
assertEquals
(
'<script type="text/javascript" src="/test"></script>'
,
Html
::
jsFile
(
''
));
}
public
function
testBeginForm
()
{
$this
->
assertEquals
(
'<form action="/test" method="post">'
,
Html
::
beginForm
());
$this
->
assertEquals
(
'<form action="/example" method="get">'
,
Html
::
beginForm
(
'/example'
,
'get'
));
$hiddens
=
array
(
'<input type="hidden" name="id" value="1" />'
,
'<input type="hidden" name="title" value="<" />'
,
);
$this
->
assertEquals
(
'<form action="/example" method="get">'
.
"
\n
"
.
implode
(
"
\n
"
,
$hiddens
),
Html
::
beginForm
(
'/example?id=1&title=%3C'
,
'get'
));
}
public
function
testEndForm
()
{
$this
->
assertEquals
(
'</form>'
,
Html
::
endForm
());
}
public
function
testA
()
{
$this
->
assertEquals
(
'<a>something<></a>'
,
Html
::
a
(
'something<>'
));
$this
->
assertEquals
(
'<a href="/example">something</a>'
,
Html
::
a
(
'something'
,
'/example'
));
$this
->
assertEquals
(
'<a href="/test">something</a>'
,
Html
::
a
(
'something'
,
''
));
}
public
function
testMailto
()
{
$this
->
assertEquals
(
'<a href="mailto:test<>">test<></a>'
,
Html
::
mailto
(
'test<>'
));
$this
->
assertEquals
(
'<a href="mailto:test>">test<></a>'
,
Html
::
mailto
(
'test<>'
,
'test>'
));
}
public
function
testImg
()
{
$this
->
assertEquals
(
'<img src="/example" alt="" />'
,
Html
::
img
(
'/example'
));
$this
->
assertEquals
(
'<img src="/test" alt="" />'
,
Html
::
img
(
''
));
$this
->
assertEquals
(
'<img src="/example" width="10" alt="something" />'
,
Html
::
img
(
'/example'
,
array
(
'alt'
=>
'something'
,
'width'
=>
10
)));
}
public
function
testLabel
()
{
$this
->
assertEquals
(
'<label>something<></label>'
,
Html
::
label
(
'something<>'
));
$this
->
assertEquals
(
'<label for="a">something<></label>'
,
Html
::
label
(
'something<>'
,
'a'
));
$this
->
assertEquals
(
'<label class="test" for="a">something<></label>'
,
Html
::
label
(
'something<>'
,
'a'
,
array
(
'class'
=>
'test'
)));
}
public
function
testButton
()
{
$this
->
assertEquals
(
'<button type="button">Button</button>'
,
Html
::
button
());
$this
->
assertEquals
(
'<button type="button" name="test" value="value">content<></button>'
,
Html
::
button
(
'test'
,
'value'
,
'content<>'
));
$this
->
assertEquals
(
'<button type="submit" class="t" name="test" value="value">content<></button>'
,
Html
::
button
(
'test'
,
'value'
,
'content<>'
,
array
(
'type'
=>
'submit'
,
'class'
=>
"t"
)));
}
public
function
testSubmitButton
()
{
$this
->
assertEquals
(
'<button type="submit">Submit</button>'
,
Html
::
submitButton
());
$this
->
assertEquals
(
'<button type="submit" class="t" name="test" value="value">content<></button>'
,
Html
::
submitButton
(
'test'
,
'value'
,
'content<>'
,
array
(
'class'
=>
't'
)));
}
public
function
testResetButton
()
{
$this
->
assertEquals
(
'<button type="reset">Reset</button>'
,
Html
::
resetButton
());
$this
->
assertEquals
(
'<button type="reset" class="t" name="test" value="value">content<></button>'
,
Html
::
resetButton
(
'test'
,
'value'
,
'content<>'
,
array
(
'class'
=>
't'
)));
}
public
function
testInput
()
{
$this
->
assertEquals
(
'<input type="text" />'
,
Html
::
input
(
'text'
));
$this
->
assertEquals
(
'<input type="text" class="t" name="test" value="value" />'
,
Html
::
input
(
'text'
,
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testButtonInput
()
{
$this
->
assertEquals
(
'<input type="button" name="test" value="Button" />'
,
Html
::
buttonInput
(
'test'
));
$this
->
assertEquals
(
'<input type="button" class="a" name="test" value="text" />'
,
Html
::
buttonInput
(
'test'
,
'text'
,
array
(
'class'
=>
'a'
)));
}
public
function
testSubmitInput
()
{
$this
->
assertEquals
(
'<input type="submit" value="Submit" />'
,
Html
::
submitInput
());
$this
->
assertEquals
(
'<input type="submit" class="a" name="test" value="text" />'
,
Html
::
submitInput
(
'test'
,
'text'
,
array
(
'class'
=>
'a'
)));
}
public
function
testResetInput
()
{
$this
->
assertEquals
(
'<input type="reset" value="Reset" />'
,
Html
::
resetInput
());
$this
->
assertEquals
(
'<input type="reset" class="a" name="test" value="text" />'
,
Html
::
resetInput
(
'test'
,
'text'
,
array
(
'class'
=>
'a'
)));
}
public
function
testTextInput
()
{
$this
->
assertEquals
(
'<input type="text" name="test" />'
,
Html
::
textInput
(
'test'
));
$this
->
assertEquals
(
'<input type="text" class="t" name="test" value="value" />'
,
Html
::
textInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testHiddenInput
()
{
$this
->
assertEquals
(
'<input type="hidden" name="test" />'
,
Html
::
hiddenInput
(
'test'
));
$this
->
assertEquals
(
'<input type="hidden" class="t" name="test" value="value" />'
,
Html
::
hiddenInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testPasswordInput
()
{
$this
->
assertEquals
(
'<input type="password" name="test" />'
,
Html
::
passwordInput
(
'test'
));
$this
->
assertEquals
(
'<input type="password" class="t" name="test" value="value" />'
,
Html
::
passwordInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testFileInput
()
{
$this
->
assertEquals
(
'<input type="file" name="test" />'
,
Html
::
fileInput
(
'test'
));
$this
->
assertEquals
(
'<input type="file" class="t" name="test" value="value" />'
,
Html
::
fileInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testTextarea
()
{
$this
->
assertEquals
(
'<textarea name="test"></textarea>'
,
Html
::
textarea
(
'test'
));
$this
->
assertEquals
(
'<textarea class="t" name="test">value<></textarea>'
,
Html
::
textarea
(
'test'
,
'value<>'
,
array
(
'class'
=>
't'
)));
}
public
function
testRadio
()
{
$this
->
assertEquals
(
'<input type="radio" name="test" value="1" />'
,
Html
::
radio
(
'test'
));
$this
->
assertEquals
(
'<input type="radio" class="a" name="test" checked="checked" />'
,
Html
::
radio
(
'test'
,
true
,
null
,
array
(
'class'
=>
'a'
)));
$this
->
assertEquals
(
'<input type="hidden" name="test" value="0" /><input type="radio" class="a" name="test" value="2" checked="checked" />'
,
Html
::
radio
(
'test'
,
true
,
2
,
array
(
'class'
=>
'a'
,
'uncheck'
=>
'0'
)));
}
public
function
testCheckbox
()
{
$this
->
assertEquals
(
'<input type="checkbox" name="test" value="1" />'
,
Html
::
checkbox
(
'test'
));
$this
->
assertEquals
(
'<input type="checkbox" class="a" name="test" checked="checked" />'
,
Html
::
checkbox
(
'test'
,
true
,
null
,
array
(
'class'
=>
'a'
)));
$this
->
assertEquals
(
'<input type="hidden" name="test" value="0" /><input type="checkbox" class="a" name="test" value="2" checked="checked" />'
,
Html
::
checkbox
(
'test'
,
true
,
2
,
array
(
'class'
=>
'a'
,
'uncheck'
=>
'0'
)));
}
public
function
testDropDownList
()
{
$expected
=
<<<
EOD
<
select
name
=
"test"
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
dropDownList
(
'test'
));
$expected
=
<<<
EOD
<
select
name
=
"test"
>
<
option
value
=
"value1"
>
text1
</
option
>
<
option
value
=
"value2"
>
text2
</
option
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
dropDownList
(
'test'
,
null
,
$this
->
getDataItems
()));
$expected
=
<<<
EOD
<
select
name
=
"test"
>
<
option
value
=
"value1"
>
text1
</
option
>
<
option
value
=
"value2"
selected
=
"selected"
>
text2
</
option
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
dropDownList
(
'test'
,
'value2'
,
$this
->
getDataItems
()));
}
public
function
testListBox
()
{
$expected
=
<<<
EOD
<
select
name
=
"test"
size
=
"4"
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
));
$expected
=
<<<
EOD
<
select
name
=
"test"
size
=
"5"
>
<
option
value
=
"value1"
>
text1
</
option
>
<
option
value
=
"value2"
>
text2
</
option
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
null
,
$this
->
getDataItems
(),
array
(
'size'
=>
5
)));
$expected
=
<<<
EOD
<
select
name
=
"test"
size
=
"4"
>
<
option
value
=
"value1<>"
>
text1
&
lt
;
&
gt
;
</
option
>
<
option
value
=
"value 2"
>
text
&
nbsp
;
&
nbsp
;
2
</
option
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
null
,
$this
->
getDataItems2
()));
$expected
=
<<<
EOD
<
select
name
=
"test"
size
=
"4"
>
<
option
value
=
"value1"
>
text1
</
option
>
<
option
value
=
"value2"
selected
=
"selected"
>
text2
</
option
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
'value2'
,
$this
->
getDataItems
()));
$expected
=
<<<
EOD
<
select
name
=
"test"
size
=
"4"
>
<
option
value
=
"value1"
selected
=
"selected"
>
text1
</
option
>
<
option
value
=
"value2"
selected
=
"selected"
>
text2
</
option
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
array
(
'value1'
,
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<
EOD
<
select
name
=
"test[]"
multiple
=
"multiple"
size
=
"4"
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
null
,
array
(),
array
(
'multiple'
=>
true
)));
$expected
=
<<<
EOD
<
input
type
=
"hidden"
name
=
"test"
value
=
"0"
/><
select
name
=
"test"
size
=
"4"
>
</
select
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
''
,
array
(),
array
(
'unselect'
=>
'0'
)));
}
public
function
testCheckboxList
()
{
$this
->
assertEquals
(
''
,
Html
::
checkboxList
(
'test'
));
$expected
=
<<<
EOD
<
label
><
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value1"
/>
text1
</
label
>
<
label
><
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value2"
checked
=
"checked"
/>
text2
</
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<
EOD
<
label
><
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value1<>"
/>
text1
<></
label
>
<
label
><
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value 2"
/>
text
2
</
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems2
()));
$expected
=
<<<
EOD
<
input
type
=
"hidden"
name
=
"test"
value
=
"0"
/><
label
><
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value1"
/>
text1
</
label
><
br
/>
<
label
><
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value2"
checked
=
"checked"
/>
text2
</
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'separator'
=>
"<br />
\n
"
,
'unselect'
=>
'0'
,
)));
$expected
=
<<<
EOD
0
<
label
>
text1
<
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value1"
/></
label
>
1
<
label
>
text2
<
input
type
=
"checkbox"
name
=
"test[]"
value
=
"value2"
checked
=
"checked"
/></
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'item'
=>
function
(
$index
,
$label
,
$name
,
$checked
,
$value
)
{
return
$index
.
Html
::
label
(
$label
.
' '
.
Html
::
checkbox
(
$name
,
$checked
,
$value
));
}
)));
}
public
function
testRadioList
()
{
$this
->
assertEquals
(
''
,
Html
::
radioList
(
'test'
));
$expected
=
<<<
EOD
<
label
><
input
type
=
"radio"
name
=
"test"
value
=
"value1"
/>
text1
</
label
>
<
label
><
input
type
=
"radio"
name
=
"test"
value
=
"value2"
checked
=
"checked"
/>
text2
</
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<
EOD
<
label
><
input
type
=
"radio"
name
=
"test"
value
=
"value1<>"
/>
text1
<></
label
>
<
label
><
input
type
=
"radio"
name
=
"test"
value
=
"value 2"
/>
text
2
</
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems2
()));
$expected
=
<<<
EOD
<
input
type
=
"hidden"
name
=
"test"
value
=
"0"
/><
label
><
input
type
=
"radio"
name
=
"test"
value
=
"value1"
/>
text1
</
label
><
br
/>
<
label
><
input
type
=
"radio"
name
=
"test"
value
=
"value2"
checked
=
"checked"
/>
text2
</
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'separator'
=>
"<br />
\n
"
,
'unselect'
=>
'0'
,
)));
$expected
=
<<<
EOD
0
<
label
>
text1
<
input
type
=
"radio"
name
=
"test"
value
=
"value1"
/></
label
>
1
<
label
>
text2
<
input
type
=
"radio"
name
=
"test"
value
=
"value2"
checked
=
"checked"
/></
label
>
EOD
;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'item'
=>
function
(
$index
,
$label
,
$name
,
$checked
,
$value
)
{
return
$index
.
Html
::
label
(
$label
.
' '
.
Html
::
radio
(
$name
,
$checked
,
$value
));
}
)));
}
public
function
testRenderOptions
()
{
$data
=
array
(
'value1'
=>
'label1'
,
'group1'
=>
array
(
'value11'
=>
'label11'
,
'group11'
=>
array
(
'value111'
=>
'label111'
,
),
'group12'
=>
array
(),
),
'value2'
=>
'label2'
,
'group2'
=>
array
(),
);
$expected
=
<<<
EOD
<
option
value
=
""
>
please
&
nbsp
;
select
&
lt
;
&
gt
;
</
option
>
<
option
value
=
"value1"
selected
=
"selected"
>
label1
</
option
>
<
optgroup
label
=
"group1"
>
<
option
value
=
"value11"
>
label11
</
option
>
<
optgroup
label
=
"group11"
>
<
option
class
="
option
" value="
value111
" selected="
selected
">label111</option>
</optgroup>
<optgroup class="
group
" label="
group12
">
</optgroup>
</optgroup>
<option value="
value2
">label2</option>
<optgroup label="
group2
">
</optgroup>
EOD;
$attributes
= array(
'prompt' => 'please select<>',
'options' => array(
'value111' => array('class' => 'option'),
),
'groups' => array(
'group12' => array('class' => 'group'),
),
);
$this->assertEquals
(
$expected
, Html::renderSelectOptions(array('value111', 'value1'),
$data
,
$attributes
));
}
public function testRenderAttributes()
{
$this->assertEquals
('', Html::renderTagAttributes(array()));
$this->assertEquals
(' name="
test
" value="
1
&
lt
;
&
gt
;
"', Html::renderTagAttributes(array('name' => 'test', 'empty' => null, 'value' => '1<>')));
Html::
$showBooleanAttributeValues
= false;
$this->assertEquals
(' checked disabled', Html::renderTagAttributes(array('checked' => 'checked', 'disabled' => true, 'hidden' => false)));
Html::
$showBooleanAttributeValues
= true;
}
protected function getDataItems()
{
return array(
'value1' => 'text1',
'value2' => 'text2',
);
}
protected function getDataItems2()
{
return array(
'value1<>' => 'text1<>',
'value 2' => 'text 2',
);
}
}
<?php
namespace
yiiunit\framework\util
;
use
Yii
;
use
yii\helpers\Html
;
use
yii\web\Application
;
class
HtmlTest
extends
\yii\test\TestCase
{
public
function
setUp
()
{
new
Application
(
'test'
,
'@yiiunit/runtime'
,
array
(
'components'
=>
array
(
'request'
=>
array
(
'class'
=>
'yii\web\Request'
,
'url'
=>
'/test'
,
),
),
));
}
public
function
tearDown
()
{
Yii
::
$app
=
null
;
}
public
function
testEncode
()
{
$this
->
assertEquals
(
"a<>&"'"
,
Html
::
encode
(
"a<>&
\"
'"
));
}
public
function
testDecode
()
{
$this
->
assertEquals
(
"a<>&
\"
'"
,
Html
::
decode
(
"a<>&"'"
));
}
public
function
testTag
()
{
$this
->
assertEquals
(
'<br />'
,
Html
::
tag
(
'br'
));
$this
->
assertEquals
(
'<span></span>'
,
Html
::
tag
(
'span'
));
$this
->
assertEquals
(
'<div>content</div>'
,
Html
::
tag
(
'div'
,
'content'
));
$this
->
assertEquals
(
'<input type="text" name="test" value="<>" />'
,
Html
::
tag
(
'input'
,
''
,
array
(
'type'
=>
'text'
,
'name'
=>
'test'
,
'value'
=>
'<>'
)));
Html
::
$closeVoidElements
=
false
;
$this
->
assertEquals
(
'<br>'
,
Html
::
tag
(
'br'
));
$this
->
assertEquals
(
'<span></span>'
,
Html
::
tag
(
'span'
));
$this
->
assertEquals
(
'<div>content</div>'
,
Html
::
tag
(
'div'
,
'content'
));
$this
->
assertEquals
(
'<input type="text" name="test" value="<>">'
,
Html
::
tag
(
'input'
,
''
,
array
(
'type'
=>
'text'
,
'name'
=>
'test'
,
'value'
=>
'<>'
)));
Html
::
$closeVoidElements
=
true
;
$this
->
assertEquals
(
'<span disabled="disabled"></span>'
,
Html
::
tag
(
'span'
,
''
,
array
(
'disabled'
=>
true
)));
Html
::
$showBooleanAttributeValues
=
false
;
$this
->
assertEquals
(
'<span disabled></span>'
,
Html
::
tag
(
'span'
,
''
,
array
(
'disabled'
=>
true
)));
Html
::
$showBooleanAttributeValues
=
true
;
}
public
function
testBeginTag
()
{
$this
->
assertEquals
(
'<br>'
,
Html
::
beginTag
(
'br'
));
$this
->
assertEquals
(
'<span id="test" class="title">'
,
Html
::
beginTag
(
'span'
,
array
(
'id'
=>
'test'
,
'class'
=>
'title'
)));
}
public
function
testEndTag
()
{
$this
->
assertEquals
(
'</br>'
,
Html
::
endTag
(
'br'
));
$this
->
assertEquals
(
'</span>'
,
Html
::
endTag
(
'span'
));
}
public
function
testCdata
()
{
$data
=
'test<>'
;
$this
->
assertEquals
(
'<![CDATA['
.
$data
.
']]>'
,
Html
::
cdata
(
$data
));
}
public
function
testStyle
()
{
$content
=
'a <>'
;
$this
->
assertEquals
(
"<style type=
\"
text/css
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</style>"
,
Html
::
style
(
$content
));
$this
->
assertEquals
(
"<style type=
\"
text/less
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</style>"
,
Html
::
style
(
$content
,
array
(
'type'
=>
'text/less'
)));
}
public
function
testScript
()
{
$content
=
'a <>'
;
$this
->
assertEquals
(
"<script type=
\"
text/javascript
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</script>"
,
Html
::
script
(
$content
));
$this
->
assertEquals
(
"<script type=
\"
text/js
\"
>/*<![CDATA[*/
\n
{
$content
}
\n
/*]]>*/</script>"
,
Html
::
script
(
$content
,
array
(
'type'
=>
'text/js'
)));
}
public
function
testCssFile
()
{
$this
->
assertEquals
(
'<link type="text/css" href="http://example.com" rel="stylesheet" />'
,
Html
::
cssFile
(
'http://example.com'
));
$this
->
assertEquals
(
'<link type="text/css" href="/test" rel="stylesheet" />'
,
Html
::
cssFile
(
''
));
}
public
function
testJsFile
()
{
$this
->
assertEquals
(
'<script type="text/javascript" src="http://example.com"></script>'
,
Html
::
jsFile
(
'http://example.com'
));
$this
->
assertEquals
(
'<script type="text/javascript" src="/test"></script>'
,
Html
::
jsFile
(
''
));
}
public
function
testBeginForm
()
{
$this
->
assertEquals
(
'<form action="/test" method="post">'
,
Html
::
beginForm
());
$this
->
assertEquals
(
'<form action="/example" method="get">'
,
Html
::
beginForm
(
'/example'
,
'get'
));
$hiddens
=
array
(
'<input type="hidden" name="id" value="1" />'
,
'<input type="hidden" name="title" value="<" />'
,
);
$this
->
assertEquals
(
'<form action="/example" method="get">'
.
"
\n
"
.
implode
(
"
\n
"
,
$hiddens
),
Html
::
beginForm
(
'/example?id=1&title=%3C'
,
'get'
));
}
public
function
testEndForm
()
{
$this
->
assertEquals
(
'</form>'
,
Html
::
endForm
());
}
public
function
testA
()
{
$this
->
assertEquals
(
'<a>something<></a>'
,
Html
::
a
(
'something<>'
));
$this
->
assertEquals
(
'<a href="/example">something</a>'
,
Html
::
a
(
'something'
,
'/example'
));
$this
->
assertEquals
(
'<a href="/test">something</a>'
,
Html
::
a
(
'something'
,
''
));
}
public
function
testMailto
()
{
$this
->
assertEquals
(
'<a href="mailto:test<>">test<></a>'
,
Html
::
mailto
(
'test<>'
));
$this
->
assertEquals
(
'<a href="mailto:test>">test<></a>'
,
Html
::
mailto
(
'test<>'
,
'test>'
));
}
public
function
testImg
()
{
$this
->
assertEquals
(
'<img src="/example" alt="" />'
,
Html
::
img
(
'/example'
));
$this
->
assertEquals
(
'<img src="/test" alt="" />'
,
Html
::
img
(
''
));
$this
->
assertEquals
(
'<img src="/example" width="10" alt="something" />'
,
Html
::
img
(
'/example'
,
array
(
'alt'
=>
'something'
,
'width'
=>
10
)));
}
public
function
testLabel
()
{
$this
->
assertEquals
(
'<label>something<></label>'
,
Html
::
label
(
'something<>'
));
$this
->
assertEquals
(
'<label for="a">something<></label>'
,
Html
::
label
(
'something<>'
,
'a'
));
$this
->
assertEquals
(
'<label class="test" for="a">something<></label>'
,
Html
::
label
(
'something<>'
,
'a'
,
array
(
'class'
=>
'test'
)));
}
public
function
testButton
()
{
$this
->
assertEquals
(
'<button type="button">Button</button>'
,
Html
::
button
());
$this
->
assertEquals
(
'<button type="button" name="test" value="value">content<></button>'
,
Html
::
button
(
'test'
,
'value'
,
'content<>'
));
$this
->
assertEquals
(
'<button type="submit" class="t" name="test" value="value">content<></button>'
,
Html
::
button
(
'test'
,
'value'
,
'content<>'
,
array
(
'type'
=>
'submit'
,
'class'
=>
"t"
)));
}
public
function
testSubmitButton
()
{
$this
->
assertEquals
(
'<button type="submit">Submit</button>'
,
Html
::
submitButton
());
$this
->
assertEquals
(
'<button type="submit" class="t" name="test" value="value">content<></button>'
,
Html
::
submitButton
(
'test'
,
'value'
,
'content<>'
,
array
(
'class'
=>
't'
)));
}
public
function
testResetButton
()
{
$this
->
assertEquals
(
'<button type="reset">Reset</button>'
,
Html
::
resetButton
());
$this
->
assertEquals
(
'<button type="reset" class="t" name="test" value="value">content<></button>'
,
Html
::
resetButton
(
'test'
,
'value'
,
'content<>'
,
array
(
'class'
=>
't'
)));
}
public
function
testInput
()
{
$this
->
assertEquals
(
'<input type="text" />'
,
Html
::
input
(
'text'
));
$this
->
assertEquals
(
'<input type="text" class="t" name="test" value="value" />'
,
Html
::
input
(
'text'
,
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testButtonInput
()
{
$this
->
assertEquals
(
'<input type="button" name="test" value="Button" />'
,
Html
::
buttonInput
(
'test'
));
$this
->
assertEquals
(
'<input type="button" class="a" name="test" value="text" />'
,
Html
::
buttonInput
(
'test'
,
'text'
,
array
(
'class'
=>
'a'
)));
}
public
function
testSubmitInput
()
{
$this
->
assertEquals
(
'<input type="submit" value="Submit" />'
,
Html
::
submitInput
());
$this
->
assertEquals
(
'<input type="submit" class="a" name="test" value="text" />'
,
Html
::
submitInput
(
'test'
,
'text'
,
array
(
'class'
=>
'a'
)));
}
public
function
testResetInput
()
{
$this
->
assertEquals
(
'<input type="reset" value="Reset" />'
,
Html
::
resetInput
());
$this
->
assertEquals
(
'<input type="reset" class="a" name="test" value="text" />'
,
Html
::
resetInput
(
'test'
,
'text'
,
array
(
'class'
=>
'a'
)));
}
public
function
testTextInput
()
{
$this
->
assertEquals
(
'<input type="text" name="test" />'
,
Html
::
textInput
(
'test'
));
$this
->
assertEquals
(
'<input type="text" class="t" name="test" value="value" />'
,
Html
::
textInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testHiddenInput
()
{
$this
->
assertEquals
(
'<input type="hidden" name="test" />'
,
Html
::
hiddenInput
(
'test'
));
$this
->
assertEquals
(
'<input type="hidden" class="t" name="test" value="value" />'
,
Html
::
hiddenInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testPasswordInput
()
{
$this
->
assertEquals
(
'<input type="password" name="test" />'
,
Html
::
passwordInput
(
'test'
));
$this
->
assertEquals
(
'<input type="password" class="t" name="test" value="value" />'
,
Html
::
passwordInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testFileInput
()
{
$this
->
assertEquals
(
'<input type="file" name="test" />'
,
Html
::
fileInput
(
'test'
));
$this
->
assertEquals
(
'<input type="file" class="t" name="test" value="value" />'
,
Html
::
fileInput
(
'test'
,
'value'
,
array
(
'class'
=>
't'
)));
}
public
function
testTextarea
()
{
$this
->
assertEquals
(
'<textarea name="test"></textarea>'
,
Html
::
textarea
(
'test'
));
$this
->
assertEquals
(
'<textarea class="t" name="test">value<></textarea>'
,
Html
::
textarea
(
'test'
,
'value<>'
,
array
(
'class'
=>
't'
)));
}
public
function
testRadio
()
{
$this
->
assertEquals
(
'<input type="radio" name="test" value="1" />'
,
Html
::
radio
(
'test'
));
$this
->
assertEquals
(
'<input type="radio" class="a" name="test" checked="checked" />'
,
Html
::
radio
(
'test'
,
true
,
null
,
array
(
'class'
=>
'a'
)));
$this
->
assertEquals
(
'<input type="hidden" name="test" value="0" /><input type="radio" class="a" name="test" value="2" checked="checked" />'
,
Html
::
radio
(
'test'
,
true
,
2
,
array
(
'class'
=>
'a'
,
'uncheck'
=>
'0'
)));
}
public
function
testCheckbox
()
{
$this
->
assertEquals
(
'<input type="checkbox" name="test" value="1" />'
,
Html
::
checkbox
(
'test'
));
$this
->
assertEquals
(
'<input type="checkbox" class="a" name="test" checked="checked" />'
,
Html
::
checkbox
(
'test'
,
true
,
null
,
array
(
'class'
=>
'a'
)));
$this
->
assertEquals
(
'<input type="hidden" name="test" value="0" /><input type="checkbox" class="a" name="test" value="2" checked="checked" />'
,
Html
::
checkbox
(
'test'
,
true
,
2
,
array
(
'class'
=>
'a'
,
'uncheck'
=>
'0'
)));
}
public
function
testDropDownList
()
{
$expected
=
<<<EOD
<select name="test">
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
dropDownList
(
'test'
));
$expected
=
<<<EOD
<select name="test">
<option value="value1">text1</option>
<option value="value2">text2</option>
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
dropDownList
(
'test'
,
null
,
$this
->
getDataItems
()));
$expected
=
<<<EOD
<select name="test">
<option value="value1">text1</option>
<option value="value2" selected="selected">text2</option>
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
dropDownList
(
'test'
,
'value2'
,
$this
->
getDataItems
()));
}
public
function
testListBox
()
{
$expected
=
<<<EOD
<select name="test" size="4">
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
));
$expected
=
<<<EOD
<select name="test" size="5">
<option value="value1">text1</option>
<option value="value2">text2</option>
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
null
,
$this
->
getDataItems
(),
array
(
'size'
=>
5
)));
$expected
=
<<<EOD
<select name="test" size="4">
<option value="value1<>">text1<></option>
<option value="value 2">text 2</option>
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
null
,
$this
->
getDataItems2
()));
$expected
=
<<<EOD
<select name="test" size="4">
<option value="value1">text1</option>
<option value="value2" selected="selected">text2</option>
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
'value2'
,
$this
->
getDataItems
()));
$expected
=
<<<EOD
<select name="test" size="4">
<option value="value1" selected="selected">text1</option>
<option value="value2" selected="selected">text2</option>
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
array
(
'value1'
,
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<EOD
<select name="test[]" multiple="multiple" size="4">
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
null
,
array
(),
array
(
'multiple'
=>
true
)));
$expected
=
<<<EOD
<input type="hidden" name="test" value="0" /><select name="test" size="4">
</select>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
listBox
(
'test'
,
''
,
array
(),
array
(
'unselect'
=>
'0'
)));
}
public
function
testCheckboxList
()
{
$this
->
assertEquals
(
''
,
Html
::
checkboxList
(
'test'
));
$expected
=
<<<EOD
<label><input type="checkbox" name="test[]" value="value1" /> text1</label>
<label><input type="checkbox" name="test[]" value="value2" checked="checked" /> text2</label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<EOD
<label><input type="checkbox" name="test[]" value="value1<>" /> text1<></label>
<label><input type="checkbox" name="test[]" value="value 2" /> text 2</label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems2
()));
$expected
=
<<<EOD
<input type="hidden" name="test" value="0" /><label><input type="checkbox" name="test[]" value="value1" /> text1</label><br />
<label><input type="checkbox" name="test[]" value="value2" checked="checked" /> text2</label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'separator'
=>
"<br />
\n
"
,
'unselect'
=>
'0'
,
)));
$expected
=
<<<EOD
0<label>text1 <input type="checkbox" name="test[]" value="value1" /></label>
1<label>text2 <input type="checkbox" name="test[]" value="value2" checked="checked" /></label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'item'
=>
function
(
$index
,
$label
,
$name
,
$checked
,
$value
)
{
return
$index
.
Html
::
label
(
$label
.
' '
.
Html
::
checkbox
(
$name
,
$checked
,
$value
));
}
)));
}
public
function
testRadioList
()
{
$this
->
assertEquals
(
''
,
Html
::
radioList
(
'test'
));
$expected
=
<<<EOD
<label><input type="radio" name="test" value="value1" /> text1</label>
<label><input type="radio" name="test" value="value2" checked="checked" /> text2</label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<EOD
<label><input type="radio" name="test" value="value1<>" /> text1<></label>
<label><input type="radio" name="test" value="value 2" /> text 2</label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems2
()));
$expected
=
<<<EOD
<input type="hidden" name="test" value="0" /><label><input type="radio" name="test" value="value1" /> text1</label><br />
<label><input type="radio" name="test" value="value2" checked="checked" /> text2</label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'separator'
=>
"<br />
\n
"
,
'unselect'
=>
'0'
,
)));
$expected
=
<<<EOD
0<label>text1 <input type="radio" name="test" value="value1" /></label>
1<label>text2 <input type="radio" name="test" value="value2" checked="checked" /></label>
EOD;
$this
->
assertEquals
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'item'
=>
function
(
$index
,
$label
,
$name
,
$checked
,
$value
)
{
return
$index
.
Html
::
label
(
$label
.
' '
.
Html
::
radio
(
$name
,
$checked
,
$value
));
}
)));
}
public
function
testRenderOptions
()
{
$data
=
array
(
'value1'
=>
'label1'
,
'group1'
=>
array
(
'value11'
=>
'label11'
,
'group11'
=>
array
(
'value111'
=>
'label111'
,
),
'group12'
=>
array
(),
),
'value2'
=>
'label2'
,
'group2'
=>
array
(),
);
$expected
=
<<<EOD
<option value="">please select<></option>
<option value="value1" selected="selected">label1</option>
<optgroup label="group1">
<option value="value11">label11</option>
<optgroup label="group11">
<option class="option" value="value111" selected="selected">label111</option>
</optgroup>
<optgroup class="group" label="group12">
</optgroup>
</optgroup>
<option value="value2">label2</option>
<optgroup label="group2">
</optgroup>
EOD;
$attributes
=
array
(
'prompt'
=>
'please select<>'
,
'options'
=>
array
(
'value111'
=>
array
(
'class'
=>
'option'
),
),
'groups'
=>
array
(
'group12'
=>
array
(
'class'
=>
'group'
),
),
);
$this
->
assertEquals
(
$expected
,
Html
::
renderSelectOptions
(
array
(
'value111'
,
'value1'
),
$data
,
$attributes
));
}
public
function
testRenderAttributes
()
{
$this
->
assertEquals
(
''
,
Html
::
renderTagAttributes
(
array
()));
$this
->
assertEquals
(
' name="test" value="1<>"'
,
Html
::
renderTagAttributes
(
array
(
'name'
=>
'test'
,
'empty'
=>
null
,
'value'
=>
'1<>'
)));
Html
::
$showBooleanAttributeValues
=
false
;
$this
->
assertEquals
(
' checked disabled'
,
Html
::
renderTagAttributes
(
array
(
'checked'
=>
'checked'
,
'disabled'
=>
true
,
'hidden'
=>
false
)));
Html
::
$showBooleanAttributeValues
=
true
;
}
protected
function
getDataItems
()
{
return
array
(
'value1'
=>
'text1'
,
'value2'
=>
'text2'
,
);
}
protected
function
getDataItems2
()
{
return
array
(
'value1<>'
=>
'text1<>'
,
'value 2'
=>
'text 2'
,
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment