Skip to content

Commit fae6904

Browse files
committed
tests: validate hx-vals, hx-headers, hx-on works
1 parent 9579e78 commit fae6904

File tree

5 files changed

+76
-0
lines changed

5 files changed

+76
-0
lines changed

test/Htmxor.TestApp/Components/Pages/Home.razor

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,5 +133,14 @@ Htmxor.
133133
<tr>
134134
<td><a href="/redirect-with-navman">Redirect using Nav Man</a></td>
135135
</tr>
136+
<tr>
137+
<td><a href="/hx-vals-escaped">hx-vals-escaped</a></td>
138+
</tr>
139+
<tr>
140+
<td><a href="/hx-on">hx-on</a></td>
141+
</tr>
142+
<tr>
143+
<td><a href="/hx-headers-escaped">hx-headers-escaped</a></td>
144+
</tr>
136145
</tbody>
137146
</table>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@page "/hx-headers-escaped"
2+
<button type="button" hx-get="/hx-headers-escaped" hx-headers='{"myHeader": "My Value"}'>Get Some HTML, Including A Custom Header in the Request</button>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@page "/hx-on"
2+
<div hx-on:click="alert('Clicked!')">Click</div>
3+
4+
<!-- These two are equivalent -->
5+
<button hx-get="/info" hx-on:htmx:before-request="alert('Making a request 1!')">
6+
Get Info 1!
7+
</button>
8+
9+
<button hx-get="/info" hx-on::before-request="alert('Making a request 2!')">
10+
Get Info 2!
11+
</button>
12+
13+
<button hx-get="/info"
14+
hx-on::before-request="alert('Making a request 3!')"
15+
hx-on::after-request="alert('Done making a request 3!')">
16+
Get Info 3 !
17+
</button>
18+
19+
<!-- These two are equivalent -->
20+
<button hx-get="/info" hx-on-htmx-before-request="alert('Making a request 4!')">
21+
Get Info 4!
22+
</button>
23+
24+
<button hx-get="/info" hx-on--before-request="alert('Making a request 5!')">
25+
Get Info 5!
26+
</button>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@page "/hx-vals-escaped"
2+
<button hx-post="/hx-vals-escaped"
3+
hx-vals='{"myVal": "My Value"}'
4+
type="button">
5+
VALS
6+
</button>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Net;
5+
using System.Text;
6+
using System.Threading.Tasks;
7+
8+
namespace Htmxor.DemoTestCases;
9+
10+
public class HxValsTest : TestAppTestBase
11+
{
12+
public HxValsTest(TestAppFixture fixture) : base(fixture)
13+
{
14+
}
15+
16+
[Fact]
17+
public async Task HxVals_correctly_escaped_by_renderer()
18+
{
19+
await Host.Scenario(s =>
20+
{
21+
s.Get.Url("/hx-vals-escaped");
22+
23+
s.StatusCodeShouldBe(HttpStatusCode.OK);
24+
s.ContentShouldBeHtml(FullPageContent($$"""
25+
<button hx-post="/hx-vals-escaped"
26+
hx-vals='{"myVal": "My Value"}'
27+
type="button">
28+
VALS
29+
</button>
30+
"""));
31+
});
32+
}
33+
}

0 commit comments

Comments
 (0)