|
Play Framework/Scala example source code file (ThreadsSpec.scala)
The ThreadsSpec.scala Play Framework example source code
/*
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
*/
package play.core.utils
import util.control.Exception._
import org.specs2.mutable.Specification
import play.utils.Threads
object ThreadsSpec extends Specification {
"Threads" should {
"restore the correct class loader" in {
"if the block returns successfully" in {
val currentCl = Thread.currentThread.getContextClassLoader
Threads.withContextClassLoader(testClassLoader) {
Thread.currentThread.getContextClassLoader must be equalTo testClassLoader
"a string"
} must be equalTo "a string"
Thread.currentThread.getContextClassLoader must be equalTo currentCl
}
"if the block throws an exception" in {
val currentCl = Thread.currentThread.getContextClassLoader
(catching(classOf[RuntimeException]) opt Threads.withContextClassLoader(testClassLoader) {
Thread.currentThread.getContextClassLoader must be equalTo testClassLoader
throw new RuntimeException("Uh oh")
}) must beNone
Thread.currentThread.getContextClassLoader must be equalTo currentCl
}
}
}
val testClassLoader = new ClassLoader(){}
}
Other Play Framework source code examplesHere is a short list of links related to this Play Framework ThreadsSpec.scala source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.