Testing HDF set and dump

Foo.Bar = 10
Foo.Baz = 20

Testing HDF get

10
20
----
Testing HDF setSymLink

20
----
Testing HDF get where default value is null

foo = 10
foo = null
----
Testing HDF get int

10
----
Testing HDF parse/render

Foo.Bar:<?cs var:Foo.Bar ?>
Foo.Baz:<?cs var:Foo.Baz ?>

----
Foo.Bar:10
Foo.Baz:20

Testing registered string functions

Foo.Bar:10
Foo.Baz:20
 abc%26+231%3C%3E%2F%3F abc&amp; 231&lt;&gt;/?
Testing white space stripping

      10 This is a       string     without whitespace stripped
  10 This is a string without whitespace stripped
Testing debug dump

  10 This is a string without whitespace stripped<hr><pre>Foo.Bar = 10
Foo.Baz = 20
Foo.Baz2 : Foo.Baz
Foo.EscapeTest = abc& 231<>/?
ClearSilver.WhiteSpaceStrip = 1
ClearSilver.DisplayDebug = 1
</pre>
Final HDF dump

Foo.Bar = 10
Foo.Baz = 20
Foo.Baz2 : Foo.Baz
Foo.EscapeTest = abc& 231<>/?
ClearSilver.WhiteSpaceStrip = 1
ClearSilver.DisplayDebug = 1

Testing HDF.readFile()

Foo.Bar = 10
Foo.Baz = 20

Testing HDF.readFile() for a file that doesn't exist
Caught exception of type java.io.FileNotFoundException

Testing HDF.writeFile()

Testing HDF.writeString()

Foo {
Bar = 10
Baz = 20
}

Testing HDF.getObj()
Bar = 10
Baz = 20

Testing HDF.objName()
Should be "Foo": Foo
Should be "Bar": Bar
Should be null: null

Testing HDF.objValue()
Value of Foo.Bar: 10
Value of root node: null

Testing HDF.objChild()
First child name: Bar

Testing HDF.objNext()
Next child name: Baz
Next child (should be null): null

Testing HDF.copy()
name should be barneyb: barneyb

Testing HDF.exportDate()
DatePST.sec = 18
DatePST.min = 50
DatePST.24hour = 19
DatePST.hour = 7
DatePST.am = 0
DatePST.mday = 13
DatePST.mon = 3
DatePST.year = 2006
DatePST.2yr = 06
DatePST.wday = 2
DatePST.tzoffset = -0800
DateEST.sec = 18
DateEST.min = 50
DateEST.24hour = 22
DateEST.hour = 10
DateEST.am = 0
DateEST.mday = 13
DateEST.mon = 3
DateEST.year = 2006
DateEST.2yr = 06
DateEST.wday = 2
DateEST.tzoffset = -0500

Testing escape mode: html
Config.VarEscapeMode = "html"
Some.HTML = <script src="some.js">alert('123');</script>
Default HTML escaping: <?cs var:Some.HTML ?>

----
Default HTML escaping: &lt;script src=&quot;some.js&quot;&gt;alert(&#39;123&#39;);&lt;/script&gt;

Testing escape mode: js
Config.VarEscapeMode = "js"
Some.HTML = <script src="some.js">alert('123');</script>
Default JS escaping: <?cs var:Some.HTML ?>

----
Default JS escaping: \x3Cscript src=\x22some.js\x22\x3Ealert(\x27123\x27)\x3B\x3C\x2Fscript\x3E

Testing escape mode: url
Config.VarEscapeMode = "url"
Some.HTML = <script src="some.js">alert('123');</script>
Default URL escaping: <?cs var:Some.HTML ?>

----
Default URL escaping: %3Cscript+src%3D%22some.js%22%3Ealert(%27123%27)%3B%3C%2Fscript%3E

Testing escape blocks: none
Config.VarEscapeMode = "none"
Some.HTML = <script src="some.js">alert('123');</script>
url escape block: 
<?cs escape: "url"?>  <?cs var:Some.HTML ?><?cs /escape ?>
js escape block: 
<?cs escape: "js"?>  <?cs var:Some.HTML ?><?cs /escape ?>
html escape block: 
<?cs escape: "html"?>  <?cs var:Some.HTML ?><?cs /escape ?>

----
url escape block: 
  %3Cscript+src%3D%22some.js%22%3Ealert(%27123%27)%3B%3C%2Fscript%3E
js escape block: 
  \x3Cscript src=\x22some.js\x22\x3Ealert(\x27123\x27)\x3B\x3C\x2Fscript\x3E
html escape block: 
  &lt;script src=&quot;some.js&quot;&gt;alert(&#39;123&#39;);&lt;/script&gt;

Testing HDF.readFile() with callback

CSTestLoader::Load testdata/test1.hdf

---- file begin ----
# Simple HDF file to test that HDF.readFile() works
Foo.Bar = 10
Foo.Baz = 20

---- file end ----

Foo.Bar = 10
Foo.Baz = 20

Testing CS.parseFile() with callback

CSTestLoader::Load testdata/test.cs

---- file begin ----
Testing CS parse file...

<?cs set:Foo.Frank = "Beans" ?>

<?cs each:f = Foo ?>
  <?cs var:f ?>
<?cs /each ?>

---- file end ----

Testing CS parse file...




  10

  20

  Beans