From 509e57995c535db09b84c3e0efb4d33c5822e289 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 31 May 2005 01:20:49 +0000 Subject: r7125: demonstrate some bugs in ejs (This used to be commit 46adb4a065f3f7dd81d72ed041f24e2d81733b63) --- testprogs/ejs/bugs.js | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 testprogs/ejs/bugs.js (limited to 'testprogs/ejs') diff --git a/testprogs/ejs/bugs.js b/testprogs/ejs/bugs.js new file mode 100644 index 0000000000..3a211f3bdc --- /dev/null +++ b/testprogs/ejs/bugs.js @@ -0,0 +1,76 @@ +/* + demonstrate some bugs in ejs + + tridge +*/ + + +/**************************************** +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() -- cgit