File tree Expand file tree Collapse file tree 3 files changed +55
-0
lines changed
examples/basic/src/routes Expand file tree Collapse file tree 3 files changed +55
-0
lines changed Original file line number Diff line number Diff line change @@ -1404,6 +1404,33 @@ function defineTest(f: Fixture) {
14041404 . click ( )
14051405 }
14061406
1407+ test ( 'action bind member @js' , async ( { page } ) => {
1408+ await page . goto ( f . url ( ) )
1409+ await waitForHydration ( page )
1410+ await using _ = await expectNoReload ( page )
1411+ await testActionBindMember ( page )
1412+ } )
1413+
1414+ testNoJs ( 'action bind member @nojs' , async ( { page } ) => {
1415+ await page . goto ( f . url ( ) )
1416+ await testActionBindMember ( page )
1417+ } )
1418+
1419+ async function testActionBindMember ( page : Page ) {
1420+ await expect ( page . getByTestId ( 'test-server-action-bind-member' ) ) . toHaveText (
1421+ '[?]' ,
1422+ )
1423+ await page
1424+ . getByRole ( 'button' , { name : 'test-server-action-bind-member' } )
1425+ . click ( )
1426+ await expect ( page . getByTestId ( 'test-server-action-bind-member' ) ) . toHaveText (
1427+ 'true' ,
1428+ )
1429+ await page
1430+ . getByRole ( 'button' , { name : 'test-server-action-bind-reset' } )
1431+ . click ( )
1432+ }
1433+
14071434 test ( 'action bind client @js' , async ( { page } ) => {
14081435 await page . goto ( f . url ( ) )
14091436 await waitForHydration ( page )
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ export function TestServerActionBindReset() {
1010 action = { async ( ) => {
1111 'use server'
1212 testServerActionBindSimpleState = '[?]'
13+ testServerActionBindMemberState = '[?]'
1314 testServerActionBindActionState = '[?]'
1415 testServerActionBindClientState ++
1516 } }
@@ -94,3 +95,28 @@ export function TestServerActionBindAction() {
9495 </ form >
9596 )
9697}
98+
99+ let testServerActionBindMemberState = '[?]'
100+
101+ export function TestServerActionBindMember ( ) {
102+ const x = {
103+ y : {
104+ z : 1234 ,
105+ } ,
106+ invalid : ( ) => { } ,
107+ }
108+
109+ return (
110+ < form
111+ action = { async ( ) => {
112+ 'use server'
113+ testServerActionBindMemberState = JSON . stringify ( x . y . z === 1234 )
114+ } }
115+ >
116+ < button type = "submit" > test-server-action-bind-member</ button >
117+ < span data-testid = "test-server-action-bind-member" >
118+ { testServerActionBindMemberState }
119+ </ span >
120+ </ form >
121+ )
122+ }
Original file line number Diff line number Diff line change 66 TestServerActionBindClient ,
77 TestServerActionBindReset ,
88 TestServerActionBindSimple ,
9+ TestServerActionBindMember ,
910} from './action-bind/server'
1011import { TestServerActionError } from './action-error/server'
1112import {
@@ -105,6 +106,7 @@ export function Root(props: { url: URL }) {
105106 < TestServerActionBindSimple />
106107 < TestServerActionBindClient />
107108 < TestServerActionBindAction />
109+ < TestServerActionBindMember />
108110 < TestSerializationServer />
109111 < TestClientInServer />
110112 < TestServerInServer />
You can’t perform that action at this time.
0 commit comments