diff --git a/dist/datamodel/node/container/SectionNode.d.ts.map b/dist/datamodel/node/container/SectionNode.d.ts.map index 0a9cf45..2b03e88 100644 --- a/dist/datamodel/node/container/SectionNode.d.ts.map +++ b/dist/datamodel/node/container/SectionNode.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"SectionNode.d.ts","sourceRoot":"","sources":["../../../../src/datamodel/node/container/SectionNode.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAMvE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAwCrE,wBAAgB,YAAY,IAAI,MAAM,CAYrC;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMhF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,iBAAiB,IAAI,iBAAiB,CAKzC;IAED,eAAe,IAAI,MAAM,EAAE;IAQ3B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAUtC,oBAAoB,IAAI,MAAM,EAAE;IA4BhC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IA6BhE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAiBlH,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAiB9E,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAerC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,EAAE,qBAAqB,GAAG,IAAI,GAAG,QAAQ;CA+BvG"} \ No newline at end of file +{"version":3,"file":"SectionNode.d.ts","sourceRoot":"","sources":["../../../../src/datamodel/node/container/SectionNode.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAMvE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAyCrE,wBAAgB,YAAY,IAAI,MAAM,CAYrC;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMhF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,iBAAiB,IAAI,iBAAiB,CAKzC;IAED,eAAe,IAAI,MAAM,EAAE;IAQ3B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAUtC,oBAAoB,IAAI,MAAM,EAAE;IA4BhC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IA6BhE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAiBlH,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAiB9E,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAerC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,EAAE,qBAAqB,GAAG,IAAI,GAAG,QAAQ;CA+BvG"} \ No newline at end of file diff --git a/dist/datamodel/node/container/SectionNode.js b/dist/datamodel/node/container/SectionNode.js index 2f49fc5..641c2fd 100644 --- a/dist/datamodel/node/container/SectionNode.js +++ b/dist/datamodel/node/container/SectionNode.js @@ -31,7 +31,8 @@ const ALLOWED_TYPES = { ], arch: [ 'Constant', - 'Simulink.Signal', + // No Simulink.Signal: a signal is design data. Architectural data models + // interfaces, and its bus/connection-bus entries are the interface types. 'Simulink.Bus', 'Simulink.ConnectionBus', 'Simulink.ServiceBus', diff --git a/dist/datamodel/node/container/SectionNode.js.map b/dist/datamodel/node/container/SectionNode.js.map index 906d338..643ce9c 100644 --- a/dist/datamodel/node/container/SectionNode.js.map +++ b/dist/datamodel/node/container/SectionNode.js.map @@ -1 +1 @@ -{"version":3,"file":"SectionNode.js","sourceRoot":"","sources":["../../../../src/datamodel/node/container/SectionNode.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,wEAAwE;AACxE,iFAAiF;AACjF,6EAA6E;AAC7E,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EACL,gBAAgB,IAAI,iBAAiB,EACrC,eAAe,IAAI,gBAAgB,GACpC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAErE,MAAM,aAAa,GAA6B;IAC9C,MAAM,EAAE;QACN,gBAAgB;QAChB,cAAc;QACd,oBAAoB;QACpB,sBAAsB;QACtB,qBAAqB;QACrB,iBAAiB;QACjB,cAAc;QACd,wBAAwB;QACxB,sBAAsB;QACtB,oBAAoB;QACpB,oBAAoB;QACpB,6CAA6C;QAC7C,4BAA4B;QAC5B,yBAAyB;QACzB,0BAA0B;QAC1B,sBAAsB;QACtB,+BAA+B;QAC/B,cAAc;KACf;IACD,IAAI,EAAE;QACJ,UAAU;QACV,iBAAiB;QACjB,cAAc;QACd,wBAAwB;QACxB,qBAAqB;QACrB,6CAA6C;QAC7C,oBAAoB;QACpB,2EAA2E;QAC3E,4EAA4E;QAC5E,oBAAoB;QACpB,sBAAsB;KACvB;IACD,MAAM,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,gCAAgC,CAAC;IAC9H,KAAK,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,cAAc,CAAC;CACpG,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,kBAAkB,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,OAAO,QAAQ;SACZ,GAAG,CAAC,UAAU,GAAG;QAChB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;IAIpD,YAAY,IAAY,EAAE,MAAuB,EAAE,KAAa,EAAE,MAAc;QAC9E,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,eAAe;QACb,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,gFAAgF;IAChF,8EAA8E;IAC9E,iFAAiF;IACjF,6CAA6C;IAC7C,UAAU,CAAC,SAAiB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,mDAAmD;IACnD,oBAAoB;QAClB,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAsB,CAAC;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,iBAAiB,CAAE,CAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qFAAqF;IACrF,iFAAiF;IACjF,gFAAgF;IAChF,sFAAsF;IACtF,+DAA+D;IAC/D,EAAE;IACF,oFAAoF;IACpF,mFAAmF;IACnF,sFAAsF;IACtF,mFAAmF;IACnF,uEAAuE;IACvE,aAAa,CAAC,OAAe,EAAE,OAAe;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAA6E,CAAC;QACtG,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,CAAC,SAAiB,EAAE,SAAkB;QAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,WAAW,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAa,CAAC;QAEnE,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,YAAY,EAAE;YACpB,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ;YACnD,OAAO,EAAE,kBAAkB,EAAE;YAC7B,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SAC5C,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,SAAkB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAc;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;YAClC,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,qEAAqE;IACrE,iFAAiF;IACjF,4EAA4E;IAC5E,UAAU,CAAC,QAAiC,EAAE,cAA6C;QACzF,MAAM,SAAS,GAAI,QAAQ,CAAC,IAAe,IAAI,EAAE,CAAC;QAClD,IAAI,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAa,CAAC;QACpF,QAAQ,CAAC,QAAQ,GAAI,QAAQ,CAAC,QAAoC,IAAI,IAAI,CAAC;QAC3E,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAgB,CAAC;QAC9C,CAAC;QAED,uEAAuE;QACvE,4EAA4E;QAC5E,8EAA8E;QAC9E,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,QAAQ,GAAG,YAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,gFAAgF;QAChF,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;YACzC,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;gBACnC,QAAkD,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"SectionNode.js","sourceRoot":"","sources":["../../../../src/datamodel/node/container/SectionNode.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/datamodel/node/container/SectionNode.ts b/src/datamodel/node/container/SectionNode.ts index acbbbd8..d2189cb 100644 --- a/src/datamodel/node/container/SectionNode.ts +++ b/src/datamodel/node/container/SectionNode.ts @@ -41,7 +41,8 @@ const ALLOWED_TYPES: Record = { ], arch: [ 'Constant', - 'Simulink.Signal', + // No Simulink.Signal: a signal is design data. Architectural data models + // interfaces, and its bus/connection-bus entries are the interface types. 'Simulink.Bus', 'Simulink.ConnectionBus', 'Simulink.ServiceBus', diff --git a/test/archPresentation.test.ts b/test/archPresentation.test.ts index 777545e..de22870 100644 --- a/test/archPresentation.test.ts +++ b/test/archPresentation.test.ts @@ -114,7 +114,7 @@ describe('ValueType defaultName and isDerived icon', () => { // into Design Data and into Architectural Data is byte-identical on disk apart from // `isderived`, so the icon is the ONLY thing in the tree that says which section an // entry belongs to. A class whose ternary collapsed to one glyph would make an arch -// entry indistinguishable from a design one, and these four are the classes both +// entry indistinguishable from a design one, and these three are the classes both // sections admit (see ALLOWED_TYPES), so they are exactly the ones it can happen to. describe('Design Data and Architectural Data icons for the classes both sections admit', () => { const CASES: [string, string, string][] = [ @@ -122,9 +122,6 @@ describe('Design Data and Architectural Data icons for the classes both sections ['Simulink.NumericType', 'wsNumeric', 'typeNumeric'], ['Simulink.AliasType', 'wsAlias', 'typeAlias'], ['Simulink.ValueType', 'wsValue', 'typeSignalUI'], - // A derived Signal shares the serviceInterfaces glyph with a derived - // Simulink.ServiceBus; what matters here is that it is NOT the wsSignal one. - ['Simulink.Signal', 'wsSignal', 'serviceInterfaces'], ]; it('gives each class a different glyph in each section', () => { @@ -141,6 +138,18 @@ describe('Design Data and Architectural Data icons for the classes both sections } }); + it('still gives a derived Signal the arch glyph, which only parsing can reach now', () => { + // Architectural Data no longer ADMITS Simulink.Signal, so addEntry and paste + // cannot produce one and this case cannot be driven from the section the way + // the three above are. Parsing is unaffected by allowsType, so a dictionary + // that already holds an arch signal still loads — and still needs the glyph + // that says so, rather than looking like design data. + const node = SignalNode.parse(rawVal('Simulink.Signal', {}), 'sig', null); + expect(node.icon).toBe('wsSignal'); + node.metadata = { isderived: '1' }; + expect(node.icon).toBe('serviceInterfaces'); + }); + it('follows the entry when it is moved between the two sections', () => { // Paste and drag between Design and Architectural Data rebind `isderived` and // re-read the entry, so the icon has to be derived from the metadata every time it diff --git a/test/sectionNode.test.ts b/test/sectionNode.test.ts index 3cd21c9..6c370f0 100644 --- a/test/sectionNode.test.ts +++ b/test/sectionNode.test.ts @@ -98,6 +98,15 @@ describe('allowsType / getAllowedTypes', () => { expect(sectionOf(root, 'arch').allowsType(cls), cls).toBe(true); } }); + + it('keeps a Signal out of Architectural Data', () => { + // A signal is design data; architectural data models interfaces, and its + // bus and connection-bus entries are the interface types. Neither arch + // fixture holds a Simulink.Signal. + const root = sldd(); + expect(sectionOf(root, 'design').allowsType('Simulink.Signal')).toBe(true); + expect(sectionOf(root, 'arch').allowsType('Simulink.Signal')).toBe(false); + }); }); describe('addEntry', () => { @@ -120,7 +129,7 @@ describe('addEntry', () => { it('marks an arch entry derived, which is the whole Design/Arch distinction', () => { // On disk an arch entry is byte-identical to a design one apart from // isderived; getSectionKey reads it back to choose the section. - const node = sectionOf(sldd(), 'arch').addEntry('Simulink.Signal', 'sig')!; + const node = sectionOf(sldd(), 'arch').addEntry('Simulink.Bus', 'iface')!; expect(node.metadata!.namespace).toBe(NS_DESIGN); expect(node.metadata!.isderived).toBe('1'); expect(node.isDerived).toBe(true); @@ -225,7 +234,7 @@ describe('_uniqueName and the shared Design/Arch namespace', () => { // Design and Arch share NS_DESIGN, so this is the collision that would // otherwise write a dictionary MATLAB refuses to load. const root = sldd(); - sectionOf(root, 'arch').addEntry('Simulink.Signal', 'shared'); + sectionOf(root, 'arch').addEntry('Simulink.Bus', 'shared'); expect(sectionOf(root, 'design')._uniqueName('shared')).toBe('shared1'); expect(sectionOf(root, 'design').addEntry('Simulink.Signal', 'shared')!.name).toBe('shared1'); // ...and symmetrically: arch now sees design's 'shared1' too. @@ -274,7 +283,7 @@ describe('_uniqueName and the shared Design/Arch namespace', () => { it('reports every name across both namespace sections', () => { const root = sldd(); sectionOf(root, 'design').addEntry('Simulink.Parameter', 'a'); - sectionOf(root, 'arch').addEntry('Simulink.Signal', 'b'); + sectionOf(root, 'arch').addEntry('Simulink.Bus', 'b'); sectionOf(root, 'config').addEntry('Simulink.ConfigSet', 'c'); expect(sectionOf(root, 'design')._namespaceEntryNames().sort()).toEqual(['a', 'b']); expect(sectionOf(root, 'config')._namespaceEntryNames()).toEqual(['c']); @@ -365,7 +374,7 @@ describe('execRemoveEntry — undo/redo', () => { // would re-add it on the next Ctrl+Z. const root = sldd(); const design = sectionOf(root, 'design'); - const stranger = sectionOf(root, 'arch').addEntry('Simulink.Signal', 'sig')!; + const stranger = sectionOf(root, 'arch').addEntry('Simulink.Bus', 'iface')!; expect(design.execRemoveEntry(stranger)).toBeNull(); expect(sectionOf(root, 'arch').children).toContain(stranger); });