Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

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);
}
}
}