tests

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Definition of method modifiers "public", "protected" and "object" - all method-creating methods ("method", "alias", "forward", "setter") return now the fully qualified method names - extending 50 regression tests fpr method modifiers - Make "unknown" for ::xotcl2::Class" to raise an error instead of warning. Otherwise, protected class-level methods would create objects with the name of protected methods. Other option: make calls to protected methods raise an error, instead of calling "unknown"

    • -0
    • +159
    ./method-modifiers.xotcl
  1. … 7 more files in changeset.
- changed in xotcl-core "method" into "object-method" and "class-method", provided scripted definition for method in xotcl2 - removed "setter" from methods in xotcl1 - defined xotcl1 methods in terms of "proc" and "instproc"

  1. … 7 more files in changeset.
- Methods defined via "method" are now per default "protected" - new switch "-public" for "method" to define public methods - new flag for "info callable": -callprotection", values "all|protected|public" - new flag for "info methods": -callprotection", values "all|protected|public" - converted part of regression test

  1. … 9 more files in changeset.
- changed "info methods" (without defined, as defined in xotcl1) into "info callable" - changed "info methods -defined" into "info methods" - replaced "procsearch <name>" by "info callable -which <name>" - added emulation for procsearch for xotcl1

  1. … 7 more files in changeset.
- removed "obj|class info alias"; obsoleted by "info method definition"

  1. … 3 more files in changeset.
- added changes for new behavior

- reseting interceptor list in interceptorslot->mixin via relation - adding rests for behavior, when setting invalid mixins

  1. … 2 more files in changeset.
- removed deprecated calls from predefined and regression test

  1. … 2 more files in changeset.
* info params removed * info instparams removed * added subcommand to "info method args <somename>": similar to "info method parameter ...", but returns only names of parameters instead of full parameter definitions

  1. … 4 more files in changeset.
- provide method get for Interceptor slots - added tests/info-method.xotcl - added tests/interceptor-slot.xotcl

    • -0
    • +96
    ./interceptor-slot.xotcl
  1. … 4 more files in changeset.
- forward: new option for handling flags syntax "%-SOMEFLAG ?insert?%" The option checks the actual arguments, if they start with "-", it compares it with the provided name. If it matches, the flag is consumed and added at the provided position in the output list. If the flag does not match, but "insert" is given with the value of 1, then the flag is output as well. Note that the last feature is added for omitting double inserts.

- due to the new forward option, the following important

cases work now:

- adding/deleting/... per-object mixins for classes via

slot methods

C mixin -per-object add M

- adding per-object mixins for classes in short form

C mixin -per-object M

- added "what" argument to deprecated command to let the

user be more exact, what is actually deprecated

  1. … 6 more files in changeset.
- moving definitions to the right place - added "-per-object" to XOTclRelationCmd - skipping "mixin" and "filter" in ::xotcl::parametersFromSlots for xotcl1 objects - added parameter "forward-per-object" to slots in order to flag whether "per-object" should be passed via the forwarder - new function MethodTypeMatches() for filtering on methodtypes - provide faster lookup when pattern for info methods does not contain meta characters

  1. … 6 more files in changeset.
- removed "-per-object" from "<class> info alias"

  1. … 3 more files in changeset.
- xotcl2: implemented "<cl> info -per-object subcmd" (moved "-per-object" in front of info, since it specifies, what kind of info is requested). As a consequence, XOTclObjInfoMethodMethod() works returns always object specific infos and XOTclClassInfoMethodMethod() class specific infos, no "-per-object" switch for the subcmd required. - cleanup in other subcomds than "info method" and "info methods" required

  1. … 7 more files in changeset.
- new method named "setter" * <Object> setter <varName> * <|Class> setter ?-per-object? <varName>

- new info method named "method"

* <Object|Class> info method ?-per-object? definition|name|type <methodName>"

* "info method definition" returns full cmds

(e.g. for scripted methods parameters, body, pre- and postconditions)

