@@ -5,7 +5,7 @@ const { expect } = require('./harness')
55const versionTree = require ( '../src/helpers/versionTree.js' )
66
77describe ( 'versionTree' , ( ) => {
8- it ( 'should return stable, preview and snapshot versions' , ( ) => {
8+ it ( 'should return stable, preview and snapshot versions' , ( ) => {
99 const result = versionTree ( {
1010 test : {
1111 versions : [
@@ -45,6 +45,93 @@ describe('versionTree', () => {
4545 expect ( tree . snapshot [ 1 ] . displayVersion ) . is . eql ( '3.0.0-SNAPSHOT' )
4646 } )
4747
48+ it ( 'page version overrides urls when component names are the same' , ( ) => {
49+ const result = versionTree ( {
50+ test : {
51+ name : 'test' ,
52+ versions : [
53+ {
54+ displayVersion : '2.0.0' ,
55+ url : './version.html' ,
56+ } ,
57+ ] ,
58+ } ,
59+ } , {
60+ component : {
61+ name : 'test' ,
62+ } ,
63+ versions : [
64+ {
65+ displayVersion : '2.0.0' ,
66+ url : './page.html' ,
67+ } ,
68+ ] ,
69+ } )
70+
71+ const tree = result . test . versionTree
72+ expect ( tree . stable . length ) . is . eql ( 1 )
73+ expect ( tree . stable [ 0 ] . displayVersion ) . is . eql ( '2.0.0' )
74+ expect ( tree . stable [ 0 ] . url ) . is . eql ( './page.html' )
75+ } )
76+
77+ it ( 'does not override if page does not define same version' , ( ) => {
78+ const result = versionTree ( {
79+ test : {
80+ name : 'test' ,
81+ versions : [
82+ {
83+ displayVersion : '2.0.0' ,
84+ url : './version.html' ,
85+ } ,
86+ ] ,
87+ } ,
88+ } , {
89+ component : {
90+ name : 'test' ,
91+ } ,
92+ versions : [
93+ {
94+ displayVersion : '1.0.0' ,
95+ url : './page.html' ,
96+ } ,
97+ ] ,
98+ } )
99+
100+ const tree = result . test . versionTree
101+ expect ( tree . stable . length ) . is . eql ( 1 )
102+ expect ( tree . stable [ 0 ] . displayVersion ) . is . eql ( '2.0.0' )
103+ expect ( tree . stable [ 0 ] . url ) . is . eql ( './version.html' )
104+ } )
105+
106+ it ( 'page versions do not override if different component name' , ( ) => {
107+ const result = versionTree ( {
108+ test : {
109+ name : 'test' ,
110+ versions : [
111+ {
112+ displayVersion : '2.0.0' ,
113+ url : './version.html' ,
114+ } ,
115+ ] ,
116+ } ,
117+ } , {
118+ component : {
119+ name : 'baz' ,
120+ } ,
121+ versions : [
122+ {
123+ displayVersion : '2.0.0' ,
124+ url : './page.html' ,
125+ } ,
126+ ] ,
127+ } )
128+
129+ const tree = result . test . versionTree
130+ expect ( tree . stable . length ) . is . eql ( 1 )
131+ expect ( tree . stable [ 0 ] . displayVersion ) . is . eql ( '2.0.0' )
132+ expect ( tree . stable [ 0 ] . url ) . is . eql ( './version.html' )
133+ } )
134+
48135 it ( 'should return an empty structure' , ( ) => {
49136 const result = versionTree ( {
50137 test : {
0 commit comments