Skip to content

Tags: cmu-is-projects/Nimble

Tags

v2.0.0-rc.3

Toggle v2.0.0-rc.3's commit message

Verified

This tag was signed with the committer’s verified signature.
jeffh Jeff Hui
Nimble v2.0.0 Release Candidate 3

=================================

This release is compatible with Xcode beta 6 (Swift 2.0).

Note to carthage Users: You must explicitly give this version for Carthage to install.

```
github "Quick/Nimble" "v2.0.0-rc.3"
```

Changes
=======

- Updated for Xcode 7 beta 6
- `beCloseTo` now works with `NSDate` without having to convert it
- Cocoapod users can now run Nimble in devices
- objc: Added fail() and failWithMessage() functions

v2.0.0-rc.2

Toggle v2.0.0-rc.2's commit message

Verified

This tag was signed with the committer’s verified signature.
jeffh Jeff Hui
Nimble 2.0.0 Release Candidate 2

================================

This release is compatible with Xcode 7 beta 4 (Swift 2.0).

Note to Carthage Users: You must explicitly give this version for Carthage to install.

    github "Quick/Nimble" "v2.0.0-rc.2"

Backwards Incompatible Changes
------------------------------

- swift: Expectations now properly handle the new Swift error handling syntax.
  This means expectations implicitly allow throws and will fail with a useful
  error message if a closure throws one:

    expect { try throwAnError() }.to(equal(1)) // Failed - Expected to equal 1, got an unexpected error thrown: ...

- objc: expectAction() is now a macro that requires an Objective-C block instead of building an implicit block:

    Old:
        expectAction([obj raiseException]).to(raiseException(...));
    New:
        expectAction(^{ [obj raiseException]; }).to(raiseException(...));

Additions
---------

- You can now specify custom error messages for expectations. This is useful
  for large integration tests, where an expectation is usually a sanity check to
  a larger operation:

    expect(1).to(equal(2), description: "Just checking equality!") // failed - Just checking equality!

- swift: Fixed ≈ precedence
- swift: beAKindOf() and beAnInstanceOf() emits useful errors when trying to
  compare against Swift Types. This is not allowed in Nimble because the Swift
  compiler already enforces this.
- swift: Added throwAnError() matcher for verifying the behavior of closures that throw an error:

    expect { try somethingDangerous() }.to(throwAnError())

- objc: NMBObjCMatcher initializers are now public
- objc: contain() matcher now accepts variadic arguments. Each value passed to contain() is expected to be in the container:

    expect(@[@1, @2, @3]).to(contain(@1, @2)); // passes

v1.0.0

Toggle v1.0.0's commit message

Verified

This tag was signed with the committer’s verified signature.
jeffh Jeff Hui
Nimble 1.0.0

============

Final version release! From now on, Nimble will follow semantic versioning rules.

**Remember** that version 1.0.0 of Nimble tracks with the stable Swift (1.2) / Xcode (6).
If you're using Swift 2.0 / Xcode 7, please use 2.0.0-rc.1 instead.

Diff from Release Candidate 1 to Final
--------------------------------------

Changes:

- beAKindOf and beAnInstanceOf raise errors when used with swift native types instead of producing obscure compiler errors.
- Publicize NMBObjCMatcher constructors
- Updated README to use `@import Nimble;` instead of `#import <Nimble/Nimble.h>` for Objective-C.

Diff in Release Candidate 1
---------------------------

Changes:

- FailureMessage.stringValue is now a property. It can be assigned to override other values.
- beTruthy() and beFalsy() matchers now work for nil types and Swift
- raiseException() no longer accepts matchers. Use the closure form instead.
- AssertionHandler protocol recieves FailureMessage instead of a String.
- Expectation.verify() now uses FailureMessage instead of String.
- Renamed NMB_wait* builder functions to be more consistent with rest of Nimble.
- fail() with no args passes through line number and file information
- NMBObjCMatcher closure no long accepts source location directly. Use actualExpression.location instead.
- FullMatcherFunc no longer negates doesNotMatch() when invoking its given closure.

Removed:

- NMBWait class is now private.
- Removed BasicMatcherWrapper
- Removed NonNilBasicMatcherWrapper
- Removed NonNilMatcherWrapper, use NonNilMatcherFunc for the same behavior.
- Removed FullMatcherWrapper

v2.0.0-rc.1

Toggle v2.0.0-rc.1's commit message
Release Candidate for 2.0.0.

Changes:

- Backwards incompatible changes for Swift 2.0.
- beEmpty() matcher is now defined specifically for String--in Swift 1.2 a
  definition for NSString was sufficient.

v1.0.0-rc.1

Toggle v1.0.0-rc.1's commit message

Verified

This tag was signed with the committer’s verified signature.
jeffh Jeff Hui
Release Candidate for 1.0.0.

Changes:

- FailureMessage.stringValue is now a property. It can be assigned to override other values.
- beTruthy() and beFalsy() matchers now work for nil types and Swift
- raiseException() no longer accepts matchers. Use the closure form instead.
- AssertionHandler protocol recieves FailureMessage instead of a String.
- Expectation.verify() now uses FailureMessage instead of String.
- Renamed NMB_wait* builder functions to be more consistent with rest of Nimble.
- fail() with no args passes through line number and file information
- NMBObjCMatcher closure no long accepts source location directly. Use actualExpression.location instead.
- FullMatcherFunc no longer negates doesNotMatch() when invoking its given closure.

Removed:

- NMBWait class is now private.
- Removed BasicMatcherWrapper
- Removed NonNilBasicMatcherWrapper
- Removed NonNilMatcherWrapper, use NonNilMatcherFunc for the same behavior.
- Removed FullMatcherWrapper

v0.4.2

Toggle v0.4.2's commit message

Verified

This tag was signed with the committer’s verified signature.
jeffh Jeff Hui
v0.4.2

Changes:

- Set minimum iOS deployment target to 7.

v0.4.1

Toggle v0.4.1's commit message
Merge pull request Quick#95 from rbeeger/allPassMatcher

All pass matcher

v0.3.1

Toggle v0.3.1's commit message

Verified

This tag was signed with the committer’s verified signature.
jeffh Jeff Hui
v0.3.1

======

Backport of features are available in v0.4.0. v0.3.1 works for Swift 1.1 while
v0.4.0 is for Swift 1.2.

Features:

- Added `beEmpty()` matcher for objective-C.
- `raiseException()` can match userInfo.

Changes:

- Changed last minimum iOS SDK to 7.0.

v0.4.0

Toggle v0.4.0's commit message

Verified

This tag was signed with the committer’s verified signature.
jeffh Jeff Hui
Nimble v0.4.0

=============

This version includes backwards-incompatible changes to support Swift 1.2. The
previous behavior of lazy evaluation of the argument in expect(...) has been
removed since Swift 1.2 no longer supports this. Use expect { ... } if you want
the lazy closure behavior.

Using toEventually() will check that this explicit closure is used and will
explicitly fail if the closure is not provided to expect.

Along with fixes for Swift 1.2, there are a few new features:

- Added beEmpty matcher for Objective-C.
- raiseException matcher can compare an exception's userInfo

v0.3.0

Toggle v0.3.0's commit message
Set version to 0.3.0.