File tree 2 files changed +19
-7
lines changed
netlify-cms-core/src/lib/__tests__
netlify-cms-lib-widgets/src
2 files changed +19
-7
lines changed Original file line number Diff line number Diff line change @@ -274,7 +274,7 @@ describe('formatters', () => {
274
274
} ;
275
275
276
276
describe ( 'slugFormatter' , ( ) => {
277
- const date = new Date ( '2020-01-01 ' ) ;
277
+ const date = new Date ( '2020-01-01T13:28:27.679Z ' ) ;
278
278
jest . spyOn ( global , 'Date' ) . mockImplementation ( ( ) => date ) ;
279
279
280
280
const { selectIdentifier } = require ( '../../reducers/collections' ) ;
@@ -312,6 +312,18 @@ describe('formatters', () => {
312
312
) . toBe ( 'entry-slug' ) ;
313
313
} ) ;
314
314
315
+ it ( 'should allow filters in slug templates' , ( ) => {
316
+ selectIdentifier . mockReturnValueOnce ( 'published' ) ;
317
+
318
+ expect (
319
+ slugFormatter (
320
+ Map ( { slug : "{{published | date('MM-DD')}}" } ) ,
321
+ Map ( { title : 'Post Title' , published : date } ) ,
322
+ slugConfig ,
323
+ ) ,
324
+ ) . toBe ( '01-01' ) ;
325
+ } ) ;
326
+
315
327
it ( 'should return slug' , ( ) => {
316
328
selectIdentifier . mockReturnValueOnce ( 'title' ) ;
317
329
Original file line number Diff line number Diff line change @@ -190,13 +190,13 @@ export function compileStringTemplate(
190
190
replacement = data . getIn ( keyToPathArray ( key ) , '' ) as string ;
191
191
}
192
192
193
+ const filterFunction = getFilterFunction ( filter ) ;
194
+ if ( filterFunction ) {
195
+ replacement = filterFunction ( replacement ) ;
196
+ }
197
+
193
198
if ( processor ) {
194
- return processor ( replacement ) ;
195
- } else {
196
- const filterFunction = getFilterFunction ( filter ) ;
197
- if ( filterFunction ) {
198
- replacement = filterFunction ( replacement ) ;
199
- }
199
+ replacement = processor ( replacement ) ;
200
200
}
201
201
202
202
return replacement ;
You can’t perform that action at this time.
0 commit comments