|
Play Framework/Scala example source code file (TemplatesSpec.scala)
The TemplatesSpec.scala Play Framework example source code/* * Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com> */ package play.api.templates import org.specs2.mutable._ import play.api.http.Writeable import play.api.libs.iteratee._ import play.api.mvc.Results import play.core.j.JavaResults import play.mvc.{ Results => JResults } import scala.concurrent.Await import scala.concurrent.duration.Duration object TemplatesSpec extends Specification { "toHtmlArgs" should { "escape attribute values" in { PlayMagic.toHtmlArgs(Map('foo -> """bar <>&"'""")).body must_== """foo="bar <>&"'"""" } } "Xml" should { import play.twirl.api.Xml val xml = Xml("\n\t xml") "have body trimmed by implicit Writeable" in { val writeable = implicitly[Writeable[Xml]] string(writeable.transform(xml)) must_== "xml" } "have body trimmed by JavaResults.writeContent" in { val writeable = JavaResults.writeContent(xml.contentType) string(writeable.transform(xml)) must_== "xml" } "have Scala result body trimmed" in { consume(Results.Ok(xml).body) must_== "xml" } "have Java result body trimmed" in { consume(JResults.ok(xml).toScala.body) must_== "xml" } } def string(bytes: Array[Byte]): String = new String(bytes, "UTF-8") def consume(enumerator: Enumerator[Array[Byte]]): String = { string(Await.result(enumerator |>>> Iteratee.consume[Array[Byte]](), Duration(5, "seconds"))) } } Other Play Framework source code examplesHere is a short list of links related to this Play Framework TemplatesSpec.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 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.