Module: system-test-suite Synopsis: System library test suite Author: Andy Armstrong Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND define library-spec system () module operating-system; module date; module locators; module file-system; module settings; module simple-xml; suite universal-streams-suite; suite additional-streams-suite; suite system-regressions; end library-spec system; define module-spec date () // Classes sealed class (); // Constants constant :: ; // Functions //---*** Note that these leave out the keyword arguments! //---*** encode-date and decode-date are not in the kan yet. // Leaving them in here anyway. -- carlg 05 May 97 function encode-date (, , , , , ) => (); function decode-date () => (, , , , , , , ); open generic-function \= (, ) => (); open generic-function \< (, ) => (); sealed generic-function date-year () => (); sealed generic-function date-month () => (); sealed generic-function date-day () => (); sealed generic-function date-hours () => (); sealed generic-function date-minutes () => (); sealed generic-function date-seconds () => (); sealed generic-function date-microseconds () => (); sealed generic-function date-time-zone-offset () => (); sealed generic-function date-time-zone-offset-setter (, ) => (); function date-day-of-week () => (); //---*** Note that this leaves out the keyword arguments! function as-iso8601-string () => (); function current-date () => (); function local-time-zone-offset () => (); function local-time-zone-name () => (); //---*** Other time zone tools? (I.e., conversions from/to zone name to/from offset) function local-daylight-savings-time? () => (); end module-spec date; define module-spec locators () // Locators open abstract class (); open abstract class (); open abstract class (); open abstract instantiable class (); open abstract instantiable class (); sealed instantiable class (); sealed instantiable class (); open generic-function supports-open-locator? () => (); open generic-function open-locator () => (); open generic-function supports-list-locator? () => (); open generic-function list-locator () => (); open generic-function locator-host () => (false-or()); open generic-function locator-server () => (); open generic-function locator-volume () => (false-or()); open generic-function locator-directory () => (); open generic-function locator-relative? () => (); open generic-function locator-path () => (); open generic-function locator-base () => (false-or()); open generic-function locator-extension () => (false-or()); open generic-function locator-name () => (false-or()); // Locator coercion open generic-function locator-as-string (subclass(), ) => (); open generic-function string-as-locator (subclass(), ) => (); // Locator conditions instantiable class (, ); function locator-error (, #"rest") => (#"rest"); // Utilities function relative-locator (, ) => (); function subdirectory-locator (, #"rest") => (); function simplify-locator () => (); function merge-locators (, ) => (); // Web locators abstract class (); abstract class (); abstract class (, ); instantiable class (); instantiable class (); instantiable class (); instantiable class (); instantiable class (, ); instantiable class (, ); abstract class (); abstract class (); abstract class (); end module-spec locators; define module-spec file-system () // Constants constant :: ; constant :: ; constant :: ; // File system locators open abstract class (); open sealed instantiable class (); open sealed instantiable class (); function file-system-separator () => (); // Microsoft locators abstract class (); instantiable class (); instantiable class (); abstract class (); instantiable class (, ); instantiable class (, ); // Posix locators abstract class (); instantiable class (); instantiable class (); // Native locators abstract class (); instantiable class (); instantiable class (); // Classes open abstract instantiable class (, ); class (); class (); class (); class (); // Functions // +++ g.f. method on make ( ...) // +++ g.f. method on close (, #"key", #"abort", #"wait?") => (); function file-exists? () => (); function file-type () => (); function delete-file () => (); function copy-file (, ) => (); function rename-file (, ) => (); function file-properties () => (); // Using is suspect for these two? all we can assume? generic-function file-property (, ) => (); generic-function file-property-setter (, , ) => (); function do-directory (, ) => (); // directory-contents is NYI currently. Change to something // more specific when it is done. -- carlg 06 May 97 function directory-contents () => (); function create-directory (, ) => (); function delete-directory () => (); function ensure-directories-exist () => (); function home-directory () => (); function temp-directory () => (false-or()); function root-directories () => (); open generic-function type-for-file-stream (, type-union(, /* , */ , singleton(#f)), #"rest", #"all-keys") => (); // Macros macro-test with-open-file-test; end module-spec file-system; define module-spec operating-system () // Operating System constants constant $architecture-little-endian? :: ; constant $os-name :: ; constant $os-variant :: ; constant $os-version :: ; constant $platform-name :: ; constant $machine-name :: ; // Operating System functions function login-name () => (false-or()); function login-group () => (false-or()); function owner-name () => (false-or()); function owner-organization () => (false-or()); function run-application (, #"key", #"under-shell?", #"inherit-console?", #"activate?", #"minimize?", #"outputter", #"asynchronous?") => (); function load-library () => (); // Application startup handling function application-name () => (false-or()); //---*** application-filename should return ... function application-filename () => (false-or()); function application-arguments () => (); function tokenize-command-string () => (); function command-line-option-prefix () => (); function exit-application () => (); function register-application-exit-function () => (); // Environment variables function environment-variable () => (false-or()); function environment-variable-setter (false-or(), ) => (false-or()); function tokenize-environment-variable () => (); end module-spec operating-system; define module-spec settings () open abstract primary class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); end module-spec settings; define module-spec simple-xml () // Classes sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); sealed instantiable class (); // Functions function document-location () => (); function document-location-setter (, ) => (); function document-element () => (); function document-element-setter (, ) => (); function read-xml-document () => (); function node-attribute (, ) => (false-or()); function node-attribute-setter (, , ) => (); function node-attributes () => (); function node-children () => (); function node-name () => (); function node-text () => (); function node-text-setter (, ) => (); function select-node-text (, , #"key", #"default") => (); function select-nodes (, ) => (); function select-single-node (, ) => (false-or()); end module-spec simple-xml;