Skip to content

Commits

Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Dec 26, 2017

  1. Copy the full SHA
    d4bc970 View commit details
    Browse the repository at this point in the history
  2. Changelog for 3.3.0

    searls committed Dec 26, 2017
    Copy the full SHA
    e6fbd50 View commit details
    Browse the repository at this point in the history
  3. 3.3.0

    searls committed Dec 26, 2017
    Copy the full SHA
    8b0409b View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    7200eab View commit details
    Browse the repository at this point in the history
  5. Drop inappropriate condition

    Now that nested matchers work, this passes without any special case
    for arrays:
    
    contains({foo: 'bar', baz: contains(12, 13)}).
    	__matches({foo: 'bar', baz: [18, 12, 13, 15], stuff: this})
    searls committed Dec 26, 2017
    Copy the full SHA
    a8cb113 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    afb5ddf View commit details
    Browse the repository at this point in the history
  7. make contains accept matcher args for any iterable

    So now `td.matchers.contains()` can take a matcher for any (presumed to 
    be) iterable actual argument, meaning td.matchers.contains(isA(Number)) 
    would match actual arg `['a', 2]` or `{a: 'b', c: 2}`, but not `2` 
    itself.
    
    This commit also refactors any array specific logic out of the 
    containsAllSpecified function, since once we're traversing a sparse
    JS object, normal rules should apply that any specified properties be
    matched appropriately.  
    
    Finally, the commit flattens out the multi-return statements in each
    instance.
    searls committed Dec 26, 2017
    Copy the full SHA
    18aefd4 View commit details
    Browse the repository at this point in the history
  8. standard

    searls committed Dec 26, 2017
    Copy the full SHA
    f97989e View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    d286d24 View commit details
    Browse the repository at this point in the history

Commits on Dec 25, 2017

  1. Copy the full SHA
    5a0f803 View commit details
    Browse the repository at this point in the history
  2. make tests pass

    lgandecki committed Dec 25, 2017
    Copy the full SHA
    4e410f6 View commit details
    Browse the repository at this point in the history
  3. re-fail test after refactor

    searls committed Dec 25, 2017
    Copy the full SHA
    b13c0b0 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    7e7b243 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    ce74295 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    b3b4fb8 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    de57c8d View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2017

  1. Step 9: refactor ensureDemonstration to "pop"

    In general, when I can remove a logical branch from a delegator unit
    (this unit is said to be a "delegator" because its primary task is 
    offloading work onto other units), I'll usually rework the naming to 
    push the branch down. Therefore, "ensureDemonstration" became 
    "popDemonstration", and instead of simply providing a null-check and a
    potential error, it will now pop the CallLog itself and blow up as 
    necessary.
    
    Does it really matter whose job that is? No, not really. But is the 
    resulting `verify` module cleaner? Absolutely! It no longer mixes levels
    of abstraction quite so much (notice how before it was a little odd how
    the unit had awareness of a repository object as well as 5 business 
    logic modules)
    
    This refactor is a good example of the kind of thought process that
    discovery testing encourages which I typically would never have 
    undergone had I just written the code (or even "classical TDD'd" it)
    searls committed Dec 23, 2017
    Copy the full SHA
    ef2c419 View commit details
    Browse the repository at this point in the history
  2. Step 8: Make the third test pass

    I expected this test to pass without changes, but it didn't!
    To my surprise, destructured parameter assignment explodes
    if the right side is null or undefined (this gives a good
    error message in native v8, but when babelified the message
    is not helpful).
    
    Now, a decision: leave this gross `|| {}`, adding to the branching
    complexity of the unit to mask over this language quibble, OR refactor
    things around to push that complexity onto ensureDemonstration, so it
    can effectively serve as the wrapper, throwing instead of returning a 
    null or a default.
    searls committed Dec 23, 2017
    Copy the full SHA
    d0afa13 View commit details
    Browse the repository at this point in the history
  3. Step 7: write the third failing test

    Note that in addition to verifying ensure throws (it will
    actually use td's `log.fail` function), that it also asserts
    this occurs prior to the other side-effect-having dependencies
    so those are not called in this case.
    searls committed Dec 23, 2017
    Copy the full SHA
    d4f9662 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    a3c92bc View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    33b6e49 View commit details
    Browse the repository at this point in the history
  6. Step 4: make the first test pass

    This is not proper Kent Beckian triangulation, because 
    I threw the if() statement in there before it was properly
    required by the test. In practice I'll probably comment out
    the branch with and without the tests to ensure it's being
    demanded properly, which is hard to capture in a git log
    searls committed Dec 23, 2017
    Copy the full SHA
    d9d30f9 View commit details
    Browse the repository at this point in the history
  7. Step 3: write the first failing test

    This uses real Double, Call values and also the
    actual CallLog. These are not application logic 
    from the perspective of verify(), simply the place 
    it gets its data from (as opposed to an argument, 
    which is more typical).
    searls committed Dec 23, 2017
    Copy the full SHA
    66389cb View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    aae0ea6 View commit details
    Browse the repository at this point in the history
  9. Step 2: name the things I want to exist in test

    Note the three test cases map to the three logical branches
    present in the pseudocode comment, too. Everything is now
    accounted for and everything from here on out is 
    paint-by-number. If anything is hard AFTER this point, it's
    because I'll have forgotten about how to satisfy a method
    contract or decide I dislike something about the types being
    passed around
    searls committed Dec 23, 2017
    Copy the full SHA
    3201c65 View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    d704eb4 View commit details
    Browse the repository at this point in the history
  11. cover everything

    searls committed Dec 23, 2017
    Copy the full SHA
    5c84a5f View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2017

  1. Copy the full SHA
    7ed8cd3 View commit details
    Browse the repository at this point in the history
  2. standardize

    searls committed Dec 22, 2017
    Copy the full SHA
    b8c0dbf View commit details
    Browse the repository at this point in the history
  3. Update 8-custom-matchers.md

    searls committed Dec 22, 2017
    Copy the full SHA
    be67ad2 View commit details
    Browse the repository at this point in the history
  4. add a test for clarity

    searls committed Dec 22, 2017
    Copy the full SHA
    389a299 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    f3cde3a View commit details
    Browse the repository at this point in the history
  6. add coverage for the teenytest suite

    This is just a handy way to guide remaining rewrite work
    searls committed Dec 22, 2017
    Copy the full SHA
    e754417 View commit details
    Browse the repository at this point in the history
  7. I believe this is dead code, but am not sure

    The code wasn't covered by any tests, which are pretty 
    exhaustive for this feature. Hopefully it's actually dead
    code, but if not hopefully someone finds it soon enough to
    remember it was removed
    searls committed Dec 22, 2017
    Copy the full SHA
    47d27cf View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2017

  1. Copy the full SHA
    da58d5f View commit details
    Browse the repository at this point in the history
Older