PageRenderTime 51ms CodeModel.GetById 43ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/scalate-core/src/test/scala/org/fusesource/scalate/scuery/ReplaceTest.scala

http://github.com/scalate/scalate
Scala | 50 lines | 27 code | 6 blank | 17 comment | 0 complexity | 5f1e6fbb7d4dd6d22b0a778cf4fb5d78 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.scuery
19
20import _root_.org.fusesource.scalate.FunSuiteSupport
21
22class ReplaceTest extends FunSuiteSupport {
23  val xml = <html>
24              <body>
25                <div id="content">
26                  <a href="#" class="foo" title="A link">Some Link</a>
27                </div>
28              </body>
29            </html>
30
31  test(" transform") {
32    object transformer extends Transformer {
33      $("a.foo") {
34        n =>
35          <a href="http://scalate.fusesource.org/" class={ n \ "@class" } title={ n \ "@title" }>
36            { n.text }
37          </a>
38      }
39    }
40
41    val result = transformer(xml)
42
43    debug("got result: " + result)
44
45    val a = (result \\ "a")(0)
46    assertResult("http://scalate.fusesource.org/") { (a \ "@href").toString }
47    assertResult("foo") { (a \ "@class").toString }
48    assertResult("A link") { (a \ "@title").toString }
49  }
50}