forked from hamcrest/PyHamcrest
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
208 lines (139 loc) · 6.94 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
=== Version 2.0.2 ===
Various type hint bug fixes.
=== Version 2.0.1 ===
* Make hamcrest package PEP 561 compatible, i.e. supply type hints for external use.
=== Version 2.0.0 ==
Drop formal support for 2.x
Drop formal support for 3.x < 3.5
Fix #128 - raises() grows support for additional matchers on exception object.
* Made has_properties() report all mismatches, not just the first.
* Silence warnings.
* Type fixes.
* Remove obsolete dependencies.
=== Version 1.10.1 ==
Add support up to Python 3.8
Fix #66 - deprecate contains() in favour of contains_exactly().
Fix #72 - make has_properties mismatch description less verbose by adding option to AllOf not to include matcher description in its mismatch messages.
Fix #82 - include exception details in mismatch description.
=== Version 1.9.0 ==
Drop formal support for 2.x < 2.7
Drop formal support for 3.x < 3.4
Fix #62 - Return result of a deferred call
=== Version 1.8.5 ===
Fix #56 - incorrect handling of () in is_ matcher
Fix #60 - correct calling API call with args
=== Version 1.8.4 ==
* Fix #54 - Make instance_of work with tuple like isinstance and unittest's assertIsInstance
=== Version 1.8.3 ===
* Fix #52 - bad handling when reporting mismatches for byte arrays in Python 3
=== Version 1.8.2 ===
* [Bug] Fix unicode syntax via u() introduction (puppsman)
=== Version 1.8.1 ===
* Added not_ alias for is_not [Matteo Bertini]
* Added doc directory to the sdist [Alex Brandt]
=== Version 1.8 ==
* Supported versions
- Support for Python 2.5 and Jython 2.5 has been dropped. They may still work, but no promises.
* Bug Fixes
- [#39] is_empty was missing from the global namespace
* New Features
- Support for numpy numeric values in iscloseto (Alexander Beedie)
- A matcher targeting exceptions and call results (Per Fagrell)
=== Version 1.7 ==
2 Sep 2013 (Version 1.7.2)
* Supported versions
- As of this version, support for Python 3.1 has been dropped due to no available CI platform.
- Added support for Python 3.3
* Bug fixes:
- string_contains_in_order is now used in the test as it would be in an application, and is properly exported. (Romilly Cocking)
- Fix mismatch description of containing_inanyorder (David Keijser)
- added import of stringmatches to text/__init__.py (Eric Scheidemantle)
- added matches_regexp to __all__ list to library/__init__.py (Eric Scheidemantle)
5 Jan 2010 (Version 1.7.1)
* Bug fixes:
- included a fix by jaimegildesagredo for issue #28 (has_properties was not importable)
- included a fix by keys for contains_inanyorder
29 Dec 2012
(All changes by Chris Rose unless otherwise noted.)
* New matchers:
- matches_regexp matches a regular expression in a string.
- has_properties matches an object with more than one property.
- is_empty matches any object with length 0.
* Improvements:
- Can now do matching against old-style classes.
- Sequence matchers handle generators, as well as actual sequences and
pseudo-sequences.
- README enhancements by ming13
=== Version 1.6 ==
27 Sep 2011
(All changes by Chris Rose unless otherwise noted.)
* Packaging:
- Python 3.2 support.
* New matchers:
- has_property('property_name', value_matcher) matches if object has a property with a given name whose value satisfies a given matcher.
* Improvements:
- hasEntries supports two new calling conventions:
has_entries({'key' : value_matcher, 'key_2' : other_value_matcher})
has_entries(key=value_matcher, key_2=other_value_matcher)
- Describe Unicode strings by their __repr__. Thanks to: Sebastian Arming
- Rewrote documentation. (Jon Reid)
== Version 1.5 ==
29 Apr 2011
* Packaging:
- Python 3.1 support. Thanks to: Chris Rose
- Easier installation with bootstrapping. Thanks to: Chris Rose
* Mock integration:
- "match_equality" wraps a matcher to define equality in terms of satisfying the matcher. This allows Hamcrest matchers to be used in libraries that are not Hamcrest-aware, such as Michael Foord's mock library. Thanks to: Chris Rose
* New matcher:
- "string_contains_in_order" matches string containing given list of substrings, in order. Thanks to: Romilly Cocking
* Improved matchers:
- For consistency, changed "any_of" and "all_of" to implicitly wrap non-matcher values in EqualTo. Thanks to: Chris Rose
- Changed "sameInstance" mismatch description to omit address when describing
None.
== Version 1.4 ==
13 Feb 2011
* New matchers:
- "has_entries" matches dictionary containing key-value pairs satisfying a given list of alternating keys and value matchers.
* "assert_that" can be invoked with a single boolean argument; the reason message is now optional. This is a convenience replacement for assertTrue. Thanks to: Jeong-Min Lee
* Improved descriptions:
- Reverted 1.3 change: Describe None as "<None>" after all, since it is an object.
- "is_" no longer says "is ..." in its description, but just lets the inner description pass through.
- Consistently use articles to begin descriptions, such as "a sequence containing" instead of "sequence containing".
== Version 1.3 ==
04 Feb 2011
* PyHamcrest is now compatible with Python 3! To install PyHamcrest on Python 3:
- Install the "distribute" package, http://pypi.python.org/pypi/distribute
- Run "python3 setup.py install"
Unit tests are not converted by the install procedure. Run "2to3 -nw ." separately to convert them. You may discover import statements in the __init__.py files (and one in core/base_description.py) that need dot prefixes.
Thanks to: Jeong-Min Lee
* Improved descriptions and mismatch descriptions of several matchers, including:
- Fixed "contains" and "contains_inanyorder" to describe mismatch if item is not a sequence.
- Fixed "described_as" to use nested matcher to generate mismatch description.
- "same_instance" is more readable, and includes object memory addresses.
- If object has a length, "has_length" mismatch describes actual length.
- Describe None as "None" instead of "<None>".
- Don't wrap angle brackets around a description that already has them.
- Improved readability of several matchers.
== Version 1.2.1 ==
04 Jan 2011
* Fixed "assert_that" to describe the diagnosis of the mismatch, not just the
mismatched value. PyHamcrest will now give even more useful information.
* Expanded BaseDescription.append_description_of to handle all types of values, not just self-describing values.
* Deprecated:
- Description.append_value no longer needed; call append_description_of instead.
- BaseDescription.append_value_list no longer needed; call append_list instead.
- SelfDescribingValue no longer needed.
1.2.1 fixes to 1.2:
- Corrected manifest so install works. Thanks to: Jeong-Min Lee
== Version 1.1 ==
28 Dec 2010
* New matchers:
- "contains" matches sequence containing matching items in order.
- "contains_inanyorder" matches sequence containing matching items in any order.
* Added Sphinx documentation support.
== Version 1.0 ==
04 Dec 2010
* First official release
* Text matchers now support Unicode strings
15 Jan 2008
* Initial submission