Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* progtest: Do not run tests async on consolev2.11.0Mike Gerwitz2018-03-053-40/+102
| | | | | | | | | Performance hit is too great; automated tests need to be _fast_! * src/AsyncTestRunner.js: New TestRunner subtype. * src/TestRunner.js (_runAsync): Rename to virtual protected `runAllTests'; this method is overridden by aforementioned subtype. * src/env.js: Use it.
* progtest: Output trailing newline after summary lineMike Gerwitz2018-03-052-3/+4
| | | | | | * src/reporter/ConsoleTestReporter.js (createSummaryLine): Output trailing newline. * test/reporter/ConsoleTestReporterTest.js: Modify respective test.
* progtest: Add runner scriptMike Gerwitz2018-03-056-3/+129
| | | | | | | | | | * .gitignore: Ignore new generated files (Autoconf, Automake, output). * Makefile: Rename to `Makefile.am', dynamically expand `--harmony-destructuring'. * autogen.sh: New script. * bin/runner.in: New runner script. * bin/runner.js: Resolve program path relative to CWD. * configure.ac: New configure script.
* depgen: Include enum constants as typedef dependenciesv2.10.3Mike Gerwitz2018-02-281-0/+5
| | | | | | | This ensures that they are compiled into the `consts' object. * src/current/include/depgen.xsl (preproc:depgen)[lv:typedef]: Include `lv:enum/lv:item/@name' as dependencies.
* standlone: Correct consts reference for worksheetv2.10.2Mike Gerwitz2018-02-261-1/+1
| | | | | | This was broken in 0c020b7. * src/current/standalone.xsl (/): {rater_results=>rater}.consts.
* symtable: Do not mark symbols with generated yields as generatedMike Gerwitz2018-02-261-7/+2
| | | | | | | | | | | | The problem with this implementation was that, any time a generator had an associated generated @yields (which is common), it wouldn't be included in the summary page. We can address this in the future. It's not necessarily that it was incorrect; it's just how the system made use of it. * src/current/include/preproc/symtable.xsl (preproc:symtable)[lv:rate]: Do not mark @preproc:yields-generated symbols as @preproc:generated.
* validtor: Remove unresolved extern warningMike Gerwitz2018-02-261-7/+3
| | | | | | | See diff comment. * src/current/compiler/validate.xsl (lvv:validate)[c:*[@name or @of]]: Remove unresolved extern warning.
* TestRunner: Recognize error as failurev2.10.1Mike Gerwitz2018-02-232-7/+70
|
* progtest/README.md: Basic test case format documentationv2.10.0Mike Gerwitz2018-02-231-0/+33
|
* entry-form: Integrate YAML test case console output as HTMLMike Gerwitz2018-02-232-7/+91
|
* HtmlConsoleOutput: Add HTML-styled console outputMike Gerwitz2018-02-235-24/+328
|
* Makefile: run modindex firstMike Gerwitz2018-02-231-4/+4
|
* depgen: Ignore template bodiesv2.9.14Mike Gerwitz2018-02-231-3/+4
| | | | | | | | Templates can expand into unexpected places, so sometimes warnings are inappropriately issued. * src/current/include/depgen.xsl (preproc:depgen)[lv:template]: Ignore. [lv:template/lv:param]: Remove (now unnecessary with above).
* progtest: add dist targetMike Gerwitz2018-02-231-1/+3
|
* Makefile.am: Prevent doc from being built by defaultv2.9.13Mike Gerwitz2018-02-233-7/+12
|
* progtest/Makefile: Build tame-progtest.js as default targetv2.9.12Mike Gerwitz2018-02-232-3/+12
|
* progtest/package.json (devDependencies): Add mocha and chaiMike Gerwitz2018-02-231-1/+3
|
* progtest/package.json: Correct browserify versionMike Gerwitz2018-02-231-1/+1
|
* Revert "program map: Use expanded (preprocessed) program"v2.9.11Mike Gerwitz2018-02-221-2/+2
| | | | | | This map is used for more than the program.xml! This reverts commit c64e8363fd962b401e6603e2e69ae55b3b4d1b89.
* program map: Use expanded (preprocessed) programv2.9.10Mike Gerwitz2018-02-221-2/+2
| | | | | * src/current/compiler/map.xsl (lvmc:compile)[lvm:program-map]: Use `program.expanded', which is the preprocessed output.
* Merge branch 'progtest'Mike Gerwitz2018-02-1930-27/+1980
|\
| * entry-form: Clear YAML filename after loadingMike Gerwitz2018-02-191-0/+7
| | | | | | | | | | This way the test case can be re-loaded; otherwise it is not recognized as a change and does not trigger the event.
| * Correct param initializationMike Gerwitz2018-02-191-11/+31
| |
| * progtest: bug: constants are not initialized until ratingMike Gerwitz2018-02-192-3/+4
| | | | | | | | Ugh, this is nasty.
| * progtest: .gitignore: ignore compiled outputMike Gerwitz2018-02-191-0/+3
| |
| * progtest: Display reader errors in browserMike Gerwitz2018-02-194-6/+21
| |
| * progtest: Async run each test seriallyMike Gerwitz2018-02-192-19/+59
| | | | | | | | | | | | | | If that makes sense. The problem is that the browser needs to repaint after each test is run. See code comments.
| * Initial embedding of YAML test case runnerMike Gerwitz2018-02-198-30/+167
| |
| * progtest: Generate index.js filesMike Gerwitz2018-02-194-7/+82
| |
| * progtest: Initial working console runnerMike Gerwitz2018-02-1922-2/+1643
| |
| * Produce consts as part of rater objectMike Gerwitz2018-02-192-14/+28
|/
* Properly re-order classification predicates of any dimensionv2.9.3Mike Gerwitz2018-02-191-17/+11
| | | | | | | | In order for the cmatch algorithm to work properly, predicates must be re-ordered on @dim descending. * src/current/compiler/js.xsl (compile)[lv:classify]: Order all different dimensions, not just scalars.
* preproc: Fix lv:any-only conversion broken from last commitv2.9.2Mike Gerwitz2018-02-191-1/+1
| | | | | | Gah. This system really needs tests.
* preproc: Expand templates in extracted classesv2.9.1Mike Gerwitz2018-02-191-3/+24
| | | | | | any/all blocks within classifications are extracted into their own classifications. When they have sibling nodes, the extracted classifications did not have their templates expanded. Ouch.
* Copyright update (R-T Specialty)v2.9.0Mike Gerwitz2018-02-0176-78/+78
|
* Add HACKINGMike Gerwitz2018-02-012-1/+43
| | | | | * HACKING: New file. * README.md: Copyright update. Add mention of HACKING.
* lv:rate/@generates: Validation error (bugfix)Mike Gerwitz2018-02-011-0/+18
| | | | | * src/current/compiler/validate.xsl (lvv:validate)[lv:rate[@generates]]: Throw validation error.
* template: Add prefix and suffix conditional support (feature)Mike Gerwitz2018-02-011-0/+32
| | | | | * src/current/include/preproc/template.xsl (preproc:apply-template-cmp): Add @prefix and @suffix.
* validate: Error on nested rate blocks (bugfix)Mike Gerwitz2018-02-011-0/+18
| | | | | * src/current/compiler/validate.xsl (lvv:validate) [lv:rate[ancestor::lv:rate]]: Error on nested rate block.
* symtable: Only consider first lv:rate ancestor for parent (bugfix)Mike Gerwitz2018-02-011-1/+4
| | | | | | | | | This is a situation that should never happen (I haven't yet determined whether or not we should support this type of thing in the future), but when it does, do something intelligent. * src/current/include/preproc/symtable.xsl (preproc:symtable)[c:*[@generates]]: Consider only first ancestor lv:rate.
* c:sum/@of: Support let valuesv2.8.11Mike Gerwitz2018-01-301-0/+7
| | | | | | | It's not good that c:let is still doing its own logic for this. * src/current/compiler/js-calc.xsl (compile-calc)[c:sum[@of]]: Support c:let values.
* calc.xsd: Allow ##other in constsv2.8.10Mike Gerwitz2018-01-291-0/+1
| | | | * src/current/calc.xsd (constType): Allow ##other
* Permit matrix reference in c:length-of (bugfix)v2.8.9Mike Gerwitz2018-01-291-5/+5
| | | | | * src/current/compiler/validate.xsl (lvv:validate)[c:value]: Allow direct matrix reference (without index) in `c:length-of'.
* Display error on non-scalar constant lv:match/@value (bugfix)Mike Gerwitz2018-01-291-8/+9
| | | | | * src/current/compiler/js.xsl (compile)[lv:match]: Display error on bad match, as it was intended.
* src/current/calc.xsd (nameType): Permit numeric literals (bugfix)Mike Gerwitz2018-01-291-1/+1
| | | | | | | * src/current/calc.xsd (nameType): Permit numeric literals. These have already been permitted, but the XSD disallowed. They worked in templates.
* template: Remove accidental debug outputv2.8.8Mike Gerwitz2018-01-251-1/+0
| | | | | * src/current/include/preproc/template.xsl (preproc:apply-template)[@*]: Remove debug output.
* entry-form: Ignore missing DOM elementsv2.8.7Mike Gerwitz2018-01-251-0/+5
| | | | | * src/current/scripts/entry-form.js (updateParamTestcaseDfn): Ignore if DOM element cannot be found.
* Retain unknown template param references during expansionMike Gerwitz2018-01-251-6/+21
| | | | | | | | | | | | | For example, with template-generating templates, if a reference is unknown and therefore determined to be blank, an attribute might be completely removed while the template is being generated. (See the /when package in core for an example.) That is not good. * src/current/include/preproc/template (preproc:expand-template): Add `tpl' tunneling param to preproc:apply-template application. (preproc:apply-template)[@*]: Retain param reference if applying template does not define it.
* Retain template conditionals verbatim if param unknownv2.8.6Mike Gerwitz2018-01-181-5/+1
| | | | | | | This is important for template-generating templates. * src/current/include/preproc/template.xsl (lv:if,lv:unlesS): Retain conditional nodes verbatim when referenced param is unknown.
* Mark generated @yields on classes and rate-each as such on symbolsMike Gerwitz2018-01-163-1/+15
| | | | | | | | | | | | * src/current/include/preproc/expand.xsl (lv:classify): Set `@preproc:yields-generated' if `@yields' was not previously defined. * src/current/include/preproc/macros.xsl: (lv:rate-each): Set `@preproc:yields-generated` if `@yields' was not previously defined. * src/current/include/preproc/symtable.xsl: (lv:rate, lv:classify): Set `@preproc:generated` on symbol if `@preproc:yields-generated'.