Refactored tests a bit. Working on KotlinLibTest

This commit is contained in:
Pavel Talanov
2011-11-16 16:09:50 +04:00
parent 978d827630
commit dcb7b3264c
10 changed files with 264 additions and 249 deletions
+151 -163
View File
@@ -6,10 +6,16 @@
</component>
<component name="ChangeListManager">
<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$/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/TranslationTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java" />
</list>
<ignored path="k2js.iws" />
<ignored path=".idea/workspace.xml" />
@@ -60,7 +66,7 @@
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</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="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
@@ -113,29 +119,22 @@
<favorites_list name="k2js" />
</component>
<component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.5164286">
<splitter split-orientation="horizontal" split-proportion="0.55857146">
<split-first>
<leaf>
<file leaf-file-name="traitAddsFunctionsToClass.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitAddsFunctionsToClass.js">
<file leaf-file-name="KotlinLibTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java">
<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 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>
</file>
<file leaf-file-name="ClassTranslator.java" pinned="false" current="false" current-in-tab="false">
<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>
</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">
<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/ExpressionVisitor.java">
<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 />
@@ -143,37 +142,48 @@
</provider>
</entry>
</file>
<file leaf-file-name="classDerivesFromTraitAndClass.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/classDerivesFromTraitAndClass.js">
<file leaf-file-name="BasicClassTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
<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 />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="example.kt" pinned="false" current="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/cases/example.kt">
<file leaf-file-name="AbstractClassTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java">
<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 />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="BindingUtils.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java">
<file leaf-file-name="ExpressionTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExpressionTest.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">
<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 />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="customSetter.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customSetter.js">
<file leaf-file-name="TranslationTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
<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 />
</state>
</provider>
@@ -200,7 +210,7 @@
<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">
<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 />
</state>
</provider>
@@ -210,8 +220,26 @@
</split-first>
<split-second>
<leaf>
<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/ExpressionVisitor.java">
<file leaf-file-name="traitExtendsTrait.kt" pinned="false" current="false" current-in-tab="false">
<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">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
@@ -219,37 +247,19 @@
</provider>
</entry>
</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">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
<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>
</file>
<file leaf-file-name="simpleInitializer.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/simpleInitializer.js">
<file leaf-file-name="PropertyAccessorTest.java" pinned="false" current="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
<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 />
</state>
</provider>
@@ -321,22 +331,22 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<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/out/traitCompiles.js" />
<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/ClassTranslator.java" />
<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/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>
</option>
</component>
@@ -428,32 +438,6 @@
<option name="myItemId" value="trait" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</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_ELEMENT>
@@ -1094,7 +1078,7 @@
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
<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="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
<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="SHOW_FILE_HISTORY_AS_TREE" value="false" />
<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 string constant support." />
<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 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="Added suppoer for null literal and a test for Traits." />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
@@ -1141,69 +1125,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<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">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
@@ -1211,9 +1132,9 @@
</state>
</provider>
</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">
<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 />
</state>
</provider>
@@ -1225,30 +1146,97 @@
</state>
</provider>
</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">
<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 />
</state>
</provider>
</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">
<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 />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
<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 />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
<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 />
</state>
</provider>
@@ -1,41 +1,16 @@
package org.jetbrains.k2js.test;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
import java.io.FileReader;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.List;
/**
* @author Talanov Pavel
*/
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
protected void runWithRhino(String inputFile, String namespaceName,
String functionName, Object expectedResult) throws Exception {
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();
protected List<String> generateFilenameList(String inputFile) {
return Arrays.asList(kotlinLibraryPath(), inputFile);
}
}
@@ -1,8 +1,6 @@
package org.jetbrains.k2js.test;
import org.junit.Test;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
/**
* @author Talanov Pavel
@@ -16,14 +14,6 @@ public class BasicClassTest extends AbstractClassTest {
return MAIN;
}
@Test
public void kotlinJsLibRunsWithRhino() throws Exception {
Context context = Context.enter();
Scriptable scope = context.initStandardObjects();
runFileWithRhino(kotlinLibraryPath(), context, scope);
Context.exit();
}
@Test
public void classInstantiation() throws Exception {
testFooBoxIsTrue("classInstantiation.kt");
@@ -2,6 +2,9 @@ package org.jetbrains.k2js.test;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
/**
* @author Talanov Pavel
* <p/>
@@ -16,6 +19,11 @@ public final class ExpressionTest extends TranslationTest {
return MAIN;
}
@Override
protected List<String> generateFilenameList(String inputFile) {
return Arrays.asList(inputFile);
}
@Test
public void currentTest() throws Exception {
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;
}
@Test
public void traitCompiles() throws Exception {
testFooBoxIsTrue("traitCompiles.kt");
}
@Test
public void traitAddsFunctionsToClass() throws Exception {
testFooBoxIsTrue("traitAddsFunctionsToClass.kt");
@@ -38,4 +33,10 @@ public final class TraitTest extends AbstractClassTest {
public void example() throws Exception {
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 java.io.FileReader;
import java.util.List;
import static org.junit.Assert.assertTrue;
@@ -20,6 +21,7 @@ public abstract class TranslationTest {
final protected static String TEST_FILES = "testFiles/";
final private static String CASES = "cases/";
final private static String OUT = "out/";
final private String KOTLIN_JS_LIB = TEST_FILES + "kotlin_lib.js";
protected String testFilesDirectory;
protected String testCasesDirectory;
@@ -34,6 +36,10 @@ public abstract class TranslationTest {
protected abstract String mainDirectory();
protected String kotlinLibraryPath() {
return KOTLIN_JS_LIB;
}
private String getOutputDirectory() {
return testFilesDirectory + outputDirectory;
}
@@ -48,9 +54,11 @@ public abstract class TranslationTest {
args.src = getInputFilePath(filename);
args.outputDir = getOutputFilePath(filename);
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) {
return getOutputDirectory() + convertToDotJsFile(filename);
}
@@ -63,22 +71,24 @@ public abstract class TranslationTest {
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 {
Context cx = Context.enter();
FileReader reader = new FileReader(inputFile);
try {
Scriptable scope = cx.initStandardObjects();
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();
Scriptable scope = cx.initStandardObjects();
for (String filename : filenames) {
runFileWithRhino(filename, 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();
}
protected Object extractAndCallFunctionObject(String namespaceName, String functionName,
+15 -19
View File
@@ -10,13 +10,6 @@ var emptyFunction = 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 create() {
var parent = null, properties = $A(arguments);
@@ -43,10 +36,8 @@ var Class = (function() {
klass.addMethods(
{
'super_init' : function () {
//if (this.initializing != null) {
this.initializing = this.initializing.superclass;
this.initializing.prototype.initialize.apply(this, arguments)
// }
this.initializing = this.initializing.superclass;
this.initializing.prototype.initialize.apply(this, arguments)
}
});
}
@@ -65,12 +56,6 @@ var Class = (function() {
var ancestor = this.superclass && this.superclass.prototype,
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++) {
var property = properties[i], value = source[property];
@@ -81,8 +66,8 @@ var Class = (function() {
return function() { return ancestor[m].apply(this, arguments); };
})(property).wrap(method);
value.valueOf = method.valueOf.bind(method);
value.toString = method.toString.bind(method);
// value.valueOf = method.valueOf.bind(method);
// value.toString = method.toString.bind(method);
}
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() {
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")