131 lines
3.3 KiB
C#
131 lines
3.3 KiB
C#
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|||
|
|
|||
|
using System.Web.Mvc;
|
|||
|
using Xunit;
|
|||
|
|
|||
|
namespace Microsoft.Web.Mvc.Controls.Test
|
|||
|
{
|
|||
|
public class DropDownListTest
|
|||
|
{
|
|||
|
[Fact]
|
|||
|
public void NameProperty()
|
|||
|
{
|
|||
|
// TODO: This
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void RenderWithNoNameNotInDesignModeThrows()
|
|||
|
{
|
|||
|
// TODO: This
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void RenderWithNoNameInDesignModeRendersWithSampleData()
|
|||
|
{
|
|||
|
// Setup
|
|||
|
DropDownList c = new DropDownList();
|
|||
|
|
|||
|
// Execute
|
|||
|
string html = MvcTestHelper.GetControlRendering(c, true);
|
|||
|
|
|||
|
// Verify
|
|||
|
Assert.Equal(@"<select>
|
|||
|
<option>
|
|||
|
Sample Item
|
|||
|
</option>
|
|||
|
</select>", html);
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void RenderWithNoAttributes()
|
|||
|
{
|
|||
|
// Setup
|
|||
|
DropDownList c = new DropDownList();
|
|||
|
c.Name = "nameKey";
|
|||
|
|
|||
|
ViewDataContainer vdc = new ViewDataContainer();
|
|||
|
vdc.Controls.Add(c);
|
|||
|
vdc.ViewData = new ViewDataDictionary();
|
|||
|
vdc.ViewData["nameKey"] = new SelectList(new[] { "aaa", "bbb", "ccc" }, "bbb");
|
|||
|
|
|||
|
// Execute
|
|||
|
string html = MvcTestHelper.GetControlRendering(c, false);
|
|||
|
|
|||
|
// Verify
|
|||
|
Assert.Equal(@"<select name=""nameKey"">
|
|||
|
<option>
|
|||
|
aaa
|
|||
|
</option><option selected=""selected"">
|
|||
|
bbb
|
|||
|
</option><option>
|
|||
|
ccc
|
|||
|
</option>
|
|||
|
</select>", html);
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void RenderWithTextsAndValues()
|
|||
|
{
|
|||
|
// Setup
|
|||
|
DropDownList c = new DropDownList();
|
|||
|
c.Name = "nameKey";
|
|||
|
|
|||
|
ViewDataContainer vdc = new ViewDataContainer();
|
|||
|
vdc.Controls.Add(c);
|
|||
|
vdc.ViewData = new ViewDataDictionary();
|
|||
|
vdc.ViewData["nameKey"] = new SelectList(
|
|||
|
new[]
|
|||
|
{
|
|||
|
new { Text = "aaa", Value = "111" },
|
|||
|
new { Text = "bbb", Value = "222" },
|
|||
|
new { Text = "ccc", Value = "333" }
|
|||
|
},
|
|||
|
"Value",
|
|||
|
"Text",
|
|||
|
"222");
|
|||
|
|
|||
|
// Execute
|
|||
|
string html = MvcTestHelper.GetControlRendering(c, false);
|
|||
|
|
|||
|
// Verify
|
|||
|
Assert.Equal(@"<select name=""nameKey"">
|
|||
|
<option value=""111"">
|
|||
|
aaa
|
|||
|
</option><option value=""222"" selected=""selected"">
|
|||
|
bbb
|
|||
|
</option><option value=""333"">
|
|||
|
ccc
|
|||
|
</option>
|
|||
|
</select>", html);
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void RenderWithNameAndIdRendersNameAndIdAttribute()
|
|||
|
{
|
|||
|
// Setup
|
|||
|
DropDownList c = new DropDownList();
|
|||
|
c.Name = "nameKey";
|
|||
|
c.ID = "someID";
|
|||
|
|
|||
|
ViewDataContainer vdc = new ViewDataContainer();
|
|||
|
vdc.Controls.Add(c);
|
|||
|
vdc.ViewData = new ViewDataDictionary();
|
|||
|
vdc.ViewData["nameKey"] = new SelectList(new[] { "aaa", "bbb", "ccc" }, "bbb");
|
|||
|
|
|||
|
// Execute
|
|||
|
string html = MvcTestHelper.GetControlRendering(c, false);
|
|||
|
|
|||
|
// Verify
|
|||
|
Assert.Equal(@"<select id=""someID"" name=""nameKey"">
|
|||
|
<option>
|
|||
|
aaa
|
|||
|
</option><option selected=""selected"">
|
|||
|
bbb
|
|||
|
</option><option>
|
|||
|
ccc
|
|||
|
</option>
|
|||
|
</select>", html);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|