aboutsummaryrefslogblamecommitdiff
path: root/src/test/scala/scala/async/neg/LocalClasses0Spec.scala
blob: dcd9bb8c41f011adfcd1a125c21353e7eebe3cb9 (plain) (tree)
1
2
3
4
5
6
7



                                                             


                   





                               
       





                                             


       










                                                  
   
 
/*
 * Copyright (C) 2012 Typesafe Inc. <http://www.typesafe.com>
 */

package scala.async
package neg

import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.junit.Test

@RunWith(classOf[JUnit4])
class LocalClasses0Spec {
  @Test
  def localClassCrashIssue16() {
    import scala.async.AsyncId.{async, await}
    async {
      class B { def f = 1 }
      await(new B()).f
    } mustBe 1
  }

  @Test
  def nestedCaseClassAndModuleAllowed() {
    import AsyncId.{await, async}
    async {
      trait Base { def base = 0}
      await(0)
      case class Person(name: String) extends Base
      val fut = async { "bob" }
      val x = Person(await(fut))
      x.base
      x.name
    } mustBe "bob"
  }
}