A templating language that looks like Lisp and compiles to HTML
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324
  1. const test = require("tape")
  2. const Compiler = require("../src/compiler")
  3. const Lexer = require("../src/lexer")
  4. const Node = require("../src/node")
  5. const Parser = require("../src/parser")
  6. const tt = require("../src/tokenTypes")
  7. test("compiles a simple template", t => {
  8. t.plan(1)
  9. const lexer = new Lexer()
  10. const tokenStream = lexer.scan(`
  11. (div :class "foobar"
  12. (p :class "bazquux" "Lorem ipsum dolor sit amet."))
  13. `)
  14. const parser = new Parser(tokenStream)
  15. const tree = parser.parse()
  16. const compiler = new Compiler(tree)
  17. const result = compiler.compile()
  18. t.deepEqual(
  19. result.replace(/\n/g, '').replace(/ +/g, ''),
  20. '<div class="foobar"><p class="bazquux">Lorem ipsum dolor sit amet.</p></div>'
  21. )
  22. })