tests

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- changed "<object> info hasNamespace" to "<object> info hasnamespace" (all commands and info options are lowercase only, no underscore) - 11 "<object> info" commands generated

  1. … 6 more files in changeset.
- added c-stub generate (generates Tcl_ObjCmdProc from method definitions in Tcl)

  1. … 4 more files in changeset.
- added generator for tclAPI.h - defined 8 info methods based on the new objv parseing infrastructure - replaced occurances of "instdestroy" by "dealloc" in documentation

  1. … 9 more files in changeset.
- new command: ::xotcl::createobjectsystem <rootClass> <rootMetaClass> This command creates a basic object system with the specified <rootClass> as most general root class and the specified metaclass as most general meta class.

Example: ::xotcl::createobjectsystem ::oo::object ::oo::class

In general, it would be possible to remove an objects system

at runtime, but there is so far no tcl interface for this.

- extended framework to work with multiple root classes

- the basic root class of XOTcl is now ::xotcl::Object again

(instead of ::oo::object) as before. The old setup can be

achieved on the Tcl-layer.

  1. … 5 more files in changeset.
-implemented XOTclObjInfoParametercmdMethod(), XOTclClassInfoInstparametercmdMethod() -implemented -closure for XOTclClassInfoInstmixinMethod()

  1. … 3 more files in changeset.
- use objectName() and className() when possible - implemented XOTclClassInfoMixinofMethod() and XOTclClassInfoInstmixinofMethod() - some cleanup in regression tests

  1. … 2 more files in changeset.
- add object-system test to regression test target

  1. … 1 more file in changeset.
- fixed bug in "info precedence -intrinsic"

  1. … 1 more file in changeset.
- define default meta-class for ::xotcl::Class - use default meta-class, when a the topmost meta-class of an object system is deleted - fix regression test

  1. … 5 more files in changeset.
- work on collateral damage after merge - fixed many test cases from the regression thest - wrote some changes to ChangeLog as a reminder

  1. … 6 more files in changeset.
- new regression test file

    • -0
    • +63
    ./object-system.xotcl
merge with 1.6.3 (HEAD)

    • -0
    • +488
    ./mixinoftest.xotcl
    • -0
    • +152
    ./varresolutiontest.xotcl
  1. … 126 more files in changeset.
- fixed potential access to deleted command list item in FilterSearchAgain() - fixed potential access deleted xotcl object by switching order in a condition - some minor cleanup

  1. … 2 more files in changeset.
- removed references to 1.6.2

- some code cleanup - new methods, when compiled with tcl 8.5; + MakeProcError (producing error messages from xotcl methods) + PushProcCallFrame (compile method to byte-code) The new support allows to call code at the begin of a proc without using the old approach based on :xotcl::initProcNS

  1. … 2 more files in changeset.
- add comments to var resolution tests for objects without namespaces

- fixed reference counting - removed temporary hacks - added CONST to several functions - added relative namespace handling

  1. … 4 more files in changeset.
- added Stefan's work for namespace resolvers - fixed a memory leak for "obj exists" due to the changes - found another memory leak, when e.g. "::info" is added as an alias and "info exists" is tested against non-existing vars

    • -0
    • +108
    ./varresolutiontest.xotcl
  1. … 4 more files in changeset.
- Correct deletion of user-metaclasses: Deletion of user-metaclasses could lead to undestroyable objects, since the instances of the user-metaclasses were reclassed to ::xotcl::Object instead of ::xotcl::Class. - extend regression test for such situations

  1. … 2 more files in changeset.
- handle nonposargs in method "copy" properly - extend regression test for copy - added "<class> mixinof -closure ?pattern?" - extended regression test for mixinof - updated documentation

  1. … 14 more files in changeset.
extended regression test

first part of fix when a class is "casted" (via method "class") into an object

  1. … 2 more files in changeset.
* additional argument for "info precedence": "-intrinsic" Syntax: <objName> info precedence ?-intrinsic? ?pattern? If "-intrinsic" is specified, only the classes of the superclass type hierarchy are returnd. Otherwise, the precedence contains mixin classes as well. * Remove pattern argument from "info class" * Check results for guards to be boolean instead of integer (now, guards are allowed to return e.g. "true") * Bump version number to 1.6.1

  1. … 12 more files in changeset.
- new info option for "info instmixin" supporting -guards and -closure support - extended test cases for "info instmixin"

  1. … 2 more files in changeset.
* Continued with info orthogonality change

<object> info mixin ?pattern?

<class> info instmixin ?pattern?

?pattern? behaves exactly like in the change of two days

ago. Preceding colons in the name of the queried class are not

required.

Still to do "-closure" in

<class> info instmixin -closure ?pattern?

* In all mentioned calls, where pattern refers to an object/class

and it contains wild-cards, a preceding :: is added automatically

to the search pattern, if it is missing. Since all object names

start with ::, an omitted leading :: in a search pattern is an

obvious mistake

* Made the behavior "pattern" in the following calls identical

concerning wild cards and object lookups

<object> mixin delete pattern

<class> instmixin delete pattern

<class> superclass delete pattern

* extended regresson test

  1. … 4 more files in changeset.
- fix getAllClassMixinsOf to handle combinations of transitive per class mixins and inheriting per-class mixin via the class hierarchy, removed getAllSubClasses - extend test cases

  1. … 3 more files in changeset.
* Potential incompatibility: provide a uniform interface to the following info subcommands

<class> info superclass ?-closure? ?pattern?

<class> info subclass ?-closure? ?pattern?

<class> info instances ?-closure? ?pattern?

<class> info instmixinof ?-closure? ?pattern?

<class> info mixinof ?pattern?

In cases, where the option "-closure" is defined,

the values are computed transitively.

In cases, where a pattern is specified, and

the pattern contains meta-characters, a list

of results is returned matching the pattern

(like "string match"). When no matching value

is found, an empty list is returned.

In cases, where a pattern is specified, and

the pattern contains no meta-characters,

a single value is returned korrespinding to

the specified value. The pattern is used

to lookup an object or class, such it is

not necessary to provide fully qualified names).

if there is no match, empty is returned.

Previously, "info superclass" and "info subclass"

returned a boolean value and performed

always a transitive search. Returning ""

is more consistent and more in line with Tcl.

By using the option "-closure" one can

perform the lookup in the transitive

or in the intransitive sets.

Still to do:

children

parent

classchildren

classparent

  1. … 4 more files in changeset.
- fixed softcrecreate for subclasses of recreated classes - fixed softcrecreate when recreate defines different superclasses - extended test cases for mixinoftest

  1. … 2 more files in changeset.
- saveing object->id in cl->opt->id (probably a temporary solution) - new function: MixinResetOrderForAllInstances (transitive version of MixinResetOrderForInstances() - use MixinResetOrderForAllInstances for resetting instances - extended regression test

  1. … 3 more files in changeset.
extended test slightly