======== #1 ========

  line.1
  line.2
  line.3
  line.4

======== #2 ========

  1
  2
  3
  4
  5
  6
  7
  8
  9
  10

======== #3 ========

hello
gura

world

hello world
hello world
hello 1,2,3,4,5,6,7,8,9,10, world
hello 1
2
3
4
5
6
7
8
9
10 world
foobar
foobar
foobar

======== #4 ========

[Companies]
    Company: Gura company
    Company: Guri corporation
    Company: (not defined)
[Products]
- apple
- grape
- orange
[Companies]
    Company: Gura company
    Company: Guri corporation
    Company: (not defined)
[Products]
- apple
- grape
- orange

======== #5 ========

    1 is less than five
    2 is less than five
    3 is less than five
    4 is less than five
    5 is less than eight
    6 is less than eight
    7 is less than eight
    8 is greater or equal to eight
    9 is greater or equal to eight
    10 is greater or equal to eight

======== #6 ========

̃eXg XNvg

======== #7 ========

Company: hoge
[Products]
- apple
- grape
- orange
(not defined)
[Products]
- car
- bicycle
- boat

======== #8 ========

** auto-indent **
space 1
 embedded #1 line
 embedded #2 line
 embedded #3 line
 embedded #4 line
space 2
  embedded #1 line
  embedded #2 line
  embedded #3 line
  embedded #4 line
space 3
   embedded #1 line
   embedded #2 line
   embedded #3 line
   embedded #4 line
space 4
    embedded #1 line
    embedded #2 line
    embedded #3 line
    embedded #4 line
tab 1
	embedded #1 line
	embedded #2 line
	embedded #3 line
	embedded #4 line
tab 2
		embedded #1 line
		embedded #2 line
		embedded #3 line
		embedded #4 line
not line top:  embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
space 1
 embedded #1 line
 embedded #2 line
 embedded #3 line
 embedded #4 line
space 2
  embedded #1 line
  embedded #2 line
  embedded #3 line
  embedded #4 line
space 3
   embedded #1 line
   embedded #2 line
   embedded #3 line
   embedded #4 line
space 4
    embedded #1 line
    embedded #2 line
    embedded #3 line
    embedded #4 line
tab 1
	embedded #1 line
	embedded #2 line
	embedded #3 line
	embedded #4 line
tab 2
		embedded #1 line
		embedded #2 line
		embedded #3 line
		embedded #4 line
not line top:  embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
** append last-eol **
space 1
 embedded #1 line
 embedded #2 line
 embedded #3 line
 embedded #4 line

space 2
  embedded #1 line
  embedded #2 line
  embedded #3 line
  embedded #4 line

space 3
   embedded #1 line
   embedded #2 line
   embedded #3 line
   embedded #4 line

space 4
    embedded #1 line
    embedded #2 line
    embedded #3 line
    embedded #4 line

tab 1
	embedded #1 line
	embedded #2 line
	embedded #3 line
	embedded #4 line

tab 2
		embedded #1 line
		embedded #2 line
		embedded #3 line
		embedded #4 line

not line top:  embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

** no-indent **
space 1
 embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
space 2
  embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
space 3
   embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
space 4
    embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
tab 1
	embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
tab 2
		embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
not line top:  embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line
** no-indent, append last-eol **
space 1
 embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

space 2
  embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

space 3
   embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

space 4
    embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

tab 1
	embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

tab 2
		embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

not line top:  embedded #1 line
embedded #2 line
embedded #3 line
embedded #4 line

space 1
 single string
space 2
  single string
space 3
   single string
space 4
    single string
tab 1
	single string
tab 2
		single string
not line top:  single string

======== #9 ========

expected error occurs: ValueError: undefined symbol 'hoge'

======== #10 ========

'hello ${format("%d", 0..10).join(",")}'.template().render() .. hello 0,1,2,3,4,5,6,7,8,9,10

======== #11 ========

'hello ${var} world'.template().render() .. hello HOGE world
'hello ${var * 2} world'.template().render() .. hello HOGEHOGE world
"hello '${format('%8s', var)}' world".template().render() .. hello '    HOGE' world
'hello ${var} world'.template().render() .. hello 3.14 world

