/scalate-core/src/test/scala/org/fusesource/scalate/mustache/LayoutTest.scala

http://github.com/scalate/scalate · Scala · 67 lines · 37 code · 10 blank · 20 comment · 1 complexity · fd97d9178c9ba3931ed0a1d8de45d855 MD5 · raw file

  1. /**
  2. * Copyright (C) 2009-2011 the original author or authors.
  3. * See the notice.md file distributed with this work for additional
  4. * information regarding copyright ownership.
  5. *
  6. * Licensed under the Apache License, Version 2.0 (the "License");
  7. * you may not use this file except in compliance with the License.
  8. * You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. package org.fusesource.scalate
  19. package mustache
  20. import java.io.File
  21. import layout.DefaultLayoutStrategy
  22. /**
  23. * @version $Revision: 1.1 $
  24. */
  25. class LayoutTest extends TemplateTestSupport {
  26. val expected = """<html>
  27. <head>
  28. <!-- mylayout -->
  29. <title>My Foo Title</title>
  30. </head>
  31. <body>
  32. <div id="header"></div>
  33. <div id="content">
  34. <h1>Some Foo</h1><p>This is some text</p>
  35. </div>
  36. <div id="footer"></div>
  37. </body>
  38. </html>"""
  39. showOutput = false
  40. test("use mustache layouts of html templates") {
  41. val output = engine.layout("sample.mustache")
  42. if (showOutput) {
  43. log.info("Generated: ")
  44. log.info(output)
  45. }
  46. assertResult(expected) {
  47. output
  48. }
  49. }
  50. override protected def createTemplateEngine = {
  51. debug("Using rootDir: %s", rootDir)
  52. val engine = new TemplateEngine(Some(rootDir))
  53. engine.layoutStrategy = new DefaultLayoutStrategy(engine, "mylayout.mustache")
  54. engine
  55. }
  56. def rootDir = new File(baseDir, "src/test/resources/org/fusesource/scalate/mustache")
  57. }