File tree Expand file tree Collapse file tree 2 files changed +19
-2
lines changed
Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -617,7 +617,7 @@ describe("order", () => {
617617 expect ( Object . keys ( orderedCatalogs ) ) . toMatchSnapshot ( )
618618 } )
619619
620- it ( "should order messages by message" , ( ) => {
620+ it ( "should order messages by message and then by context " , ( ) => {
621621 const catalog = {
622622 msg1 : makeNextMessage ( {
623623 message : "B" ,
@@ -630,6 +630,7 @@ describe("order", () => {
630630 msg2 : makeNextMessage ( {
631631 // message is optional.
632632 translation : "A" ,
633+ context : "context1" ,
633634 origin : [ [ "file2.js" , 3 ] ] ,
634635 } ) ,
635636 msg3 : makeNextMessage ( {
@@ -642,6 +643,18 @@ describe("order", () => {
642643 translation : "C" ,
643644 origin : [ [ "file1.js" , 1 ] ] ,
644645 } ) ,
646+ msg5 : makeNextMessage ( {
647+ message : "B" ,
648+ translation : "B" ,
649+ context : "context3" ,
650+ origin : [ [ "file2.js" , 4 ] ] ,
651+ } ) ,
652+ msg6 : makeNextMessage ( {
653+ message : "B" ,
654+ translation : "B" ,
655+ context : "context2" ,
656+ origin : [ [ "file2.js" , 5 ] ] ,
657+ } ) ,
645658 }
646659
647660 const orderedCatalogs = order ( "message" , catalog )
@@ -651,6 +664,8 @@ describe("order", () => {
651664 [
652665 msg2,
653666 msg1,
667+ msg6,
668+ msg5,
654669 msg4,
655670 msg3,
656671 ]
Original file line number Diff line number Diff line change @@ -376,7 +376,9 @@ export function orderByMessage<T extends ExtractedCatalogType>(messages: T): T {
376376 . sort ( ( a , b ) => {
377377 const aMsg = messages [ a ] . message || ""
378378 const bMsg = messages [ b ] . message || ""
379- return collator . compare ( aMsg , bMsg )
379+ const aCtxt = messages [ a ] . context || ""
380+ const bCtxt = messages [ b ] . context || ""
381+ return collator . compare ( aMsg , bMsg ) || collator . compare ( aCtxt , bCtxt )
380382 } )
381383 . reduce ( ( acc , key ) => {
382384 ; ( acc as any ) [ key ] = messages [ key ]
You can’t perform that action at this time.
0 commit comments