Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support deep matchers #203

Merged
merged 10 commits into from Mar 12, 2017
Merged

Support deep matchers #203

merged 10 commits into from Mar 12, 2017

Commits on Mar 10, 2017

  1. Merge branch 'deep-matchers' of https://github.com/uhoh-itsmaciek/tes…

    …tdouble.js into uhoh-itsmaciek-deep-matchers
    searls committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    9ef33df View commit details
    Browse the repository at this point in the history
  2. Fix unit tests

    searls committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    3a5b608 View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2017

  1. play with examples

    searls committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    617ca8e View commit details
    Browse the repository at this point in the history
  2. Test to expose circular structure bug in impl

    Finally looked at implementation and saw that it'd recurse 
    infinitely for objects with circular structures, which is 
    definitely not good (and will break td.js even when not
    using matchers
    searls committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    e4ea059 View commit details
    Browse the repository at this point in the history
  3. Eliminate custom comparison logic

    Trying to implement a recursive element comparator entirely
    inside this function would have been really confusing/error
    prone (esp. considering how much work has gone into making
    lodash's do the right thing). This commit uses the
    `_.isEqualWith` function's `customizer` predicate to be able to
    selectively compare values that match a condition (or return
    undefined to fall back to default behavior.
    
    In our case, if the expected element is a matcher (which we can
    determine based on the presence of `__matches`), then we will
    try to match it to the actual element. 
    
    This fixes e4ea059
    searls committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    ed26ac4 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2017

  1. Configuration menu
    Copy the full SHA
    19d1cf7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c733ba0 View commit details
    Browse the repository at this point in the history
  3. I don't know why I did this

    There's no apparent test for this.
    searls committed Mar 12, 2017
    Configuration menu
    Copy the full SHA
    0fabb7b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2256ad3 View commit details
    Browse the repository at this point in the history
  5. this will start working as soon as I publish

    (But alas, tethering on 2G data does not agree with `npm`)
    searls committed Mar 12, 2017
    Configuration menu
    Copy the full SHA
    ebc091a View commit details
    Browse the repository at this point in the history