@@ -18,13 +18,13 @@ test('aria-label set on input element', async ({ mount, page }) => {
1818} )
1919
2020const testcases = [
21- [ 'datetime' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , '2000-01-02 03 :04' ] ,
22- [ 'date' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , '2000-01-02 ' ] ,
21+ [ 'datetime' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , 'Jan 2, 2000, 3 :04 AM ' ] ,
22+ [ 'date' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , 'Jan 2, 2000' ] ,
2323 [ 'week' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , '1999-52' ] ,
24- [ 'month' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , '2000-01 ' ] ,
24+ [ 'month' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , '01/2000 ' ] ,
2525 [ 'year' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , '2000' ] ,
26- [ 'range' , [ new Date ( 2000 , 0 , 1 ) , new Date ( 2000 , 0 , 7 ) ] as [ Date , Date ] , '2000-01-01 - 2000-01-07' ] ,
27- [ 'range-datetime' , [ new Date ( 2000 , 0 , 1 , 2 , 3 ) , new Date ( 2000 , 0 , 7 , 8 , 9 ) ] as [ Date , Date ] , ' 2000-01-01 02 :03 - 2000-01-07 08 :09' ] ,
26+ [ 'range' , [ new Date ( 2000 , 0 , 1 ) , new Date ( 2000 , 0 , 7 ) ] as [ Date , Date ] , / J a n 1 \s – \s 7 , 2 0 0 0 / i ] ,
27+ [ 'range-datetime' , [ new Date ( 2000 , 0 , 1 , 2 , 3 ) , new Date ( 2000 , 0 , 7 , 8 , 9 ) ] as [ Date , Date ] , / J a n 1 , 2 0 0 0 , 2 : 0 3 \s A M \s – \s J a n 7 , 2 0 0 0 , 8 : 0 9 \s A M / i ] ,
2828] as const
2929
3030for ( const [ type , modelValue , expectedValue ] of testcases ) {
@@ -40,6 +40,26 @@ for (const [type, modelValue, expectedValue] of testcases) {
4040 } )
4141}
4242
43+ const l10nTestcases = [
44+ [ 'datetime' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , 'en-GB' , '2 Jan 2000, 03:04' ] ,
45+ [ 'date' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , 'es-ES' , '2 ene 2000' ] ,
46+ [ 'month' , new Date ( 2000 , 0 , 2 , 3 , 4 ) , 'de-DE' , '01.2000' ] ,
47+ ] as const
48+
49+ for ( const [ type , modelValue , locale , expectedValue ] of l10nTestcases ) {
50+ test ( `Handle localized formatting for date with type: ${ type } formatted in locale ${ locale } ` , async ( { mount, page } ) => {
51+ page . addScriptTag ( { content : `document.getElementsByTagName('html')[0].dataset.locale = "${ locale } ";` } )
52+ await mount ( NcDateTimePicker , {
53+ props : {
54+ modelValue,
55+ type,
56+ } ,
57+ } )
58+
59+ await expect ( page . getByRole ( 'textbox' ) ) . toHaveValue ( expectedValue )
60+ } )
61+ }
62+
4363test ( 'Today is selected by default' , async ( { mount, page } ) => {
4464 await page . clock . setSystemTime ( new Date ( 2000 , 0 , 22 ) )
4565
@@ -49,7 +69,7 @@ test('Today is selected by default', async ({ mount, page }) => {
4969 } ,
5070 } )
5171
52- await expect ( page . getByRole ( 'textbox' ) ) . toHaveValue ( '2000-01-22 ' )
72+ await expect ( page . getByRole ( 'textbox' ) ) . toHaveValue ( 'Jan 22, 2000 ' )
5373
5474 // see also menu is checked
5575 await page . getByRole ( 'textbox' ) . click ( )
0 commit comments