File tree 2 files changed +24
-3
lines changed
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 @@ -64,14 +64,35 @@ describe('locale', () => {
64
64
test ( 'reactivity' , async ( ) => {
65
65
const fn = vi . fn ( )
66
66
67
- const { locale } = createComposer ( { } )
67
+ const { locale, t } = createComposer ( {
68
+ messages : {
69
+ en : {
70
+ test : 'en'
71
+ } ,
72
+ 'en-US' : {
73
+ test : 'en-US'
74
+ }
75
+ }
76
+ } )
68
77
watch ( locale , fn )
69
78
locale . value = 'en'
70
79
await nextTick ( )
71
80
72
81
expect ( fn ) . toBeCalled ( )
73
82
expect ( fn . mock . calls [ 0 ] [ 0 ] ) . toEqual ( 'en' )
74
83
expect ( fn . mock . calls [ 0 ] [ 1 ] ) . toEqual ( 'en-US' )
84
+
85
+ let result = ''
86
+ locale . value = 'en'
87
+
88
+ watch ( locale , ( ) => ( result = t ( 'test' ) ) , {
89
+ immediate : true ,
90
+ flush : 'sync'
91
+ } )
92
+ expect ( result ) . toEqual ( 'en' )
93
+ locale . value = 'en-US'
94
+ await nextTick ( )
95
+ expect ( result ) . toEqual ( 'en-US' )
75
96
} )
76
97
} )
77
98
You can’t perform that action at this time.
0 commit comments