You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@toree.apache.org by ch...@apache.org on 2016/09/27 17:23:44 UTC
[5/8] incubator-toree git commit: Added test for is_complete using
the kernel tester.
Added test for is_complete using the kernel tester.
Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/e21c2d4f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/e21c2d4f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/e21c2d4f
Branch: refs/heads/master
Commit: e21c2d4ffbb466beb1782ceef4fe2c396910fcde
Parents: 7782dfa
Author: Marius Van Niekerk <mn...@vm179.corp.maxpointinteractive.com>
Authored: Tue Sep 20 19:09:02 2016 -0400
Committer: Marius van Niekerk <ma...@gmail.com>
Committed: Tue Sep 27 12:52:08 2016 -0400
----------------------------------------------------------------------
.../scala/ScalaInterpreterSpecific.scala | 22 ++++++++++++--------
test_toree.py | 18 ++++++++++++++++
2 files changed, 31 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/e21c2d4f/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 2f34918..dd7adbe 100644
--- a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -325,16 +325,20 @@ trait ScalaInterpreterSpecific extends SettingsProducerLike { this: ScalaInterpr
* @return tuple of (completeStatus, indent)
*/
override def isComplete(code: String): (String, String) = {
- val parse = iMain.parse
- parse(code) match {
- case t: parse.Error => ("invalid", "")
- case t: parse.Success => ("complete", "")
- case t: parse.Incomplete =>
- val lastLine = code.split("\n").last
- // For now lets just grab the indent of the current line, if none default to 2 spaces.
- val indent = "\\s+".r.findFirstIn(lastLine).getOrElse(" ")
- ("incomplete", indent)
+ val result = doQuietly {
+ val parse = iMain.parse
+ parse(code) match {
+ case t: parse.Error => ("invalid", "")
+ case t: parse.Success => ("complete", "")
+ case t: parse.Incomplete =>
+ val lastLine = code.split("\n").last
+ // For now lets just grab the indent of the current line, if none default to 2 spaces.
+ val indent = "\\s+".r.findFirstIn(lastLine).getOrElse(" ")
+ ("incomplete", indent)
+ }
}
+ lastResultOut.reset()
+ result
}
override def newSettings(args: List[String]): Settings = {
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/e21c2d4f/test_toree.py
----------------------------------------------------------------------
diff --git a/test_toree.py b/test_toree.py
index d10a0f7..2e25324 100644
--- a/test_toree.py
+++ b/test_toree.py
@@ -39,6 +39,24 @@ class ToreeScalaKernelTests(jupyter_kernel_test.KernelTests):
{'code': '%showtypes off\n1', 'result': '1'}
]
+ complete_samples = [
+ "6 * 7",
+ "case class Foo(bar: Int)",
+ """def f(x: Int) = {
+ x + 8
+ }""",
+ ]
+
+ incomplete_samples = [
+ "case class Foo(bar: ",
+ "6 * ",
+ ]
+
+ invalid_code_samples = [
+ "case class Foo(bar)",
+ "* 6",
+ ]
+
test_statements_stdout = [
{'code': '%AddJar http://0.0.0.0:8000/TestJar.jar\nimport com.ibm.testjar.TestClass\nprintln(new TestClass().sayHello("Person"))', 'result': 'Hello, Person\n'}
]