Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -233,12 +233,6 @@
"parameters": ["headful"],
"expectations": ["FAIL"]
},
{
"testIdPattern": "[page-fill.spec.ts] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["headful"],
"expectations": ["FAIL"]
},
{
"testIdPattern": "[page-select-option.spec.ts] *",
"platforms": ["darwin", "linux", "win32"],
Expand Down
22 changes: 10 additions & 12 deletions src/PlaywrightSharp.Tests/PageFillTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ public async Task ShouldFillInput()
public async Task ShouldThrowOnUnsupportedInputs()
{
await Page.GoToAsync(TestConstants.ServerUrl + "/input/textarea.html");
foreach (string type in new[] { "button", "checkbox", "file", "image", "radio", "range", "reset", "submit" })
foreach (string type in new[] { "button", "checkbox", "file", "image", "radio", "reset", "submit" })
{
await Page.EvalOnSelectorAsync("input", "(input, type) => input.setAttribute('type', type)", type);
var exception = Assert.ThrowsAsync<PlaywrightSharpException>(() => Page.FillAsync("input", string.Empty));
Assert.That(exception.Message, Does.Contain($"input of type \"{type}\" cannot be filled"));
Assert.That(exception.Message, Does.Contain($"input of type \"{type}\" cannot be filled").IgnoreCase);
}
}

Expand All @@ -44,7 +44,7 @@ public async Task ShouldThrowOnUnsupportedInputs()
public async Task ShouldFillDifferentInputTypes()
{
await Page.GoToAsync(TestConstants.ServerUrl + "/input/textarea.html");
foreach (string type in new[] { "password", "search", "tel", "text", "url" })
foreach (string type in new[] { "password", "search", "tel", "text", "url", "invalid-type" })
{
await Page.EvalOnSelectorAsync("input", "(input, type) => input.setAttribute('type', type)", type);
await Page.FillAsync("input", "text " + type);
Expand All @@ -67,17 +67,15 @@ public async Task ShouldFillDateInputAfterClicking()
public async Task ShouldThrowOnIncorrectDate()
{
await Page.SetContentAsync("<input type=date>");
await Page.ClickAsync("input");
var exception = Assert.CatchAsync<PlaywrightSharpException>(() => Page.FillAsync("input", "2020-13-02"));
var exception = Assert.CatchAsync<PlaywrightSharpException>(() => Page.FillAsync("input", "2020-13-05"));
Assert.That(exception.Message, Does.Contain("Malformed value"));
}

[PlaywrightTest("page-fill.spec.ts", "should fill time input after clicking")]
[PlaywrightTest("page-fill.spec.ts", "should fill time input")]
[Test, Timeout(TestConstants.DefaultTestTimeout)]
public async Task ShouldFillTimeInputAfterClicking()
public async Task ShouldFillTimeInput()
{
await Page.SetContentAsync("<input type=time>");
await Page.ClickAsync("input");
await Page.FillAsync("input", "13:15");
Assert.That(await Page.EvalOnSelectorAsync<string>("input", "input => input.value"), Is.EqualTo("13:15"));
}
Expand All @@ -87,7 +85,6 @@ public async Task ShouldFillTimeInputAfterClicking()
public async Task ShouldThrowOnIncorrectTime()
{
await Page.SetContentAsync("<input type=time>");
await Page.ClickAsync("input");
var exception = Assert.CatchAsync<PlaywrightSharpException>(() => Page.FillAsync("input", "25:05"));
Assert.That(exception.Message, Does.Contain("Malformed value"));
}
Expand All @@ -97,7 +94,6 @@ public async Task ShouldThrowOnIncorrectTime()
public async Task ShouldFillDatetimeLocalInput()
{
await Page.SetContentAsync("<input type=datetime-local>");
await Page.ClickAsync("input");
await Page.FillAsync("input", "2020-03-02T05:15");
Assert.That(await Page.EvalOnSelectorAsync<string>("input", "input => input.value"), Is.EqualTo("2020-03-02T05:15"));
}
Expand All @@ -107,7 +103,6 @@ public async Task ShouldFillDatetimeLocalInput()
public async Task ShouldThrowOnIncorrectDateTimeLocal()
{
await Page.SetContentAsync("<input type=datetime-local>");
await Page.ClickAsync("input");
var exception = Assert.CatchAsync<PlaywrightSharpException>(() => Page.FillAsync("input", "abc"));
Assert.That(exception.Message, Does.Contain("Malformed value"));
}
Expand Down Expand Up @@ -237,7 +232,10 @@ public async Task ShouldFillFixedPositionInput()
[Test, Timeout(TestConstants.DefaultTestTimeout)]
public async Task ShouldBeAbleToFillWhenFocusIsInTheWrongFrame()
{
await Page.SetContentAsync("<div contentEditable=\"true\"></div><iframe></iframe>");
await Page.SetContentAsync(@"
<div contentEditable=""true""></div>
<iframe></iframe>
");
await Page.FocusAsync("iframe");
await Page.FillAsync("div", "some value");
Assert.That(await Page.EvalOnSelectorAsync<string>("div", "d => d.textContent"), Is.EqualTo("some value"));
Expand Down
Loading