======== #12 ========

'${nil}'.template().render() .. 
'${-}'.template().render() .. 
'${3}'.template().render() .. 3
'${"hello"}'.template().render() .. hello
'${["first", "second", "third"]}'.template().render() .. firstsecondthird
expected error occurs: TypeError: template script must return nil, string or number

======== #13 ========

10
10
hello world
    B
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
hoge

    hoge 1
    hoge 2
    hoge 3
    hoge 4
    hoge 5
    hoge 6
    hoge 7
    hoge 8
    hoge 9
    hoge 10


======== #14 test of inheritance ========

inherit from base1
=== base1-head ===
<start-of-body>
base1-body
<end-of-body>
inherit from base2
=== base2-head ===
<start-of-body>
<end-of-body>
inherit from base3
=== base3-head ===
<start-of-body>
base3-body
<end-of-body>

======== #15 test of scope ========

expected error occurs: ValueError: undefined symbol 'value'
hoge
hoge-inside
hoge-inside-inside

======== #16 ========

<h2>Member List</h2>
<p>number of people: 3</p>

<table>
  <tr><th>No</th><th>Name</th><th>Age</th></tr>
  <tr><td>1</td><td>Yamada</td><td>23</td></tr>
  <tr><td>2</td><td>Honda</td><td>21</td></tr>
  <tr><td>3</td><td>Tanaka</td><td>24</td></tr>
</table>

<table>
  <tr><th>No</th><th>Name</th><th>Age</th></tr>
  <tr><td>1</td><td>Yamada</td><td>23</td></tr>
  <tr><td>2</td><td>Honda</td><td>21</td></tr>
  <tr><td>3</td><td>Tanaka</td><td>24</td></tr>
</table>

<table>
  <tr><th>No</th><th>Name</th><th>Age</th></tr>
  <tr><td>1</td><td>Yamada</td><td>23</td></tr>
  <tr><td>2</td><td>Honda</td><td>21</td></tr>
  <tr><td>3</td><td>Tanaka</td><td>24</td></tr>
</table>

======== #17 test of comment ========

1st line
2nd line
3rd line
4th line
5th line
6th line
7th line
8th line
9th line
10th line
11th line

======== #18 test of embed ========

embed tmpl1
This is a rendering result of tmpl1
embed tmpl2
This is a rendering result of tmpl2
embed tmpl3
This is a rendering result of tmpl3

======== #19 test of local variable in embed ========

x = body
embed tmpl
x = embed
x = body

======== #20 test of detecting duplicated symbol ========

expected error occurs: KeyError: duplicated symbol: hoge1

======== #21 test of inheritance ========

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link rel="stylesheet" href="style.css" />
    <title>Index - My Webpage</title>
    <style type="text/css">
        .important { color: #336699; }
    </style>
</head>
<body>
    <div id="content">
    <h1>Index</h1>
    <p class="important">
      Welcome on my awesome homepage.
    </p>
    </div>
    <div id="footer">
        &copy; Copyright 2008 by <a href="http://domain.invalid/">you</a>.
    </div>
</body>

======== #22 test of inheritance and loop ========

<html>
<body>
  <ul>
    <li><a href="iwai_michiko@example.com">Iwai Michiko</a></li>
    <li><a href="kasai_satoshi@example.com">Kasai Satoshi</a></li>
    <li><a href="shima_masashi@example.com">Shima Masashi</a></li>
    <li><a href="suenaga_rena@example.com">Suenaga Rena</a></li>
    <li><a href="yokokawa_fumiyo@example.com">Yokokawa Fumiyo</a></li>
    <li><a href="yamanaka_mayuko@example.com">Yamanaka Mayuko</a></li>
  </ul>
</body>
</html>

======== #23 marker handling ========

$
$$
$$$
$$$$
$$$$$
$$$$$$
$abc
$0
hoge
$hoge
$$hoge
$$$hoge
hoge$
hoge$$

======== #24 define and call ========

Harry is 24 years old.

[17.5]

======== #25 macro and line-break ========

EmptyHere
NoLineBreakGuraHere
NoLineBreakGuraHere
LineBreakGura
Here
LineBreakGura
Here
Macro:Gura
Next Line
