@@ -63,6 +63,39 @@ private void assertExportCompiles(String exported, String... imports) {
6363 testAssertOkLinesWithStdLib (false , source .split ("\n " ));
6464 }
6565
66+ private void assertUnitExportCompilesWithFixedUnitObjEditing (String exported ) {
67+ testAssertOk (false , false ,
68+ compilationUnit ("ObjEditingNatives.wurst" ,
69+ "package ObjEditingNatives" ,
70+ "public class ObjectDefinition" ,
71+ "\t function setInt(string modification, int value)" ,
72+ "\t \t skip" ,
73+ "public function createObjectDefinition(string fileType, int newId, int deriveFrom) returns ObjectDefinition" ,
74+ "\t return new ObjectDefinition()"
75+ ),
76+ compilationUnit ("ObjEditingCommons.wurst" ,
77+ "package ObjEditingCommons"
78+ ),
79+ compilationUnit ("UnitObjEditing.wurst" ,
80+ "package UnitObjEditing" ,
81+ "import ObjEditingNatives" ,
82+ "import ObjEditingCommons" ,
83+ "public class UnitDefinition" ,
84+ "\t ObjectDefinition def" ,
85+ "\t construct(int newId, int origUnitId)" ,
86+ "\t \t def = createObjectDefinition(\" w3u\" , newId, origUnitId)" ,
87+ "\t function setModelFileExtraVersions(int data)" ,
88+ "\t \t def.setInt(\" uver\" , data)"
89+ ),
90+ compilationUnit ("ExportedObjectsCompileTest.wurst" ,
91+ ("package ExportedObjectsCompileTest\n "
92+ + "import ObjEditingNatives\n "
93+ + "import ObjEditingCommons\n "
94+ + "import UnitObjEditing\n \n "
95+ + exported ).split ("\n " ))
96+ );
97+ }
98+
6699 // -------------------------------------------------------------------------
67100 // Ability (w3a) — known base ID
68101 // -------------------------------------------------------------------------
@@ -280,7 +313,7 @@ public void intFieldWithFixedWrapperEmitsWrapperCallAndCompiles() throws IOExcep
280313
281314 assertFalse (out .contains ("createObjectDefinition" ), out );
282315 assertTrue (out .contains ("..setModelFileExtraVersions(1)" ), out );
283- assertExportCompiles (out , "import UnitObjEditing" );
316+ assertUnitExportCompilesWithFixedUnitObjEditing (out );
284317 }
285318
286319 @ Test
0 commit comments