summaryrefslogtreecommitdiff
path: root/test/files/jvm/xmlLiterals.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/jvm/xmlLiterals.scala')
-rw-r--r--test/files/jvm/xmlLiterals.scala306
1 files changed, 0 insertions, 306 deletions
diff --git a/test/files/jvm/xmlLiterals.scala b/test/files/jvm/xmlLiterals.scala
deleted file mode 100644
index 3548975fe1..0000000000
--- a/test/files/jvm/xmlLiterals.scala
+++ /dev/null
@@ -1,306 +0,0 @@
-//############################################################################
-// XML Literals
-//############################################################################
-// $Id$
-
-import scala.testing.UnitTest._ ;
-
-import scala.xml._ ;
-import scala.collection.immutable ;
-
-
-object Test {
-
- val e = Node.NoAttributes;
-
- /* a helper function to compare up to whitespace */
-
- def noWS(x:String):String = {
- val res = new StringBuffer();
- var i = 0; while( i < x.length() ) {
- val c = x.charAt( i );
- c match {
- case ' ' | '\n' | '\t' =>
- case _ => res.append( c )
- }
- i = i + 1;
- }
- res.toString();
- }
-
-
- object Test01Literals {
-
-
-
- /* === tags, elements === */
-
- assertEquals( <hello></hello>.toString(),
- <hello ></hello>.toString()); /* ws in tags */
-
- assertEquals( <hello></hello>.toString(),
- noWS(<hello > </hello>.toString()));
-
- val xx3 = <hello>
- <world></world>
- <test/>
- <mars></mars></hello>;
-
- val x3 = xx3.toString(); /* ws in element content */
-
- //Console.println("tmp1:"+x3);
- //Console.println("tmp2:"+Elem(null,"mars",e,TopScope).toString() );
- assertEquals( noWS( x3 ),
- Elem(null,"hello",e,TopScope,
- Elem(null,"world",e,TopScope),
- Elem(null,"test",e,TopScope),
- Elem(null,"mars",e,TopScope)).toString() );
-
-
- Console.println("ws trimming in patterns");
-
- assertEquals( true, <hello> <world/> </hello> match {
- case <hello> <world/> </hello> => true;
- case _ => false;} );
-
-
- /* === attributes === */
-
- val z = <html>
- <body background="#FFFFFF">
- <h1>Hello World</h1>
- <p>Check the <a href="scala.epfl.ch">scala</a> page!</p>
- </body>
- </html>.toString();
-
- assertEquals( noWS( z ), noWS(
- Elem(null,"html",e,TopScope,
- Elem(null,"body",e,TopScope,
- Elem(null,"h1",e,TopScope,Text("Hello World")),
- Elem(null,"p",e,TopScope,Text("Check the "),
- Elem(null,"a", e,TopScope,Text("scala"))
- % (new UnprefixedAttribute("href","scala.epfl.ch",Null)),
- Text("page!"))
- ) % new UnprefixedAttribute("background","#FFFFFF",Null)
- ).toString()
- ));
-
- /* === attributes are Scala expr === */
-
- val testValue = "This is a test.";
- val testValue2 = 42;
- val page = <testTag value={ testValue } ab="bkla" />;
- val page2 = <testTag value={testValue2.toString()} bla="foo"></testTag>;
-
- Console.println( page.toString() );
- Console.println( page2.toString() );
-
- }
-
- object Test02Embed {
-
- /* === embedded Scala blocks === */
-
- def computeDate() = {
- Elem(null,"date", e, TopScope, Text("now!"));
- }
- /* embedding Scala strings as text and elements */
- val sc = <hello>{ "World" }{ Text("42") }{ computeDate() }</hello>;
-
- assertEquals( sc.child.elements.toList,
- List( Text("World"), Text("42"), Elem(null, "date", e,TopScope, Text("now!") ) ) );
-
- assertEquals( sc.toString(),
- Elem(null,"hello",e,TopScope,Text("World42"),Elem(null,"date",e,TopScope, Text("now!"))).toString() );
-
- def foo( m:Node ):String = m match {
- case <hello/> => "hello node"
- case <hallo ></hallo > => "hallo node"
- case <test>{ z }</test> => "test node:"+z
- case <list>{ e1:Node }{ e2:Node }{ _* }</list> => e1.toString() + e2.toString();
- }
-
- assertEquals( foo(<hello/>), "hello node" );
- assertEquals( foo(<hallo/>), "hallo node" );
- assertEquals( foo(<test>42</test>), "test node:42" );
- assertEquals( foo(<list><a/><b><c/></b><d/><d/></list>),
- <a/>.toString() + <b><c/></b>.toString() );
-
- val rows = <tr>
- <td>1.1</td><td>1.2</td>
- </tr>
- <tr>
- <td>2.1</td><td>2.2</td>
- </tr>;
-
- assertEquals( noWS( rows.toList.toString() ),
- noWS( List(Elem(null,"tr",e,TopScope,
- Elem(null,"td",e,TopScope,Text("1.1")),Elem(null,"td",e,TopScope, Text("1.2"))
- ),
- Elem(null,"tr",e,TopScope,
- Elem(null,"td",e,TopScope,Text("2.1")),Elem(null,"td",e,TopScope,Text("2.2"))
- )
- ).toString() )
- );
- val rows2 = <tr><!-- an XML comment --><?pinotext?><?pi text?></tr>;
- val rows3 = <tr> a <!-- an XML comment --> b <?pinotext?> c <?pi text?> d </tr>;
-
- // these are not equal as comments are valid XML Info items.
- assertEquals( rows2, Elem(null,"tr",e,TopScope,Comment(" an XML comment "),ProcInstr("pinotext",""),ProcInstr("pi","text")));
-
- assertEquals( rows3, Elem(null,"tr",e,TopScope,Text("a"),Comment(" an XML comment "),Text("b"),ProcInstr("pinotext",""),Text("c"),ProcInstr("pi","text"),Text("d")));
-
- }
-
-object Test03Servlet {
-
- val headerMsg = Text("What follows is an example of modular formatting.");
- val footerMsg = Text("Complicated layout tasks can be encapsulated and outsourced.");
-
- /** helper function for the main page, provides header and a footer
- */
- def page( ns:Seq[Node] ) = {
- <html>
- <head>
- <title>ModularFormatting</title>
- </head>
- <body>
- <h2>Welcome</h2>
- <p>
- {headerMsg }
- </p>
- <p>
- { ns }
- </p>
- <p>
- { 1 } {'a'} { 23.23 }
- </p>
- <p>
- { for(val n <- ns.toList) yield { n::n::Nil } }
- </p>
- <hr/>
- <p>
- {footerMsg}
- </p>
- <h2>Bye!</h2>
- </body>
- </html>
- }
-
- /** applies beautify to every element in a sequence
- */
- def beautify( xs:Seq[Node] ):Seq[Node] = xs.toList.map { beautify }
-
- /** this is a recursive procedure that adds some attributes to the tree
- */
- def beautify( n:Node ):Node = n match {
- case <td>{xs @ _* }</td> =>
- <td bgcolor="#AAAAFF" color="#222255">{ xs }</td>
-
- case <table>{ xs @ _* }</table> =>
- <table align="center">{ beautify( xs )}</table>
-
- case Elem(null, label, _, _, xs @ _* ) =>
- new Elem(null, label, e, TopScope, beautify( xs ):_*)
-
- case _ => n
- }
-
- /** this function will take a node and put it in a table
- */
- def format( msg:Node ):Node = {
- <table>
- <tr>
- <td>{ msg }</td>
- </tr>
- </table>
- }
-
- /** returns a highlighted text node with the string given as arguemnt. if it
- * is null, supplies a default string.
- */
- def getMessage( x:String ) = {
- if( x == null )
- <h1> This could be YOUR message ! </h1>
- else
- <h1> { Text( x ) } </h1>
- }
-
- /** the entry method
- */
- def doGetXML() = {
- beautify( page( List( format( getMessage( "message" ) )) ));
- //page( List( format( theMessage )));
- }
-
- def main( args:Array[String] ) = {
- val x = doGetXML();
- Console.println( x );
- Console.println( new PrettyPrinter( 80, 2 ).format( x ));
- }
-
-}
-
-
- object Test04 {
- val sequence = <foo/>
- <bar>Text</bar>
- <foo/>;
-
- Console.println( sequence );
-
- val onlyOne = <foo/>;
-
- Console.println( onlyOne );
-
- val tryBrace = <try>Now escaped {{ braces } </try>;
- assertEquals( tryBrace, Elem(null,"try",e,TopScope,Text("Now escaped { braces }")));
-
- val tryBrace2 = <try myAttrib={(3+4).toString() }> cool ?</try>;
- assertEquals( tryBrace2.attribute("myAttrib"), "7" );
-
- /* Scala comments are not allowed in XML literals. see neg(2) */
- val zzz = <hello>/* no comment */</hello>;
- assertEquals( zzz, Elem(null,"hello", e,TopScope, Text("/* no comment */")));
-
- }
-
-
- def test05main = {
- val x1s = <foo>&#0123;</foo>.toString();
- Console.println( x1s );
- val x2 = <foo>&nbsp;&#x7b;<bar><baz/></bar><bar/></foo>.toString();
- Console.println( x2 );
- }
-
- def test06 = {
-
- val foo =
- <bar:foo xmlns:bar="www.bar.com" xmlns="www.baz.com">
- <baz/>
- </bar:foo>;
-
- Console.println( foo );
-
- }
-
-
- def main( args:Array[String] ):Unit = {
- Console.println("Test01Literals");
- Test01Literals;
- Console.println("Test02Embed");
- Test02Embed;
- Console.println("Test03Servlet");
- Test03Servlet.main( args );
- Console.println("Test04");
- Test04;
- Console.println("Test05Ref");
- test05main;
- Console.println("namespace");
- test06;{
- }
- }
-
-
-}
-