@@ -16,7 +16,7 @@ import ContentNode from 'docc-render/components/ContentNode.vue';
1616import DictionaryExample from 'docc-render/components/ContentNode/DictionaryExample.vue' ;
1717import EndpointExample from 'docc-render/components/ContentNode/EndpointExample.vue' ;
1818import Figure from 'docc-render/components/ContentNode/Figure.vue' ;
19- import FigureCaption from 'docc-render/components/ContentNode/FigureCaption .vue' ;
19+ import Caption from 'docc-render/components/ContentNode/Caption .vue' ;
2020import InlineImage from 'docc-render/components/ContentNode/InlineImage.vue' ;
2121import Reference from 'docc-render/components/ContentNode/Reference.vue' ;
2222import Table from 'docc-render/components/ContentNode/Table.vue' ;
@@ -112,29 +112,6 @@ describe('ContentNode', () => {
112112 expect ( codeListing . props ( 'content' ) ) . toEqual ( listing . code ) ;
113113 expect ( codeListing . isEmpty ( ) ) . toBe ( true ) ;
114114 } ) ;
115-
116- it ( 'renders a `Figure`/`Figcaption` with metadata' , ( ) => {
117- const metadata = {
118- anchor : '42' ,
119- title : 'Listing 42' ,
120- abstract : [ {
121- type : 'paragraph' ,
122- inlineContent : [ { type : 'text' , text : 'blah' } ] ,
123- } ] ,
124- } ;
125- const wrapper = mountWithItem ( { ...listing , metadata } ) ;
126-
127- const figure = wrapper . find ( Figure ) ;
128- expect ( figure . exists ( ) ) . toBe ( true ) ;
129- expect ( figure . props ( 'anchor' ) ) . toBe ( metadata . anchor ) ;
130- expect ( figure . contains ( CodeListing ) ) . toBe ( true ) ;
131-
132- const caption = figure . find ( FigureCaption ) ;
133- expect ( caption . exists ( ) ) . toBe ( true ) ;
134- expect ( caption . props ( 'title' ) ) . toBe ( metadata . title ) ;
135- expect ( caption . contains ( 'p' ) ) . toBe ( true ) ;
136- expect ( caption . text ( ) ) . toContain ( 'blah' ) ;
137- } ) ;
138115 } ) ;
139116
140117 describe ( 'with type="endpointExample"' , ( ) => {
@@ -714,7 +691,7 @@ describe('ContentNode', () => {
714691 } , { } ) ) . not . toThrow ( ) ;
715692 } ) ;
716693
717- it ( 'renders a `Figure`/`FigureCaption ` with metadata' , ( ) => {
694+ it ( 'renders a `Figure`/`Caption ` with metadata' , ( ) => {
718695 const metadata = {
719696 anchor : '42' ,
720697 title : 'Figure 42' ,
@@ -734,14 +711,14 @@ describe('ContentNode', () => {
734711 expect ( figure . props ( 'anchor' ) ) . toBe ( metadata . anchor ) ;
735712 expect ( figure . contains ( InlineImage ) ) . toBe ( true ) ;
736713
737- const caption = wrapper . find ( FigureCaption ) ;
714+ const caption = wrapper . find ( Caption ) ;
738715 expect ( caption . exists ( ) ) . toBe ( true ) ;
739716 expect ( caption . contains ( 'p' ) ) . toBe ( true ) ;
740717 expect ( caption . props ( 'title' ) ) . toBe ( metadata . title ) ;
741718 expect ( caption . text ( ) ) . toContain ( 'blah' ) ;
742719 } ) ;
743720
744- it ( 'renders a `Figure`/`FigureCaption ` without an anchor, with text under the image' , ( ) => {
721+ it ( 'renders a `Figure`/`Caption ` without an anchor, with text under the image' , ( ) => {
745722 const metadata = {
746723 abstract : [ {
747724 type : 'paragraph' ,
@@ -759,7 +736,7 @@ describe('ContentNode', () => {
759736 expect ( figure . props ( 'anchor' ) ) . toBeFalsy ( ) ;
760737 expect ( figure . contains ( InlineImage ) ) . toBe ( true ) ;
761738
762- const caption = wrapper . find ( FigureCaption ) ;
739+ const caption = wrapper . find ( Caption ) ;
763740 expect ( caption . exists ( ) ) . toBe ( true ) ;
764741 expect ( caption . contains ( 'p' ) ) . toBe ( true ) ;
765742 expect ( caption . props ( 'title' ) ) . toBeFalsy ( ) ;
@@ -769,9 +746,9 @@ describe('ContentNode', () => {
769746 expect ( figure . html ( ) ) . toMatchInlineSnapshot ( `
770747 <figure-stub>
771748 <inlineimage-stub alt="" variants="[object Object],[object Object]"></inlineimage-stub>
772- <figurecaption -stub centered="true">
749+ <caption -stub centered="true" tag="figcaption ">
773750 <p>blah</p>
774- </figurecaption -stub>
751+ </caption -stub>
775752 </figure-stub>
776753 ` ) ;
777754 } ) ;
@@ -791,9 +768,9 @@ describe('ContentNode', () => {
791768 } , references ) ;
792769 expect ( wrapper . find ( Figure ) . html ( ) ) . toMatchInlineSnapshot ( `
793770 <figure-stub>
794- <figurecaption -stub title="foo">
771+ <caption -stub title="foo" tag="figcaption ">
795772 <p>blah</p>
796- </figurecaption -stub>
773+ </caption -stub>
797774 <inlineimage-stub alt="" variants="[object Object],[object Object]"></inlineimage-stub>
798775 </figure-stub>
799776 ` ) ;
@@ -816,7 +793,7 @@ describe('ContentNode', () => {
816793 expect ( figure . props ( 'anchor' ) ) . toBe ( 'foo-figure' ) ;
817794 expect ( figure . contains ( InlineImage ) ) . toBe ( true ) ;
818795
819- expect ( wrapper . find ( FigureCaption ) . exists ( ) ) . toBe ( false ) ;
796+ expect ( wrapper . find ( Caption ) . exists ( ) ) . toBe ( false ) ;
820797 } ) ;
821798
822799 it ( 'renders within a `DeviceFrame`' , ( ) => {
@@ -892,7 +869,7 @@ describe('ContentNode', () => {
892869 } , { } ) ) . not . toThrow ( ) ;
893870 } ) ;
894871
895- it ( 'renders a `Figure`/`FigureCaption ` with metadata' , ( ) => {
872+ it ( 'renders a `Figure`/`Caption ` with metadata' , ( ) => {
896873 const metadata = {
897874 anchor : 'foo' ,
898875 abstract : [ {
@@ -911,15 +888,16 @@ describe('ContentNode', () => {
911888 expect ( figure . props ( 'anchor' ) ) . toBe ( 'foo' ) ;
912889 expect ( figure . contains ( BlockVideo ) ) . toBe ( true ) ;
913890
914- const caption = wrapper . find ( FigureCaption ) ;
891+ const caption = wrapper . find ( Caption ) ;
915892 expect ( caption . exists ( ) ) . toBe ( true ) ;
893+ expect ( caption . props ( 'tag' ) ) . toBe ( 'figcaption' ) ;
916894 expect ( caption . contains ( 'p' ) ) . toBe ( true ) ;
917895 expect ( caption . props ( 'title' ) ) . toBe ( metadata . title ) ;
918896 expect ( caption . props ( 'centered' ) ) . toBe ( true ) ;
919897 expect ( caption . text ( ) ) . toContain ( 'blah' ) ;
920898 } ) ;
921899
922- it ( 'renders a `Figure`/`FigureCaption ` without an anchor, with text under the video' , ( ) => {
900+ it ( 'renders a `Figure`/`Caption ` without an anchor, with text under the video' , ( ) => {
923901 const metadata = {
924902 abstract : [ {
925903 type : 'paragraph' ,
@@ -937,7 +915,7 @@ describe('ContentNode', () => {
937915 expect ( figure . props ( 'anchor' ) ) . toBeFalsy ( ) ;
938916 expect ( figure . contains ( BlockVideo ) ) . toBe ( true ) ;
939917
940- const caption = wrapper . find ( FigureCaption ) ;
918+ const caption = wrapper . find ( Caption ) ;
941919 expect ( caption . exists ( ) ) . toBe ( true ) ;
942920 expect ( caption . contains ( 'p' ) ) . toBe ( true ) ;
943921 expect ( caption . props ( 'title' ) ) . toBeFalsy ( ) ;
@@ -947,9 +925,9 @@ describe('ContentNode', () => {
947925 expect ( figure . html ( ) ) . toMatchInlineSnapshot ( `
948926 <figure-stub>
949927 <blockvideo-stub identifier="video.mp4"></blockvideo-stub>
950- <figurecaption -stub centered="true">
928+ <caption -stub centered="true" tag="figcaption ">
951929 <p>blah</p>
952- </figurecaption -stub>
930+ </caption -stub>
953931 </figure-stub>
954932 ` ) ;
955933 } ) ;
@@ -1372,6 +1350,33 @@ describe('ContentNode', () => {
13721350 expect ( table . findAll ( 'tbody tr td' ) . length ) . toBe ( 4 ) ;
13731351 } ) ;
13741352
1353+ it ( 'renders a `Table` with metadata' , ( ) => {
1354+ const metadata = {
1355+ anchor : '42' ,
1356+ title : 'Listing 42' ,
1357+ abstract : [ {
1358+ type : 'paragraph' ,
1359+ inlineContent : [ { type : 'text' , text : 'blah' } ] ,
1360+ } ] ,
1361+ } ;
1362+
1363+ const wrapper = mountWithItem ( {
1364+ type : 'table' ,
1365+ header : TableHeaderStyle . none ,
1366+ rows,
1367+ metadata,
1368+ } ) ;
1369+
1370+ const table = wrapper . find ( '.content' ) . find ( Table ) ;
1371+ expect ( table . exists ( ) ) . toBe ( true ) ;
1372+ expect ( table . attributes ( 'id' ) ) . toBe ( metadata . anchor ) ;
1373+
1374+ const caption = wrapper . find ( Caption ) ;
1375+ expect ( caption . exists ( ) ) . toBe ( true ) ;
1376+ expect ( caption . props ( 'title' ) ) . toBe ( metadata . title ) ;
1377+ expect ( caption . text ( ) ) . toContain ( 'blah' ) ;
1378+ } ) ;
1379+
13751380 it ( 'renders header="both" style tables' , ( ) => {
13761381 const wrapper = mountWithItem ( {
13771382 type : 'table' ,
@@ -1410,35 +1415,6 @@ describe('ContentNode', () => {
14101415 expect ( table . findAll ( 'tbody tr td' ) . length ) . toBe ( 2 ) ;
14111416 } ) ;
14121417
1413- it ( 'renders a `Figure`/`FigureCaption` with metadata' , ( ) => {
1414- const metadata = {
1415- anchor : '42' ,
1416- title : 'Table 42' ,
1417- abstract : [ {
1418- type : 'paragraph' ,
1419- inlineContent : [ { type : 'text' , text : 'blah' } ] ,
1420- } ] ,
1421- } ;
1422- const wrapper = mountWithItem ( {
1423- type : 'table' ,
1424- header : TableHeaderStyle . none ,
1425- rows,
1426- metadata,
1427- } ) ;
1428-
1429- const figure = wrapper . find ( Figure ) ;
1430- expect ( figure . exists ( ) ) . toBe ( true ) ;
1431- expect ( figure . props ( 'anchor' ) ) . toBe ( metadata . anchor ) ;
1432- expect ( figure . contains ( Table ) ) . toBe ( true ) ;
1433-
1434- const caption = figure . find ( FigureCaption ) ;
1435- expect ( caption . exists ( ) ) . toBe ( true ) ;
1436- expect ( caption . props ( 'title' ) ) . toBe ( metadata . title ) ;
1437- expect ( caption . props ( 'centered' ) ) . toBe ( false ) ;
1438- expect ( caption . contains ( 'p' ) ) . toBe ( true ) ;
1439- expect ( caption . text ( ) ) . toContain ( 'blah' ) ;
1440- } ) ;
1441-
14421418 describe ( 'and column/row spanning' , ( ) => {
14431419 // <table>
14441420 // <tr>
0 commit comments