From 1041dd66cb8c48deedf4b58c608114f7e1549da3 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 26 Jan 2011 08:18:08 -0800 Subject: [PATCH] Adding "select" tags management in specflow tests --HG-- branch : dev extra : transplant_source : %9C/%97%155%22%94w%07%FF%0A%0D5%02%ED%C3.%97%8E%C9 --- src/Orchard.Specs/Bindings/WebAppHosting.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Specs/Bindings/WebAppHosting.cs b/src/Orchard.Specs/Bindings/WebAppHosting.cs index 10add5711..4f924047c 100644 --- a/src/Orchard.Specs/Bindings/WebAppHosting.cs +++ b/src/Orchard.Specs/Bindings/WebAppHosting.cs @@ -206,7 +206,7 @@ namespace Orchard.Specs.Bindings { [When(@"I fill in")] public void WhenIFillIn(Table table) { var inputs = _doc.DocumentNode - .SelectNodes("(//input|//textarea)") ?? Enumerable.Empty(); + .SelectNodes("(//input|//textarea|//select)") ?? Enumerable.Empty(); foreach (var row in table.Rows) { var r = row; @@ -244,7 +244,19 @@ namespace Orchard.Specs.Bindings { break; default: - input.Attributes.Add("value", row["value"]); + if (string.Equals(input.Name, "select", StringComparison.OrdinalIgnoreCase)) { + var options = input.ChildNodes; + foreach (var option in options) { + if (option.GetAttributeValue("value", "") == row["value"]) + option.Attributes.Add("selected", "selected"); + else if (option.Attributes.Contains("selected")) + option.Attributes.Remove("selected"); + } + + } + else { + input.Attributes.Add("value", row["value"]); + } break; } }