parameters.test

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- remove stripping of substdefault from properties

  1. … 1 more file in changeset.
- add handling of extended substdefault options to per-object variables - improve default value checking for slot-less variables - transfor associated array into a dict - extend regression tests

  1. … 2 more files in changeset.
provide error hint for "invalid value constraints" errors

  1. … 2 more files in changeset.
Fold "substdefault" and "substdefaultoptions" into a single parameter option "substdefault"

  1. … 4 more files in changeset.
* nsf.c (ParamOptionParse, ParamDefinitionParse, ParamDefsParse), parameters.test: Small "type=" converterArg reform. Provided additional parameter in param-parser machinery, to communicate a (namespace) qualifier into ParamOptionParse. This way, the unqualified type=* values are now expanded to qualified names (definition scope): method parameters, nsf::is, nsf::parseargs, setter methods. Type=* in object parameters are currently expanded at the slot level, could also be added. New tests were added, existing ones adjusted to reflect the new behaviour.

  1. … 2 more files in changeset.
- implement substdefaultoptions (for now, just providing the bitmask) - add substdefault.test - rename static function ParamParse() to ParamDefinitionParse() - break overlong lines

  1. … 4 more files in changeset.
Fix leftover from the time, when we could call accessor methods without "get"

deactivate two problematic tests for the time being to allow regression test to run

Fix typos

  1. … 63 more files in changeset.
* nsf.c (NsfParseArgsCmd): Fix another edge case (empty spec and/or empty argv), added more tests. See also TODO.

  1. … 1 more file in changeset.
* nsf.c (NsfParseArgsCmd): Fix nsf::parseargs for the case of Tcl-only params, otherwise, it crashes due to an uninitialized params structure. Added some tests.

  1. … 1 more file in changeset.
* nx.tcl (substdefault): Unify and harden substdefault handling. Both, per-class and per-object substdefault should now behave similarly in absence of a pair of evaluation brackets. Also, an attempt is made to capture ill-formed input to subst earlier ([info complete]). An actual substdefault reform, however, must tackle the [subst] calls (-novariables?) and make the calls more robust (at the script and C level; [apply]-like?). Added some tests for documentation.

  1. … 1 more file in changeset.
parameters.test: Simplify test case slightly.

* nx.tcl (MetaSlot.parseParameterSpec): Refine handling of the type converter to expand unqualified names to the "nearer" namespace (i.e., namespace of the slot-owning object) rather than "". Along the way, intercept invalid type=* values earlier (empty string, "::"). Added some tests.

  1. … 1 more file in changeset.
* nsf.c, parameters.test (NsfMethodSetterCmd): Make list detection aware of all list separator chars (NsfHasTclSpace).

  1. … 1 more file in changeset.
* nsf.c, parameters.test (NsfOResidualargsMethod): Extend XOTcl's list-notation support to recognize all Tcl list separators (NsfHasTclSpace).

  1. … 1 more file in changeset.
Improve spelling

  1. … 43 more files in changeset.
* nx.tcl (VariableSlot): Fix value=delete to actually accept and implement "-nocomplain". Added tests (missing so far entirely) and updated the man pages accordingly.

  1. … 6 more files in changeset.
* nx.tcl, parameters.test (defineIncrementalOperations): Make sure value=add and value=delete actually run value checkers and, in case of "convert", pick up the conversion result. Added basic test.

  1. … 1 more file in changeset.
* nsf.c (ArgumentCheck): Avoid double dispatching to value checkers (built-in and type=*) for "slotset" parameters. Previously, configure and then the value=set (value=add) method triggered one dispatch each. Now, the configure pass skips the check and shifts sole responsibility on the value=set/ value=add methods. Added basic test cases to parameters.test to capture the intended call semantics.

  1. … 1 more file in changeset.
* nx.tcl, parameters.test (Object->object variable): Support for substdefault has been entirely missing so far. Added basic tests

  1. … 1 more file in changeset.
- remove spurious blank in error message - fix typo in print string

  1. … 3 more files in changeset.
- fix one case in interaction between get-trace and default value

  1. … 1 more file in changeset.
- Allow combination of "-trace get" with default value (was previously disallowed) - Extend regression test

  1. … 2 more files in changeset.
- add new command nsf::parseargs to parse an argument vector against a parameter definition and to set the resulting variables in the current scope - extend regression test

  1. … 5 more files in changeset.
Slot trace reform: - redesign of slot interface of traces from * variables contains cmds and variable references to * slot specific methods with the same interface as slot-setters - new: * specify flag "-trace" with a list of values "get", "set", "default" * when flag is set, a trace will be registered calling methods value=get obj variable value=set obj variable value value=default obj variable on the slot (actually the first two are identical with the methods used for slot-defined accessors) - updated regression test * new flag "-notrace" for "nsf::var::set" and "nsf::var::get"

  1. … 9 more files in changeset.
- nx: added flag "-debug" and "-deprecated" to methods "method" "object method" "alias" "object alias" "forward" "object forward" such one can use e.g. /cls/ public alias -deprecated|-debug /method/ ... /cls/ public forward -deprecated|-debug /method/ ... /cls/ public method -deprecated|-debug /method/ ... /obj/ public object alias -deprecated|-debug /method/ ... /obj/ public object forward -deprecated|-debug /method/ ... /obj/ public object method -deprecated|-debug /method/ ...

- added new cmd:

nsf::method::property /obj/ ?-per-object? /method/ exists

to check, whether a method is defined for an object.

- output triggered via "-debug" is now generated via the

tcl functions "nsf::debug::call" and "nsf::debug::exit",

that can be redefined (similar to e.g. nsf::deprecated)

- cleanup of nsfProfile.c commands

- extended regression test

  1. … 13 more files in changeset.
- Fixed a bug that disallowed the combination of valuecmd and valuechangedcmd for a single property (many thanks to Zoran for pointing this out)

Removed implicit substdefault for configure parameters in nx:

- The syntax of substdefault for method parameters and configure

parameters was different. For method parameters, it was necessary to

specify :substdefault per parameter to activate it, for configure

parameter is was based in the XOTcl tradition on the content of the

default (whether it contains [...]) One problem is, that there was

no easy way to turn this feature off. If one wants to provide a

script block as a default, it was necessary to escape all square

brackets.

- Now, in nx, one has to specify :substdefault for configure

parameter explicitly as well, syntax for configure and method

parameters is the same.

- XOTcl 2.0 keeps implicit substdefaults (backward compatible)

- fix bug: never try to substdefault, when there is no default given.

  1. … 4 more files in changeset.
- whitespace change

nx.tcl: pluralism reform part 3 - introduced simple plural form "mixins" and "filters" for introspection - moved differentiated interface into slot methods. the slot methods "get" stay symmetrically to "set", but additional methods "classes" or "methods" are used like "guard" to obtain partial results of the mixin and filter specs - changed info methods /cls/ info mixin classes -> /cls/ info mixins /cls/ info filter methods -> /cls/ info filters /obj/ info object mixin classes -> /obj/ info object mixins /obj/ info object filter methods -> /obj/ info object filters - dropped /cls/ info mixin guard /cls/ info filter guard /obj/ info object mixin guard /obj/ info object filter guard - added /cls/ mixin classes /cls/ filter methods /obj/ object filter methods /obj/ object mixin classes

  1. … 14 more files in changeset.