Branch: Tag:

2000-01-02

2000-01-02 23:42:40 by Martin Stjernholm <mast@lysator.liu.se>

Fixes due to better type checking for programs. Also made some tests
behave as planned.

Rev: src/testsuite.in:1.258

1: - test_true([["$Id: testsuite.in,v 1.257 1999/12/31 02:06:19 grubba Exp $"]]); + test_true([["$Id: testsuite.in,v 1.258 2000/01/02 23:42:40 mast Exp $"]]);      cond([[all_constants()->_verify_internals]],   [[
750:   class c1 { inherit p1; inherit p2; };   return c1()->foo();]],2)    - test_any([[class foo { int x=random(100); int `<(object o) { return x < o->x; } }; object *o=Array.map(allocate(100),foo); sort(o); for(int e=1;e<100;e++) if(o[e-1]->x > o[e]->x) return e; return -1;]],-1) + test_any([[class foo { int x=random(100); int `<(object o) { return x < o->x; } }; object *o=allocate(100,foo)(); sort(o); for(int e=1;e<100;e++) if(o[e-1]->x > o[e]->x) return e; return -1;]],-1)      test_any([[    mixed ret=({});
910:    ({1,0}))   test_any_equal(array a = ({(["i":1]),([])}); a["i"] = 7; return a;,    ({(["i":7]),(["i":7])})) - dnl FIXME: - dnl The following three tests have parts that have been - dnl commented out because they do not work as intended. /Hubbe +    test_any([[ -  class A {int i = 10; int ii(){return i;}}; +  class A {local int i = 10; int ii(){return i;}};    class B {inherit A;};    class C {inherit A; int i = 11;}; -  array a = ({A(1),B(2),C(3)}); +  array a = ({A(),B(),C()});    map(a,`[]=,"i",7); -  return equal(a->i,({7,7,7})) ; // && equal(a->ii(),({7,7,10})); +  return equal(a->i,({7,7,7})) && equal(a->ii(),({7,7,10}));   ]],1)   test_any([[ -  class A {int i = 10; int ii(){return i;}}; +  class A {local int i = 10; int ii(){return i;}};    class B {inherit A;};    class C {inherit A; int i = 11;}; -  array a = ({A(1),B(2),C(3)}); +  array a = ({A(),B(),C()});    a->i = 7; -  return equal(a->i,({7,7,7})) ; // && equal(a->ii(),({7,7,10})); +  return equal(a->i,({7,7,7})) && equal(a->ii(),({7,7,10}));   ]],1)   test_any([[ -  class A {int i = 10; int ii(){return i;}}; +  class A {local int i = 10; int ii(){return i;}};    class B {inherit A;};    class C {inherit A; int i = 11;}; -  array a = ({A(1),B(2),C(3)}); +  array a = ({A(),B(),C()});    map(a,`->=,"i",7); -  return equal(a->i,({7,7,7})) ; // && equal(a->ii(),({7,7,10})); +  return equal(a->i,({7,7,7})) && equal(a->ii(),({7,7,10}));   ]],1)   test_any_equal([[    array a = ({({(["a":"b"]),([]),(["c":17])}),({(["a":"b"]),(["a":7])}),(["b":"d"])});