* fixed proper list handling in AssertionList()

* added tests for "info method" (infomethodtest.xotcl)

- changed method "alias" in xotcl2:

* removed the long list of arguments

".... -cmd -source-object -source-method -source-per-object:switch"

* determine method cmdname via "... info method name <methodName>"

and pass it to alias

- method "parametercmd" and "instparametercmd" are gone (for xotcl2)

we have now

"<Object> setter <name>"

"<Class> setter ?-per-object? <name>"

- added emulation for old "parametercmd" and "instparametercmd" in xotcl1

- method "instforward" is gone (for xotcl2),

we have now

"<Object> forward <name> ... "

"<Class> forward ?-per-object? <name> ... "

- added emulation for old "forward" and "instforward" in xotcl1

- "info body" gone, added emulation in xotcl1

- "info instbody" gone, added emulation in xotcl1

- "info commands" gone, added emulation in xotcl1

- "info instcommands" gone, added emulation in xotcl1

- "info parametercmd" gone, added emulation in xotcl1

- "info instparametercmd" gone, added emulation in xotcl1

  1. … 11 more files in changeset.
- adding tests for the alias store (many thanks to Stefan)

- applying changes from Stefan Sobernig for object specific slots - extended regression test - fix for the problem reported by Mykhaylo Sorochan in the xotcl mailing list (::xotcl::Attribute not visible) - extended regression tests

  1. … 2 more files in changeset.
- new info command for Object and Class: "info alias -per-object -definition name" (similar to "info forward"/"info instforward") should probably be moved into a more general "info method -per-object -definition name" - extended regression test

  1. … 5 more files in changeset.
- finished implementtion of "info method -methodtype alias"

  1. … 1 more file in changeset.
- renamed methodType "compiled" to "system" (for system/builtin methods); - saving and maintaining alias command in associative Tcl array ::xotcl::alias - returning aliases to procs and methods via "info methods -defined -methodType alias" (other aliases are still missing, but should be straigth forward with data in associative array)

  1. … 7 more files in changeset.
- added aliastest provided by stefan - handle [self class] in aliased methods properly - use xotcl2 per default in xotclsh

    • -0
    • +252
    ./aliastest.xotcl
  1. … 7 more files in changeset.
- extended genrclAPI to allow enumeration type for nonpos args - changed api of "info methods": added nonpos arg "methodType" possible values: "all", "scripted", "compiled", "alias", "forwarder", "object", "setter" - added compatible scripted "info methods" interface for xotcl1 - "info methods -methodtype alias" not tested and not working

  1. … 6 more files in changeset.
- moved xotcl-1.* definition into an own library file - renamed library/lib/changeXOTclVersion.xotcl to library/lib/changeXOTclVersion to ease pkgIndex generation - new function "xotcl::use xotcl1" or "xotcl::use xotcl2" to ease switching between xotcl 1 and 2 - changed library/lib/test to xotcl2 - added for all regression test "xotcl::use xotcl1" instead of "namespace import ::xotcl::*"

  1. … 18 more files in changeset.
- added non-positional argument "-object" to ::xotcl::instvar - removed all dependencies to the method "instvar" in predefined - defined "abstract" for xotcl2 similar to classical xotcl1 - simplified exit handlers - use of proc-aliases in predefined - simplefied predefined a little

  1. … 5 more files in changeset.
- solved contains aliasing problem by defining a separate "conains" for ::xotcl::Object - make the serializer less object system dependent - make slottest regression test work with xotcl2 objects

  1. … 3 more files in changeset.
- make volatile work with object frames - fix typo in error message

  1. … 2 more files in changeset.
- change slots to xotcl2 Objects and Classes

  1. … 2 more files in changeset.
- provide explicit unknown handler - fix cases, where unknown hander was unknown

  1. … 3 more files in changeset.
- supporting "per-object" for alias - extending regression test

  1. … 1 more file in changeset.
- change "setvalues" to "residualargs"

  1. … 4 more files in changeset.