r7125: demonstrate some bugs in ejs
authorAndrew Tridgell <tridge@samba.org>
Tue, 31 May 2005 01:20:49 +0000 (01:20 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:17:20 +0000 (13:17 -0500)
(This used to be commit 46adb4a065f3f7dd81d72ed041f24e2d81733b63)

testprogs/ejs/bugs.js [new file with mode: 0644]

diff --git a/testprogs/ejs/bugs.js b/testprogs/ejs/bugs.js
new file mode 100644 (file)
index 0000000..3a211f3
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+       demonstrate some bugs in ejs
+
+       tridge <appweb@tridgell.net>
+*/
+
+
+/****************************************
+demo a bug in constructing arrays
+fix at http://build.samba.org/build.pl?function=diff;tree=samba4;revision=7124
+*****************************************/
+function arraybug() {
+        var a;
+
+        println("First with 3 elements");
+        a = new Array("one", "two", "three");
+        printVars(a);
+        assert(a.length == 3);
+        assert(a[0] == "one");
+        assert(a[1] == "two");
+        assert(a[2] == "three");
+
+        println("with a array length");
+        a = new Array(5);
+        printVars(a);
+        assert(a.length == 5);
+
+        println("\nNow with 1 element");
+        a = new Array("one");
+        printVars(a);
+        assert(a.length == 1);
+        assert(a[0] == "one");
+
+        println("ALL OK");
+}
+
+
+/****************************************
+demo a bug in variable arguments
+fix at http://build.samba.org/build.pl?function=diff;tree=samba4;revision=7085
+*****************************************/
+function argsbug() {
+        println("we should have been called with 3 arguments");
+        assert(arguments.length == 3);
+        assert(arguments[0] == "one");
+        assert(arguments[1] == "two");
+        assert(arguments[2] == "three");
+}
+
+
+/****************************************
+demo a bug in constructing objects
+no fix available yet
+*****************************************/
+function MyObj() {
+        var o = new Object();
+        o.test = 42;
+        return o;
+}
+
+function objbug() {
+        println("the docs say you should use 'new'");
+        var o1 = new MyObj();
+        var o2 = MyObj();
+        printVars(o1);
+        printVars(o2);
+        assert(o1.test == 42);
+        assert(o2.test == 42);
+}
+
+
+
+/* run the tests */
+arraybug();
+argsbug("one", "two", "three");
+objbug()