File tree Expand file tree Collapse file tree 2 files changed +24
-3
lines changed Expand file tree Collapse file tree 2 files changed +24
-3
lines changed Original file line number Diff line number Diff line change @@ -2110,17 +2110,17 @@ export function createComposer(options: any = {}): any {
2110
2110
const locale = computed ( {
2111
2111
get : ( ) => _locale . value ,
2112
2112
set : val => {
2113
+ _context . locale = val
2113
2114
_locale . value = val
2114
- _context . locale = _locale . value
2115
2115
}
2116
2116
} )
2117
2117
2118
2118
// fallbackLocale
2119
2119
const fallbackLocale = computed ( {
2120
2120
get : ( ) => _fallbackLocale . value ,
2121
2121
set : val => {
2122
+ _context . fallbackLocale = val
2122
2123
_fallbackLocale . value = val
2123
- _context . fallbackLocale = _fallbackLocale . value
2124
2124
updateFallbackLocale ( _context , _locale . value , val )
2125
2125
}
2126
2126
} )
Original file line number Diff line number Diff line change @@ -61,14 +61,35 @@ describe('locale', () => {
61
61
test ( 'reactivity' , async ( ) => {
62
62
const fn = vi . fn ( )
63
63
64
- const { locale } = createComposer ( { } )
64
+ const { locale, t } = createComposer ( {
65
+ messages : {
66
+ en : {
67
+ test : 'en'
68
+ } ,
69
+ 'en-US' : {
70
+ test : 'en-US'
71
+ }
72
+ }
73
+ } )
65
74
watch ( locale , fn )
66
75
locale . value = 'en'
67
76
await nextTick ( )
68
77
69
78
expect ( fn ) . toBeCalled ( )
70
79
expect ( fn . mock . calls [ 0 ] [ 0 ] ) . toEqual ( 'en' )
71
80
expect ( fn . mock . calls [ 0 ] [ 1 ] ) . toEqual ( 'en-US' )
81
+
82
+ let result = ''
83
+ locale . value = 'en'
84
+
85
+ watch ( locale , ( ) => ( result = t ( 'test' ) ) , {
86
+ immediate : true ,
87
+ flush : 'sync'
88
+ } )
89
+ expect ( result ) . toEqual ( 'en' )
90
+ locale . value = 'en-US'
91
+ await nextTick ( )
92
+ expect ( result ) . toEqual ( 'en-US' )
72
93
} )
73
94
} )
74
95
You can’t perform that action at this time.
0 commit comments