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

   


                   
                     
                                   
 
                         
       
                                
                                 



                           


       










                                                  
   
 
/*
 * Copyright (C) 2012-2014 Lightbend Inc. <http://www.lightbend.com>
 */

package scala.async
package neg

import org.junit.Test
import scala.async.internal.AsyncId

class LocalClasses0Spec {
  @Test
  def localClassCrashIssue16() {
    import 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"
  }
}