summaryrefslogtreecommitdiff
path: root/testprogs/ejs/bugs.js
diff options
context:
space:
mode:
Diffstat (limited to 'testprogs/ejs/bugs.js')
-rw-r--r--testprogs/ejs/bugs.js155
1 files changed, 0 insertions, 155 deletions
diff --git a/testprogs/ejs/bugs.js b/testprogs/ejs/bugs.js
deleted file mode 100644
index 0c1cecb486..0000000000
--- a/testprogs/ejs/bugs.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- 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
-status: FIXED
-*****************************************/
-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
-status: FIXED
-*****************************************/
-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
-status: SUBMITTED
-*****************************************/
-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);
-}
-
-/*
- demo a expression handling bug
- status: FIXED
-*/
-function exprbug() {
- var a = new Array(10);
- var i;
- for (i=0;i<4;i++) {
- a[1+(i*2)] = i;
- a[2+(i*2)] = i*2;
- }
-}
-
-/****************************************
-demo lack of recursion
-fix in http://build.samba.org/build.pl?function=diff;tree=samba4;revision=7127
-status: FIXED
-*****************************************/
-function fibonacci(n) {
- if (n < 3) {
- return 1;
- }
- return fibonacci(n-1) + fibonacci(n-2);
-}
-
-function recursebug() {
- println("First 10 fibonacci numbers:");
- for (i=0;i<10;i++) {
- println("fibonacci(" + i + ")=" + fibonacci(i));
- }
-}
-
-/****************************************
-demo lack of function variables inside functions
-status: FIXED IN SAMBA
-*****************************************/
-function callback()
-{
- return "testing";
-}
-
-function fnbug(c)
-{
- s = c();
- assert(s == "testing");
-}
-
-/****************************************
-demo incorrect handling of reserved words in strings
-status: SUBMITTED
-*****************************************/
-function reservedbug()
-{
- assert("funct" + "ion" == 'function');
-}
-
-
-/****************************************
-demo incorrect handling of boolean functions
-status: SUBMITTED
-*****************************************/
-function no()
-{
- return false;
-}
-
-function boolbug()
-{
- assert(false == no());
- assert(!no());
-}
-
-
-/* run the tests */
-arraybug();
-argsbug("one", "two", "three");
-recursebug();
-exprbug();
-fnbug(callback);
-reservedbug();
-boolbug();
-objbug();