Refactored tests a bit. Working on KotlinLibTest
This commit is contained in:
Generated
+151
-163
@@ -6,10 +6,16 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/trait/cases/example.kt" />
|
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/trait/cases/traitExtendsTrait.kt" />
|
||||||
|
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java" />
|
||||||
|
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\testFiles\trait\cases\traitCompiles.kt" afterPath="" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/testFiles/kotlin_lib.js" afterPath="$PROJECT_DIR$/translator/testFiles/kotlin_lib.js" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExpressionTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExpressionTest.java" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java" />
|
||||||
</list>
|
</list>
|
||||||
<ignored path="k2js.iws" />
|
<ignored path="k2js.iws" />
|
||||||
<ignored path=".idea/workspace.xml" />
|
<ignored path=".idea/workspace.xml" />
|
||||||
@@ -60,7 +66,7 @@
|
|||||||
<option name="CONDITION" value="" />
|
<option name="CONDITION" value="" />
|
||||||
<option name="LOG_MESSAGE" value="" />
|
<option name="LOG_MESSAGE" value="" />
|
||||||
</breakpoint>
|
</breakpoint>
|
||||||
<breakpoint url="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" line="33" class="org.jetbrains.k2js.test.AbstractClassTest" package="org.jetbrains.k2js.test">
|
<breakpoint url="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" line="16" class="org.jetbrains.k2js.test.AbstractClassTest" package="org.jetbrains.k2js.test">
|
||||||
<option name="ENABLED" value="true" />
|
<option name="ENABLED" value="true" />
|
||||||
<option name="LOG_ENABLED" value="false" />
|
<option name="LOG_ENABLED" value="false" />
|
||||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||||
@@ -113,29 +119,22 @@
|
|||||||
<favorites_list name="k2js" />
|
<favorites_list name="k2js" />
|
||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<splitter split-orientation="horizontal" split-proportion="0.5164286">
|
<splitter split-orientation="horizontal" split-proportion="0.55857146">
|
||||||
<split-first>
|
<split-first>
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="traitAddsFunctionsToClass.js" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="KotlinLibTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitAddsFunctionsToClass.js">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="11" column="69" selection-start="228" selection-end="228" vertical-scroll-proportion="0.0">
|
<state line="18" column="48" selection-start="460" selection-end="460" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="ClassTranslator.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="ExpressionVisitor.java" pinned="false" current="true" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="88" column="0" selection-start="3512" selection-end="3512" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="classDerivesFromClassAndTrait.js" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/classDerivesFromClassAndTrait.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
@@ -143,37 +142,48 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="classDerivesFromTraitAndClass.js" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="BasicClassTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/classDerivesFromTraitAndClass.js">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="9" column="33" selection-start="195" selection-end="195" vertical-scroll-proportion="0.0">
|
<state line="17" column="0" selection-start="359" selection-end="359" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="example.kt" pinned="false" current="false" current-in-tab="true">
|
<file leaf-file-name="AbstractClassTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/example.kt">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="11" column="27" selection-start="176" selection-end="176" vertical-scroll-proportion="0.29872206">
|
<state line="16" column="0" selection-start="336" selection-end="485" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="BindingUtils.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="ExpressionTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExpressionTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="106" column="66" selection-start="5266" selection-end="5266" vertical-scroll-proportion="0.0">
|
<state line="23" column="29" selection-start="603" selection-end="603" vertical-scroll-proportion="0.0">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="ClassInheritanceTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="9" column="0" selection-start="160" selection-end="295" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="customSetter.js" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="TranslationTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customSetter.js">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="1" column="0" selection-start="10" selection-end="10" vertical-scroll-proportion="0.0">
|
<state line="61" column="39" selection-start="1906" selection-end="1906" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -200,7 +210,7 @@
|
|||||||
<file leaf-file-name="kotlin_lib.js" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="kotlin_lib.js" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/kotlin_lib.js">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/kotlin_lib.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="24" column="0" selection-start="646" selection-end="646" vertical-scroll-proportion="0.0">
|
<state line="90" column="2" selection-start="0" selection-end="9776" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -210,8 +220,26 @@
|
|||||||
</split-first>
|
</split-first>
|
||||||
<split-second>
|
<split-second>
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="ExpressionVisitor.java" pinned="false" current="true" current-in-tab="true">
|
<file leaf-file-name="traitExtendsTrait.kt" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/traitExtendsTrait.kt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="20" column="39" selection-start="320" selection-end="320" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="traitExtendsTrait.js" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitExtendsTrait.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="22" column="0" selection-start="0" selection-end="390" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="traitCompiles.js" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitCompiles.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
@@ -219,37 +247,19 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="classDerivesFromClassAndTrait.kt" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/classDerivesFromClassAndTrait.kt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="3" column="5" selection-start="21" selection-end="21" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="classDerivesFromTraitAndClass.kt" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/classDerivesFromTraitAndClass.kt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="7" column="0" selection-start="58" selection-end="58" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="TraitTest.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="TraitTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="38" column="33" selection-start="912" selection-end="912" vertical-scroll-proportion="0.0">
|
<state line="7" column="19" selection-start="110" selection-end="110" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="simpleInitializer.js" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="PropertyAccessorTest.java" pinned="false" current="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/simpleInitializer.js">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="1" column="0" selection-start="10" selection-end="10" vertical-scroll-proportion="0.0">
|
<state line="7" column="19" selection-start="110" selection-end="110" vertical-scroll-proportion="0.19636963">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -321,22 +331,22 @@
|
|||||||
<component name="IdeDocumentHistory">
|
<component name="IdeDocumentHistory">
|
||||||
<option name="changedFiles">
|
<option name="changedFiles">
|
||||||
<list>
|
<list>
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/inheritance/cases/methodOverride.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/inheritance/cases/parameterPassesToAncestorConstuctor.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/traitCompliles.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/traitCompiles.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/traitAddsFunctionsToClass.kt" />
|
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/traitAddsFunctionsToClass.kt" />
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/trait/out/traitCompiles.js" />
|
<option value="$PROJECT_DIR$/translator/testFiles/trait/out/traitCompiles.js" />
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/classDerivesFromTraitAndClass.kt" />
|
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/classDerivesFromTraitAndClass.kt" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/trait/out/classDerivesFromTraitAndClass.js" />
|
<option value="$PROJECT_DIR$/translator/testFiles/trait/out/classDerivesFromTraitAndClass.js" />
|
||||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/example.kt" />
|
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/example.kt" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/testFiles/trait/cases/traitExtendsTrait.kt" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/testFiles/kotlin_lib.js" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExpressionTest.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@@ -428,32 +438,6 @@
|
|||||||
<option name="myItemId" value="trait" />
|
<option name="myItemId" value="trait" />
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
<PATH_ELEMENT>
|
|
||||||
<option name="myItemId" value="out" />
|
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
||||||
</PATH_ELEMENT>
|
|
||||||
</PATH>
|
|
||||||
<PATH>
|
|
||||||
<PATH_ELEMENT>
|
|
||||||
<option name="myItemId" value="k2js" />
|
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
||||||
</PATH_ELEMENT>
|
|
||||||
<PATH_ELEMENT>
|
|
||||||
<option name="myItemId" value="translator" />
|
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
||||||
</PATH_ELEMENT>
|
|
||||||
<PATH_ELEMENT>
|
|
||||||
<option name="myItemId" value="testFiles" />
|
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
||||||
</PATH_ELEMENT>
|
|
||||||
<PATH_ELEMENT>
|
|
||||||
<option name="myItemId" value="trait" />
|
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
||||||
</PATH_ELEMENT>
|
|
||||||
<PATH_ELEMENT>
|
|
||||||
<option name="myItemId" value="cases" />
|
|
||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
||||||
</PATH_ELEMENT>
|
|
||||||
</PATH>
|
</PATH>
|
||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
@@ -1094,7 +1078,7 @@
|
|||||||
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
||||||
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
||||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="Refactored ClassTranslator code a bit. Added support for different order of inherited classes." />
|
<option name="LAST_COMMIT_MESSAGE" value="Added suppoer for null literal and a test for Traits." />
|
||||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||||
@@ -1107,7 +1091,6 @@
|
|||||||
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
||||||
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
||||||
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||||
<MESSAGE value="Added if else support" />
|
|
||||||
<MESSAGE value="Added while/do while support" />
|
<MESSAGE value="Added while/do while support" />
|
||||||
<MESSAGE value="Added string constant support." />
|
<MESSAGE value="Added string constant support." />
|
||||||
<MESSAGE value="Added constructor calls. Working on method logic." />
|
<MESSAGE value="Added constructor calls. Working on method logic." />
|
||||||
@@ -1132,6 +1115,7 @@
|
|||||||
<MESSAGE value="Added support for passing parameters to ancestor constructor. Added a test." />
|
<MESSAGE value="Added support for passing parameters to ancestor constructor. Added a test." />
|
||||||
<MESSAGE value="Added basic trait support. Added a couple of tests." />
|
<MESSAGE value="Added basic trait support. Added a couple of tests." />
|
||||||
<MESSAGE value="Refactored ClassTranslator code a bit. Added support for different order of inherited classes." />
|
<MESSAGE value="Refactored ClassTranslator code a bit. Added support for different order of inherited classes." />
|
||||||
|
<MESSAGE value="Added suppoer for null literal and a test for Traits." />
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager />
|
<breakpoint-manager />
|
||||||
@@ -1141,69 +1125,6 @@
|
|||||||
<option name="FILTER_TARGETS" value="false" />
|
<option name="FILTER_TARGETS" value="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/classDerivesFromClassAndTrait.kt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="3" column="5" selection-start="21" selection-end="21" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="48" column="16" selection-start="1257" selection-end="1257" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/classDerivesFromTraitAndClass.kt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="7" column="0" selection-start="58" selection-end="58" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitAddsFunctionsToClass.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="11" column="69" selection-start="228" selection-end="228" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/out/initializersOfBasicClassExecute.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/runners/model/FrameworkMethod.class">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="0" column="0" selection-start="0" selection-end="112" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="106" column="66" selection-start="5266" selection-end="5266" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="88" column="0" selection-start="3512" selection-end="3512" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="37" column="16" selection-start="823" selection-end="823" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/classDerivesFromClassAndTrait.js">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/classDerivesFromClassAndTrait.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||||
@@ -1211,9 +1132,9 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/customSetter.kt">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
<state line="9" column="0" selection-start="160" selection-end="295" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -1225,30 +1146,97 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/classInstantiation.js">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
<state line="106" column="66" selection-start="5266" selection-end="5266" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/example.kt">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="11" column="27" selection-start="176" selection-end="176" vertical-scroll-proportion="0.29872206">
|
<state line="17" column="0" selection-start="359" selection-end="359" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customSetter.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="1" column="0" selection-start="10" selection-end="10" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/traitExtendsTrait.kt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="20" column="39" selection-start="320" selection-end="320" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="38" column="33" selection-start="912" selection-end="912" vertical-scroll-proportion="0.0">
|
<state line="7" column="19" selection-start="110" selection-end="110" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="7" column="19" selection-start="110" selection-end="110" vertical-scroll-proportion="0.19636963">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="61" column="39" selection-start="1906" selection-end="1906" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="16" column="0" selection-start="336" selection-end="485" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/example.kt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="11" column="27" selection-start="176" selection-end="176" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExpressionTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="23" column="29" selection-start="603" selection-end="603" vertical-scroll-proportion="0.0">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="18" column="48" selection-start="460" selection-end="460" vertical-scroll-proportion="0.0">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitAddsFunctionsToClass.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="24" column="8" selection-start="463" selection-end="463" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
|||||||
@@ -1,41 +1,16 @@
|
|||||||
package org.jetbrains.k2js.test;
|
package org.jetbrains.k2js.test;
|
||||||
|
|
||||||
import org.mozilla.javascript.Context;
|
import java.util.Arrays;
|
||||||
import org.mozilla.javascript.Scriptable;
|
import java.util.List;
|
||||||
|
|
||||||
import java.io.FileReader;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Talanov Pavel
|
* @author Talanov Pavel
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractClassTest extends TranslationTest {
|
public abstract class AbstractClassTest extends TranslationTest {
|
||||||
|
|
||||||
private final String KOTLIN_JS_LIB = TEST_FILES + "kotlin_lib.js";
|
|
||||||
|
|
||||||
protected String kotlinLibraryPath() {
|
|
||||||
return KOTLIN_JS_LIB;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void runFileWithRhino(String inputFile, Context context, Scriptable scope) throws Exception {
|
|
||||||
FileReader reader = new FileReader(inputFile);
|
|
||||||
context.evaluateReader(scope, reader, inputFile, 1, null);
|
|
||||||
reader.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void runWithRhino(String inputFile, String namespaceName,
|
protected List<String> generateFilenameList(String inputFile) {
|
||||||
String functionName, Object expectedResult) throws Exception {
|
return Arrays.asList(kotlinLibraryPath(), inputFile);
|
||||||
Context cx = Context.enter();
|
|
||||||
Scriptable scope = cx.initStandardObjects();
|
|
||||||
runFileWithRhino(kotlinLibraryPath(), cx, scope);
|
|
||||||
runFileWithRhino(inputFile, cx, scope);
|
|
||||||
Object result = extractAndCallFunctionObject(namespaceName, functionName, cx, scope);
|
|
||||||
assertTrue("Result is not what expected!", result.equals(expectedResult));
|
|
||||||
String report = namespaceName + "." + functionName + "() = " + Context.toString(result);
|
|
||||||
System.out.println(report);
|
|
||||||
Context.exit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package org.jetbrains.k2js.test;
|
package org.jetbrains.k2js.test;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.mozilla.javascript.Context;
|
|
||||||
import org.mozilla.javascript.Scriptable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Talanov Pavel
|
* @author Talanov Pavel
|
||||||
@@ -16,14 +14,6 @@ public class BasicClassTest extends AbstractClassTest {
|
|||||||
return MAIN;
|
return MAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void kotlinJsLibRunsWithRhino() throws Exception {
|
|
||||||
Context context = Context.enter();
|
|
||||||
Scriptable scope = context.initStandardObjects();
|
|
||||||
runFileWithRhino(kotlinLibraryPath(), context, scope);
|
|
||||||
Context.exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void classInstantiation() throws Exception {
|
public void classInstantiation() throws Exception {
|
||||||
testFooBoxIsTrue("classInstantiation.kt");
|
testFooBoxIsTrue("classInstantiation.kt");
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package org.jetbrains.k2js.test;
|
|||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Talanov Pavel
|
* @author Talanov Pavel
|
||||||
* <p/>
|
* <p/>
|
||||||
@@ -16,6 +19,11 @@ public final class ExpressionTest extends TranslationTest {
|
|||||||
return MAIN;
|
return MAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<String> generateFilenameList(String inputFile) {
|
||||||
|
return Arrays.asList(inputFile);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void currentTest() throws Exception {
|
public void currentTest() throws Exception {
|
||||||
testFooBoxIsTrue("test.kt");
|
testFooBoxIsTrue("test.kt");
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package org.jetbrains.k2js.test;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mozilla.javascript.Context;
|
||||||
|
import org.mozilla.javascript.Scriptable;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Talanov Pavel
|
||||||
|
*/
|
||||||
|
public class KotlinLibTest extends TranslationTest {
|
||||||
|
|
||||||
|
final private static String MAIN = "kotlin_lib/";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<String> generateFilenameList(String inputFile) {
|
||||||
|
return Arrays.asList(kotlinLibraryPath());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String mainDirectory() {
|
||||||
|
return MAIN;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void kotlinJsLibRunsWithRhino() throws Exception {
|
||||||
|
Context context = Context.enter();
|
||||||
|
Scriptable scope = context.initStandardObjects();
|
||||||
|
runFileWithRhino(kotlinLibraryPath(), context, scope);
|
||||||
|
Context.exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -14,11 +14,6 @@ public final class TraitTest extends AbstractClassTest {
|
|||||||
return MAIN;
|
return MAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void traitCompiles() throws Exception {
|
|
||||||
testFooBoxIsTrue("traitCompiles.kt");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void traitAddsFunctionsToClass() throws Exception {
|
public void traitAddsFunctionsToClass() throws Exception {
|
||||||
testFooBoxIsTrue("traitAddsFunctionsToClass.kt");
|
testFooBoxIsTrue("traitAddsFunctionsToClass.kt");
|
||||||
@@ -38,4 +33,10 @@ public final class TraitTest extends AbstractClassTest {
|
|||||||
public void example() throws Exception {
|
public void example() throws Exception {
|
||||||
testFooBoxIsTrue("example.kt");
|
testFooBoxIsTrue("example.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void traitExtendsTrait() throws Exception {
|
||||||
|
testFooBoxIsTrue("traitExtendsTrait.kt");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import org.mozilla.javascript.NativeObject;
|
|||||||
import org.mozilla.javascript.Scriptable;
|
import org.mozilla.javascript.Scriptable;
|
||||||
|
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@@ -20,6 +21,7 @@ public abstract class TranslationTest {
|
|||||||
final protected static String TEST_FILES = "testFiles/";
|
final protected static String TEST_FILES = "testFiles/";
|
||||||
final private static String CASES = "cases/";
|
final private static String CASES = "cases/";
|
||||||
final private static String OUT = "out/";
|
final private static String OUT = "out/";
|
||||||
|
final private String KOTLIN_JS_LIB = TEST_FILES + "kotlin_lib.js";
|
||||||
|
|
||||||
protected String testFilesDirectory;
|
protected String testFilesDirectory;
|
||||||
protected String testCasesDirectory;
|
protected String testCasesDirectory;
|
||||||
@@ -34,6 +36,10 @@ public abstract class TranslationTest {
|
|||||||
|
|
||||||
protected abstract String mainDirectory();
|
protected abstract String mainDirectory();
|
||||||
|
|
||||||
|
protected String kotlinLibraryPath() {
|
||||||
|
return KOTLIN_JS_LIB;
|
||||||
|
}
|
||||||
|
|
||||||
private String getOutputDirectory() {
|
private String getOutputDirectory() {
|
||||||
return testFilesDirectory + outputDirectory;
|
return testFilesDirectory + outputDirectory;
|
||||||
}
|
}
|
||||||
@@ -48,9 +54,11 @@ public abstract class TranslationTest {
|
|||||||
args.src = getInputFilePath(filename);
|
args.src = getInputFilePath(filename);
|
||||||
args.outputDir = getOutputFilePath(filename);
|
args.outputDir = getOutputFilePath(filename);
|
||||||
K2JSTranslator.translate(args);
|
K2JSTranslator.translate(args);
|
||||||
runWithRhino(args.outputDir, namespaceName, functionName, expectedResult);
|
runWithRhino(generateFilenameList(args.outputDir), namespaceName, functionName, expectedResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
abstract protected List<String> generateFilenameList(String inputfile);
|
||||||
|
|
||||||
private String getOutputFilePath(String filename) {
|
private String getOutputFilePath(String filename) {
|
||||||
return getOutputDirectory() + convertToDotJsFile(filename);
|
return getOutputDirectory() + convertToDotJsFile(filename);
|
||||||
}
|
}
|
||||||
@@ -63,22 +71,24 @@ public abstract class TranslationTest {
|
|||||||
return getInputDirectory() + filename;
|
return getInputDirectory() + filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void runWithRhino(String inputFile, String namespaceName,
|
protected void runFileWithRhino(String inputFile, Context context, Scriptable scope) throws Exception {
|
||||||
|
FileReader reader = new FileReader(inputFile);
|
||||||
|
context.evaluateReader(scope, reader, inputFile, 1, null);
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void runWithRhino(List<String> filenames, String namespaceName,
|
||||||
String functionName, Object expectedResult) throws Exception {
|
String functionName, Object expectedResult) throws Exception {
|
||||||
Context cx = Context.enter();
|
Context cx = Context.enter();
|
||||||
FileReader reader = new FileReader(inputFile);
|
Scriptable scope = cx.initStandardObjects();
|
||||||
try {
|
for (String filename : filenames) {
|
||||||
Scriptable scope = cx.initStandardObjects();
|
runFileWithRhino(filename, cx, scope);
|
||||||
cx.evaluateReader(scope, reader, "test case", 1, null);
|
|
||||||
Object result = extractAndCallFunctionObject(namespaceName, functionName, cx, scope);
|
|
||||||
assertTrue("Result is not what expected!", result.equals(expectedResult));
|
|
||||||
String report = namespaceName + "." + functionName + "() = " + Context.toString(result);
|
|
||||||
System.out.println(report);
|
|
||||||
|
|
||||||
} finally {
|
|
||||||
Context.exit();
|
|
||||||
reader.close();
|
|
||||||
}
|
}
|
||||||
|
Object result = extractAndCallFunctionObject(namespaceName, functionName, cx, scope);
|
||||||
|
assertTrue("Result is not what expected!", result.equals(expectedResult));
|
||||||
|
String report = namespaceName + "." + functionName + "() = " + Context.toString(result);
|
||||||
|
System.out.println(report);
|
||||||
|
Context.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Object extractAndCallFunctionObject(String namespaceName, String functionName,
|
protected Object extractAndCallFunctionObject(String namespaceName, String functionName,
|
||||||
|
|||||||
@@ -10,13 +10,6 @@ var emptyFunction = function() {}
|
|||||||
|
|
||||||
var Class = (function() {
|
var Class = (function() {
|
||||||
|
|
||||||
var IS_DONTENUM_BUGGY = (function(){
|
|
||||||
for (var p in { toString: 1 }) {
|
|
||||||
if (p === 'toString') return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
})();
|
|
||||||
|
|
||||||
function subclass() {};
|
function subclass() {};
|
||||||
function create() {
|
function create() {
|
||||||
var parent = null, properties = $A(arguments);
|
var parent = null, properties = $A(arguments);
|
||||||
@@ -43,10 +36,8 @@ var Class = (function() {
|
|||||||
klass.addMethods(
|
klass.addMethods(
|
||||||
{
|
{
|
||||||
'super_init' : function () {
|
'super_init' : function () {
|
||||||
//if (this.initializing != null) {
|
this.initializing = this.initializing.superclass;
|
||||||
this.initializing = this.initializing.superclass;
|
this.initializing.prototype.initialize.apply(this, arguments)
|
||||||
this.initializing.prototype.initialize.apply(this, arguments)
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -65,12 +56,6 @@ var Class = (function() {
|
|||||||
var ancestor = this.superclass && this.superclass.prototype,
|
var ancestor = this.superclass && this.superclass.prototype,
|
||||||
properties = Object.keys(source);
|
properties = Object.keys(source);
|
||||||
|
|
||||||
if (IS_DONTENUM_BUGGY) {
|
|
||||||
if (source.toString != Object.prototype.toString)
|
|
||||||
properties.push("toString");
|
|
||||||
if (source.valueOf != Object.prototype.valueOf)
|
|
||||||
properties.push("valueOf");
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0, length = properties.length; i < length; i++) {
|
for (var i = 0, length = properties.length; i < length; i++) {
|
||||||
var property = properties[i], value = source[property];
|
var property = properties[i], value = source[property];
|
||||||
@@ -81,8 +66,8 @@ var Class = (function() {
|
|||||||
return function() { return ancestor[m].apply(this, arguments); };
|
return function() { return ancestor[m].apply(this, arguments); };
|
||||||
})(property).wrap(method);
|
})(property).wrap(method);
|
||||||
|
|
||||||
value.valueOf = method.valueOf.bind(method);
|
// value.valueOf = method.valueOf.bind(method);
|
||||||
value.toString = method.toString.bind(method);
|
// value.toString = method.toString.bind(method);
|
||||||
}
|
}
|
||||||
this.prototype[property] = value;
|
this.prototype[property] = value;
|
||||||
}
|
}
|
||||||
@@ -98,6 +83,17 @@ var Class = (function() {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
var Trait = (function() {
|
||||||
|
|
||||||
|
function create() {
|
||||||
|
return new Class.create(arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
create: create
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
var _toString = Object.prototype.toString,
|
var _toString = Object.prototype.toString,
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
namespace foo
|
|
||||||
|
|
||||||
trait Test {
|
|
||||||
fun addFoo(s:String) : String {
|
|
||||||
return s + "FOO"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun box() = true
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
namespace foo
|
||||||
|
|
||||||
|
trait Test {
|
||||||
|
fun addFoo(s:String) : String {
|
||||||
|
return s + "FOO"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
trait ExtendedTest : Test {
|
||||||
|
fun hooray() : String {
|
||||||
|
return "hooray"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class A() : ExtendedTest {
|
||||||
|
fun eval() : String {
|
||||||
|
return addFoo(hooray());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box() = (A().eval() == "hoorayFOO")
|
||||||
Reference in New Issue
Block a user