tests

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- changed CallStackGetActiveProcFrame() to return also CMETHD frames This allows to execute :volatile in a initcmd and to delete the object at its end. As a consequence, code like [CopyHandler new -volatile] copy [::nsf::self] $newName has to be changed to CopyHandler new { :copy [:uplevel ::nsf::self] [uplevel set newName] :destroy } - renamed CallStackUseActiveFrames() to CallStackUseActiveFrame() and ctx->framesSaved to ctx->frameSaved to reflect implementation

  1. … 5 more files in changeset.
- added regression tests for destroy-during-init

  1. … 1 more file in changeset.
- renamed nx regression tests .test to follow tcl conventions

    • -0
    • +402
    ./info-method.test
    • -0
    • +185
    ./interceptor-slot.test
    • -0
    • +312
    ./method-modifiers.test
  1. … 21 more files in changeset.
- extended regression tests for aliases to procs

  1. … 1 more file in changeset.
- allowed public|protected for method deletion such as "Object public method foo {} {}" - removed defaultMethodCallProtection in alias test

  1. … 2 more files in changeset.
- Adding some tests on the interactions between our var resolvers and link-creating commands: [variable], [upvar], [global], ... - Amended the in-code documentation for InterpColonVarResolver(), InterpCompiledColonVarResolver() and CompiledColonVarFetch(). - Found another AVOID_RESOLVERS victim: [namespace which -variable /varName/]

  1. … 1 more file in changeset.
- Providing a fix (and some analysis documentation) for the prefixed-(":")-variable resolution, making the entire mechanism more robust under situations of var resolvers for compiled and non-compiled script execution interacting. - Added a first sample test (which documents the motivating issue observed for AOLserver vs. NaviServer) - Further testing and documenting are pending

  1. … 1 more file in changeset.
- make sure not to return CompiledLocal vars from InterpColonVarResolver() when TCL_NAMESPACE_ONLY is requested. - delegate always from InterpColonVarResolver() to other resolvers, when TCL_NAMESPACE_ONLY is requested.

  1. … 2 more files in changeset.
- follow current Tcl vonvention for patchlevel var: - changed name of ::nsf::patchlevel to ::nsf::patchLevel - changed content ::nsf::patchLevel from eg .0 to full number including release details

- fixed bug in ::variable with colon-prefixed name

(shadowCommands does not help, see above)

- removed traces of Nsf_VariableObjCmd()

- extended regression test

  1. … 7 more files in changeset.
- Corrected the link generation for autocomplete/search entries in case of @use chaining and made them location-independent - Removed an superfluous div-closing tag in class.html.tmpl - Refactored the backend code for the auto-completion search box, separating the concerns of rendering the JS array of hashes and serialising entities into a dict representation. The latter allows to discriminate entity-specific rendering behaviour (together with the mixin layer facility). - Added the entity type (its pretty name) to the search results presented to the doc user. - Removed the unwanted "::"s from @project and @package names.

  1. … 5 more files in changeset.
- made handling of unstacked entries optional by defining macro CHECK_ACTIVATION_COUNTS) - added macro NSF_DEVELOPMENT for toplevel handling if NDEBUG and CHECK_ACTIVATION_COUNTS - cleanup of method-modifiers.tcl - updated next migration guide

  1. … 6 more files in changeset.
- added handling of unstacked csc entries (removed all DEBUG warnings).

  1. … 8 more files in changeset.
- replaced "-objscope" and "-nonleaf" by "-frame object|method|default" for nsf::alias and nsf::default - added functionality for "-frame method" to nsf::dispatch - made the order of argument in ::nsf::alias and method "alias" the same (always first the method, then "-frame ...") - extened regression test

  1. … 9 more files in changeset.
- added functionality to show enumerated values in "info parametersyntax"

  1. … 5 more files in changeset.
- call scripted converters without checking protection - removed defaultMethodCallProtection from tests/parameters.tcl

  1. … 3 more files in changeset.
- changed option -expand in "info methods" and "info lookup methods" into "-path" to associate with the method path - changed method property name from "protected" to "call-protected" - changed nx::defaultMethodProtection to nx::defaultMethodCallProtection - nx::defaultAttributeProtection is used for scripted methods, forwarders and aliases - added nx::defaultAttributeProtection, used for setter and attributes

  1. … 7 more files in changeset.
- changed option -expand in "info methods" and "info lookup methods" into "-path" to associate with the method path

  1. … 6 more files in changeset.
- Methodpaths can be used now in the definition of "method", "alias" and "forward." We do not support it for "setter" and "attribute", since these require a parameter spec, which does not have clear semantics for a method path. - scripted definition of nx::Object.forward and nx::Class.forward

  1. … 3 more files in changeset.
- Major refactoring based on a minimal Mixin Layer facility to modularise optional features (such as templating, documentation verification etc.) in layers of mixins to be applied to the entire entity hierarchy. - Rewrote the html templating machinery in terms of a mixin layer: NxDocRenderer - Used the new modularisation granularity to add @glossary-specific link rendering (following ideas from http://www.alistapart.com/articles/hattrick/) - Completed glossary support and added acronym handling - Added back references and ref counting for @glossary entries (to be displayed with the glossary lists) - I added the short-cut lists for selected part types of @class entities, namely @class-method and @class-attribute. - Fixed the rendering of methods and attributes for ascending alphabetical order.

  1. … 7 more files in changeset.
- added syntax "?arg ...?" in parametsyntax output for "args" - removed "info forward" from nx::Object and nx::Class (can be replaced by "info methods" and "info method")

  1. … 5 more files in changeset.
- allow %method in forwarder. - defined unknown methods as call-protected - make __default_method_protection protected

  1. … 3 more files in changeset.
- extended regression test for "current methodpath"

- push stack frame before calling the defaultcmd of an ensemble object to make implementation more simple. - simplified EnsembleObject.defaultcmd and EnsembleObject.unknown significantly, scripted support methods are removed. - extended regression test

  1. … 3 more files in changeset.
- factored out ParamGetType() to obtain from a paramPtr a type string - parametersyntax: * changed "... -x arg ..." into ".... -x value ..." * changed multiple values notation from "list" to "..."

  1. … 3 more files in changeset.
- "info method parametersyntax" returns now for all nonpos args the type instead of "arg" when possible (eg ..... ?-x object? ....) - extended regression test

  1. … 2 more files in changeset.
- provide full set of ensemble methods from EnsembleObject.unknown (i.e. from all classes along the precedence order. It was necessary to pass calling object as first argument)

  1. … 3 more files in changeset.
- "info lookup methods": order of non-pos parameters alphabetically - added option "-expand" to "info lookup methods ". It collects ensemble methods along the precedence path - added support for ensemble methods in "info lookup method" - extended regression test

  1. … 5 more files in changeset.
- nsf.c: use name "varTablePtr" instead of "varTable" when referring to the table - new option "slotcontainer" for "methodproperty" to flag slotcontainer to make them easier to process in the serializer . don't report slot container in "info methods -expand" - new function "::nx::isSlotContainer" to centralize checking for slotcontainers (used by serilaizer) - support export of method ensembles in serializer

  1. … 9 more files in changeset.
- new option "-expand" for "obj|class info methods" to return compound names (i.e. it lists the full ensemble names) Example: ::nx::Object info methods -expand "*filter*" returns filter {info filter guard} {info filter methods} {info lookup filter} - allow ensemble names in nsf::methodproperty - fix compound name lookups when aliases link to shared ensemble objects - make objectName() NULL-safe - fix option "-source application" when applied directly on base-classes - extend regression test

  1. … 6 more files in changeset.
- make test more quiet