File tree Expand file tree Collapse file tree 4 files changed +80
-0
lines changed
fixtures/model/multiple-inheritance Expand file tree Collapse file tree 4 files changed +80
-0
lines changed Original file line number Diff line number Diff line change 1+ {
2+ "name" : " Multiple Inheritance Base" ,
3+ "uri" : " http://multiple-inheritance-base" ,
4+ "prefix" : " b" ,
5+ "types" : [
6+ {
7+ "name" : " Element" ,
8+ "properties" : [
9+ { "name" : " ownedElement" , "type" : " b:Element" , "isMany" : true }
10+ ]
11+ },
12+ {
13+ "name" : " PackageableElement" ,
14+ "superClass" : [ " b:Element" ]
15+ }
16+ ]
17+ }
Original file line number Diff line number Diff line change 1+ {
2+ "name" : " Multiple Inheritance Glue" ,
3+ "uri" : " http://multiple-inheritance-glue" ,
4+ "prefix" : " g" ,
5+ "types" : [
6+ {
7+ "name" : " Diagram" ,
8+ "superClass" : [
9+ " b:PackageableElement"
10+ ],
11+ "extends" : [
12+ " o:Diagram"
13+ ]
14+ }
15+ ]
16+ }
Original file line number Diff line number Diff line change 1+ {
2+ "name" : " Multiple Inheritance Other" ,
3+ "uri" : " http://multiple-inheritance-other" ,
4+ "prefix" : " o" ,
5+ "types" : [
6+ {
7+ "name" : " DiagramElement" ,
8+ "properties" : [
9+ { "name" : " ownedElement" , "type" : " DiagramElement" , "isMany" : true }
10+ ]
11+ },
12+ {
13+ "name" : " Diagram" ,
14+ "superClass" : [
15+ " DiagramElement"
16+ ]
17+ }
18+ ]
19+ }
Original file line number Diff line number Diff line change @@ -212,6 +212,34 @@ describe('extension', function() {
212212
213213 } ) ;
214214
215+
216+ describe ( 'name clashes' , function ( ) {
217+
218+ var model = createModel ( [
219+ 'multiple-inheritance/base' ,
220+ 'multiple-inheritance/other' ,
221+ 'multiple-inheritance/glue'
222+ ] ) ;
223+
224+
225+ it ( 'should handle multiple inheritance through virtual package' , function ( ) {
226+
227+ var baseElement = model . create ( 'b:Element' ) ;
228+
229+ var otherElement = model . create ( 'o:DiagramElement' ) ;
230+
231+ var diagram = model . create ( 'o:Diagram' , {
232+ 'b:ownedElement' : [ baseElement ] ,
233+ ownedElement : [ otherElement ]
234+ } ) ;
235+
236+ // then
237+ expect ( diagram . $instanceOf ( 'b:Element' ) ) . to . be . true ;
238+ expect ( diagram . $instanceOf ( 'o:DiagramElement' ) ) . to . be . true ;
239+ } ) ;
240+
241+ } ) ;
242+
215243 } ) ;
216244
217245
You can’t perform that action at this time.
0 commit comments