PageRenderTime 17ms CodeModel.GetById 13ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/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 */
18package org.fusesource.scalate
19package mustache
20
21import java.io.File
22import layout.DefaultLayoutStrategy
23
24/**
25 * @version $Revision: 1.1 $
26 */
27class LayoutTest extends TemplateTestSupport {
28
29  val expected = """<html>
30<head>
31  <!-- mylayout -->
32<title>My Foo Title</title>
33</head>
34<body>
35  <div id="header"></div>
36  <div id="content">
37  <h1>Some Foo</h1><p>This is some text</p>
38  </div>
39  <div id="footer"></div>
40</body>
41</html>"""
42
43  showOutput = false
44
45  test("use mustache layouts of html templates") {
46    val output = engine.layout("sample.mustache")
47
48    if (showOutput) {
49      log.info("Generated: ")
50      log.info(output)
51    }
52
53    assertResult(expected) {
54      output
55    }
56  }
57
58  override protected def createTemplateEngine = {
59    debug("Using rootDir: %s", rootDir)
60    val engine = new TemplateEngine(Some(rootDir))
61    engine.layoutStrategy = new DefaultLayoutStrategy(engine, "mylayout.mustache")
62    engine
63  }
64
65  def rootDir = new File(baseDir, "src/test/resources/org/fusesource/scalate/mustache")
66
67}