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