@@ -523,6 +523,60 @@ mod tests {
523523 assert ! ( html. contains( r#"><span lang="zh">abc</span></a>"# ) ) ;
524524 }
525525
526+ #[ test]
527+ fn test_metadata_local_link_without_text_uses_target_title ( ) {
528+ let mut shallows = HashMap :: new ( ) ;
529+
530+ let mut index_metadata = OrderedMap :: new ( ) ;
531+ index_metadata. insert (
532+ KEY_SLUG . to_string ( ) ,
533+ HTMLContent :: Plain ( "index" . to_string ( ) ) ,
534+ ) ;
535+ index_metadata. insert ( KEY_EXT . to_string ( ) , HTMLContent :: Plain ( "typst" . to_string ( ) ) ) ;
536+ index_metadata. insert (
537+ "author" . to_string ( ) ,
538+ HTMLContent :: Lazy ( vec ! [ LazyContent :: Local ( LocalLink {
539+ url: "/kokic" . to_string( ) ,
540+ text: None ,
541+ } ) ] ) ,
542+ ) ;
543+ shallows. insert (
544+ Slug :: new ( "index" ) ,
545+ UnresolvedSection {
546+ metadata : HTMLMetaData ( index_metadata) ,
547+ content : HTMLContent :: Plain ( String :: new ( ) ) ,
548+ } ,
549+ ) ;
550+
551+ let mut target_metadata = OrderedMap :: new ( ) ;
552+ target_metadata. insert (
553+ KEY_SLUG . to_string ( ) ,
554+ HTMLContent :: Plain ( "kokic" . to_string ( ) ) ,
555+ ) ;
556+ target_metadata. insert ( KEY_EXT . to_string ( ) , HTMLContent :: Plain ( "md" . to_string ( ) ) ) ;
557+ target_metadata. insert (
558+ KEY_TITLE . to_string ( ) ,
559+ HTMLContent :: Plain ( "Kokic" . to_string ( ) ) ,
560+ ) ;
561+ shallows. insert (
562+ Slug :: new ( "kokic" ) ,
563+ UnresolvedSection {
564+ metadata : HTMLMetaData ( target_metadata) ,
565+ content : HTMLContent :: Plain ( String :: new ( ) ) ,
566+ } ,
567+ ) ;
568+
569+ let state = compile_all_without_missing_index_warning ( & shallows) . unwrap ( ) ;
570+ let author = state
571+ . compiled ( )
572+ . get ( & Slug :: new ( "index" ) )
573+ . and_then ( |section| section. metadata . get_str ( "author" ) )
574+ . expect ( "compiled author metadata" ) ;
575+
576+ assert ! ( author. contains( r#"class="link local""# ) ) ;
577+ assert ! ( author. contains( ">Kokic</a>" ) ) ;
578+ }
579+
526580 #[ test]
527581 fn test_compile_filters_internal_anonymous_sections_from_compiled_graph ( ) {
528582 let mut shallows = HashMap :: new ( ) ;
0 commit comments