Skip to content

Commit

Permalink
tests: validate hx-vals, hx-headers, hx-on works
Browse files Browse the repository at this point in the history
  • Loading branch information
egil committed Apr 29, 2024
1 parent 9579e78 commit fae6904
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 0 deletions.
9 changes: 9 additions & 0 deletions test/Htmxor.TestApp/Components/Pages/Home.razor
Original file line number Diff line number Diff line change
Expand Up @@ -133,5 +133,14 @@ Htmxor.
<tr>
<td><a href="/redirect-with-navman">Redirect using Nav Man</a></td>
</tr>
<tr>
<td><a href="/hx-vals-escaped">hx-vals-escaped</a></td>
</tr>
<tr>
<td><a href="/hx-on">hx-on</a></td>
</tr>
<tr>
<td><a href="/hx-headers-escaped">hx-headers-escaped</a></td>
</tr>
</tbody>
</table>
2 changes: 2 additions & 0 deletions test/Htmxor.TestApp/Components/Pages/HxHeaders.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@page "/hx-headers-escaped"
<button type="button" hx-get="/hx-headers-escaped" hx-headers='{"myHeader": "My Value"}'>Get Some HTML, Including A Custom Header in the Request</button>
26 changes: 26 additions & 0 deletions test/Htmxor.TestApp/Components/Pages/HxOn.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
@page "/hx-on"
<div hx-on:click="alert('Clicked!')">Click</div>

<!-- These two are equivalent -->
<button hx-get="/info" hx-on:htmx:before-request="alert('Making a request 1!')">
Get Info 1!
</button>

<button hx-get="/info" hx-on::before-request="alert('Making a request 2!')">
Get Info 2!
</button>

<button hx-get="/info"
hx-on::before-request="alert('Making a request 3!')"
hx-on::after-request="alert('Done making a request 3!')">
Get Info 3 !
</button>

<!-- These two are equivalent -->
<button hx-get="/info" hx-on-htmx-before-request="alert('Making a request 4!')">
Get Info 4!
</button>

<button hx-get="/info" hx-on--before-request="alert('Making a request 5!')">
Get Info 5!
</button>
6 changes: 6 additions & 0 deletions test/Htmxor.TestApp/Components/Pages/HxVals.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
@page "/hx-vals-escaped"
<button hx-post="/hx-vals-escaped"
hx-vals='{"myVal": "My Value"}'
type="button">
VALS
</button>
33 changes: 33 additions & 0 deletions test/Htmxor.Tests/DemoTestCases/HxValsTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace Htmxor.DemoTestCases;

public class HxValsTest : TestAppTestBase
{
public HxValsTest(TestAppFixture fixture) : base(fixture)
{
}

[Fact]
public async Task HxVals_correctly_escaped_by_renderer()
{
await Host.Scenario(s =>
{
s.Get.Url("/hx-vals-escaped");
s.StatusCodeShouldBe(HttpStatusCode.OK);
s.ContentShouldBeHtml(FullPageContent($$"""
<button hx-post="/hx-vals-escaped"
hx-vals='{"myVal": "My Value"}'
type="button">
VALS
</button>
"""));
});
}
}

0 comments on commit fae6904

Please sign in to comment.