NH_xunit

xUnit style testing.

These are versions of this script where the code was updated. Show all versions.

  • v53 2024-02-23

    Stop using name as an identifier as it shadows a global.

    This change addresses local variable.

    Issue #238.

    Clean up some obsolete code from TestRunner.

    The equivalent is now handled in TestCase.run(), so this is never executed.

    Bump version number.

  • v52 2024-02-08

    Fix two cases where a global was accidentally being used.

    Issue #238.

    Bump version number.

  • v51 2023-12-21

    Consider xunit finished.

    There will probably always be more assertions and such, but all known current bugs, features and enhancements are addressed.

    Issue #172.

    Bump version number.

  • v50 2023-12-19

    Migrate asserts to using supported new constructs.

    Issue #183.

    Bump version number.

  • v49 2023-12-17

    Default to making assertion descriptions mandatory when more than 1.

    Issue #215.

    Bump version number.

  • v48 2023-12-16

    Do not double count assertions with assertRaises().

    Issue #215.

    Add descriptive text to some assertions.

    Issue #215.

    Finalize tunables for missing asserts.

    Issue #215.

    Bump version number.

  • v47 2023-12-14

    Add some assert descriptions.

    Issue #215.

    Tighten the limits for asserts sans descriptions.

    Issue #215.

    Bump version number.

  • v46 2023-12-13

    Add some issue numbers to some TODOs.

    Issue #183.

    Add some assert descriptions and expand tests to include content.

    Issues #183, #215.

    Bump version number.

  • v45 2023-12-12

    Add some descriptive text to asserts.

    This time, TestResultTestCase.testWasSuccessful().

    Issue #215.

    Bump version number.

  • v44 2023-12-11

    Add descriptive text to a bunch of asserts under test.

    Issue #215.

    Bump version number.

  • v43 2023-12-10

    Reword "inner assert" as "assert under test".

    Issue #215.

    Add descriptive text to a bunch of asserts under test.

    Issue #215.

    Bump version number.

  • v42 2023-12-08

    Add descriptive text to a bunch of asserts.

    Those tests for assertX() methods themselves were a surprise.

    Issue #215.

    Bump version number.

  • v41 2023-12-05

    Add a bunch of descriptions to assertX() methods.

    Issue #215.

    Crank down the missing asserts alert and tweak failure message.

    Issue #215.

    Bump version number.

  • v40 2023-12-04

    Implement a warning if many assertions are called without messages.

    Currently there are a 35 test methods that would trigger this with the desired configuration. So currently tuned to allow a focused burn down list.

    Interestingly, most of them are in TestCaseTestCase itself.

    Issue #215.

    Bump version number.

  • v39 2023-12-03

    Improve output of equalArray() error messages.

    This is now in line with the equal{Map,Set}() implementations.

    Issue #183.

    Bump version number.

  • v38 2023-12-02

    Normalize maps and sets into strings before comparing.

    A bit surprised by how nicely this worked.

    Issue #183.

    Bump version number.

  • v37 2023-12-01

    JSDoc: Minor grammar tweak.

    Document that order is ignored for some tests.

    Issue #183.

    Document a bug that we need to fix in equalMap().

    Issue #183.

    Implement TestCase.equalSet().

    Rough, but a start.

    Issue #183.

    Bump version number.

  • v36 2023-11-29

    JSDoc: Update parameter types for recently added methods.

    Issue #183.

    Implement TestCase.equalObject().

    Issue #183.

    Bump version number.

  • v34 2023-11-28

    JSDoc: Improve precision.

    Issue #183.

    Improved reprMap() and reprSet().

    Issue #183.

    Bump version number.

  • v35 2023-11-28 Imported from URL
  • v34 2023-11-27

    JSDoc: Improve precision.

    Issue #183.

    Improved reprMap() and reprSet().

    Issue #183.

    Bump version number.

  • v33 2023-11-26

    Improved reprObject().

    Issue #183.

    Implement TestCase.assertNoRaises().

    Also includes an example of updating an existing test method to use it.

    Issue #211.

    Bump version number.

  • v32 2023-11-25

    Add descriptive text to testAssert{True,False}()

    Issue #183.

    Bump version number.

  • v31 2023-11-24

    Initial implementations of repr{Object,Map,Set}().

    Backwards compatible in output, just delegating to different methods now.

    Issue #183.

    Remove a Test prefix from a TestCase.

    Bump version number.

  • v30 2023-11-23

    Improved reprArray().

    Issue #183.

    Bump version number.

  • v29 2023-11-22

    Move testing reprString() into its own method.

    Issue #183.

    eslint: Deal with some upcoming tweaks to newline-per-chained-call.

    Issue #203.

    Bump version number.

  • v28 2023-11-20

    Wrap strings in double quotes in test assertion failure messages.

    This helps differentiate between things like 0 vs '0' in messages. It is also in line with what Python's assertions and JSON.stringify() does.

    Issue #183.

    Bump version number.

  • v27 2023-11-19

    Update testing documentation.

    Issue #179.

    Tweak some failure messages/details.

    It can be tricky telling apart the failures when testing assertX() and equalX() functions. This additional whitespace and identifying characters helps a bit.

    Issue #183.

    Bump version number.

  • v26 2023-11-18

    Add tests against using String() and not just the primitive.

    Issue #183.

    Bump version number.

  • v25 2023-11-17

    Remove funcs field from xunit.testing.

    No longer used.

    Issue #179.

    JSDoc: Update reprArray.

    Issue #183.

    Initial implementation of reprString().

    Still backwards compatible. Will fix that in the next change.

    Issue #183.

    Bump version number.

  • v24 2023-11-16

    Add descriptive text to many test methods with multiple assertions.

    It turns out that tweaking the error messages is a little harder than anticipated, so more detail about which assertion failed is handy.

    Issue #183.

    Bump version number.

  • v23 2023-11-15

    Implement TestResult.summary().

    Issue #200.

    Bump version number.

  • v22 2023-11-14

    JSDoc: Update name of the referenced TestCase.

    Issue #172.

    Normalize breaking out of method name.

    Even though this particular one will fit on the line without wrapping, it does look out of place compared to the subsequent tests.

    Issue #172.

    Capture more information about tests in TestResult.

    Issue #200.

    Run #failMsgs() messages through String() rather than repr().

    There will be an upcoming change which results is double wrapping. However, we still need to protect against random stuff in messages (like Symbol()).

    Issue #183.

    Bump version number.

  • v21 2023-11-13

    JSDoc: Wrap method in markdown asterisks.

    Issue #183.

    Create repr() and {add,get}ReprFunc() and plug in.

    Also created reprArray(), though it does the same thing as before.

    With this change, there are no differences, just a framework and initial implementation.

    Issue #183.

    Bump version number.

  • v20 2023-11-12

    Write test to verify TestRunner accumulates results correctly.

    This should round out everything we need to do for TestRunner.

    Issue #172.

    Typo and grammar improvements.

    Issue #172.

    JSDoc: Improve description of how to use TestCase.

    Issue #172.

    Implement TestCase.equalValueOf().

    Also have a way to change the fallback equalX() function.

    Issue #183.

    Bump version number.

  • v19 2023-11-10

    Write test to verify TestRunner finds test methods correctly.

    Issue #172.

    Implement TestCase.equalArray().

    This also allows for fixing up a couple of tests that not longer need to wrap with JSON.stringify().

    Issue #183.

    Implement TestCase.assertRegExp().

    Issue #172.

    Improve documentation surrounding the msg parameter in asserts.

    Issue #172.

    Bump version number.

  • v18 2023-11-09

    Create {add,get}EqualFunc() and plug into assert{Not,}Equal().

    This includes reworking #testPrimitives() into equalEqEqEq() and the creation of equalString() to show how to create type specific comparators.

    Issue #183.

    Rename #doClassCleanups() for consistency.

    Issue #172.

    Move some test classes into the test method that uses them.

    Issue #172.

    Add tests for TestRunner.doClassCleanups().

    Issue #172.

    Give some assertions a message parameter.

    This makes it easier to since we cannot reliable grab line numbers.

    Issue #183.

    Bump version number.

  • v17 2023-11-08

    Implement getType().

    This will help us choose a comparator function.

    Issue #183.

    Bump version numbers.

  • v16 2023-11-07

    Factor out common code from assert{,Not}Equal().

    Giving a hint towards future work.

    Issue #183.

    Bump version numbers.

  • v15 2023-11-06

    Change the error message in TestCase.assertEqual().

    Issue #183.

    Implement TestCase.assertNotEqual().

    Some of the tests are surprising. For example {} !== {} and [] !== []. That is just the way JavaScript is implemented.

    Also, why this bug exists: To make it possible to make those comparisons in tests.

    Issue #183.

    Bump version numbers.

  • v14 2023-11-05

    Make test failure messages more robust against strange types.

    Issue #172.

    Bump version numbers.

  • v13 2023-11-04

    style-nudge: Right place properties in TestResult.

    Also reorder a method to match the new order of the properties.

    Issue #173.

    Use localResult in the body of TestCase.run().

    Issue #186.

    Actually run doCleanups().

    Also test using the new run() mechanism.

    Issue #186.

    Check result.

    Issue #186.

    Make sure that skips and fails in cleanups count as errors.

    Issue #186.

    Bump version numbers.

  • v12 2023-11-03

    Move TestResult back above TestCase.

    Upcoming changes will need this. The TestResultTestCase stays put.

    Issue #172.

    Move test method execution out of TestRunner into TestCase.

    This allows running a test without using a TestRunner.

    Subsequent changes will update TestCaseTestCase to use this approach rather than calling methods directly.

    This is equivalent to the previous code, however, it turns out that has a bit problem: it did not run doCleanups().

    Issue #186.

    style-nudge: Right place properties in TestCase.

    Issue #173.

    Bump version numbers.

  • v11 2023-11-02

    Have the msg = '' arguments append to, not replace error messages.

    Issue #172.

    Create a TestCase.id property.

    Issue #172.

    Bump version numbers.

  • v10 2023-11-01

    More tests for TestRunner.

    Issue #172.

    Explicitly test assertEqual() on all primitives.

    This exposed some issues with the failure message. It still has issues, but does not crash with these examples.

    Issue #183.

    Bump version numbers.

  • v9 2023-10-31

    Throw TypeError when passing in a bad test class.

    Issue #172.

    Do NOT run test methods if setUpClass has problems or skips.

    Issue #172.

    Add a single test for TestRunner.

    There are lots to do, but exposing bugs and features not yet implemented.

    Issue #172.

    Bump version numbers.

  • v8 2023-10-30

    Implement TestCase.assertTrue() and TestCase.assertFalse().

    Issue #172.

    Sort the eslint-disable directives and rename the test class.

    Issue #172.

    Add tests for TestResult.

    Issue #172.

    Prep test class for TestRunner.

    Issue #172.

    Bump version numbers.

  • v7 2023-10-29

    Tests for assertEqual, assertRaises, and assertRaisesRegExp.

    This catches up on tests for TestCase.

    Issue #172.

    Remove noisy JSDoc for test methods.

    The names are usually sufficient.

    Issue #172.

    Bump version numbers.

  • v6 2023-10-28

    Improve documentation about BasicFeaturesTestCase.

    Issue #172.

    Implement TestCase.assertRaisesRegExp().

    This different from Python's unittest name, assertRaisesRegex, because in JS-land, the preference seems to be RegExp.

    Also, rewrite assertRaises() in terms of this function.

    Issue #172.

    Tests for TestCase.skip() and TestCase.fail().

    Issue #172.

    Bump version numbers.

  • v5 2023-10-28

    Implement TestCase.doCleanups().

    Issue #172.

    Bump version numbers.

Show all script versions