From 2d4b4c7568ac302bee17a6df7c0852b931dd0a6b Mon Sep 17 00:00:00 2001 From: lkx690 Date: Wed, 26 Feb 2020 16:49:23 +0800 Subject: [PATCH] package init --- 0001-Add-boolean-matchers.patch | 134 ++++++++++++++++++++++++++++++++ python-hamcrest-1.9.0.tar.gz | Bin 0 -> 57650 bytes python-hamcrest.spec | 70 +++++++++++++++++ 3 files changed, 204 insertions(+) create mode 100644 0001-Add-boolean-matchers.patch create mode 100644 python-hamcrest-1.9.0.tar.gz create mode 100644 python-hamcrest.spec diff --git a/0001-Add-boolean-matchers.patch b/0001-Add-boolean-matchers.patch new file mode 100644 index 0000000..f3fdde2 --- /dev/null +++ b/0001-Add-boolean-matchers.patch @@ -0,0 +1,134 @@ +From 37a4d0dbeb9a92b959edfb9b1aceba4eaacf9f78 Mon Sep 17 00:00:00 2001 +From: Alex Panov +Date: Sun, 15 May 2016 23:36:18 -0400 +Subject: [PATCH] Add boolean matchers + +--- + README.rst | 5 ++++ + src/hamcrest/library/__init__.py | 3 ++ + src/hamcrest/library/bool/__init__.py | 1 + + src/hamcrest/library/bool/bool_comparison.py | 22 ++++++++++++++ + tests/hamcrest_unit_test/bool/__init__.py | 0 + .../bool/bool_comparison_test.py | 34 ++++++++++++++++++++++ + 6 files changed, 65 insertions(+) + create mode 100644 src/hamcrest/library/bool/__init__.py + create mode 100644 src/hamcrest/library/bool/bool_comparison.py + create mode 100644 tests/hamcrest_unit_test/bool/__init__.py + create mode 100644 tests/hamcrest_unit_test/bool/bool_comparison_test.py + +diff --git a/README.rst b/README.rst +index 8ef46bb..d2200f8 100644 +--- a/README.rst ++++ b/README.rst +@@ -148,6 +148,11 @@ PyHamcrest comes with a library of useful matchers: + * ``greater_than``, ``greater_than_or_equal_to``, ``less_than``, + ``less_than_or_equal_to`` - match numeric ordering + ++* Boolean ++ ++ * ``is_true`` - verify the value is True ++ * ``is_false`` - verify the value is False ++ + * Text + + * ``contains_string`` - match part of a string +diff --git a/src/hamcrest/library/__init__.py b/src/hamcrest/library/__init__.py +index a5a7963..55dfcda 100644 +--- a/src/hamcrest/library/__init__.py ++++ b/src/hamcrest/library/__init__.py +@@ -7,6 +7,7 @@ from hamcrest.library.integration import * + from hamcrest.library.number import * + from hamcrest.library.object import * + from hamcrest.library.text import * ++from hamcrest.library.bool import * + + __author__ = "Jon Reid" + __copyright__ = "Copyright 2011 hamcrest.org" +@@ -41,4 +42,6 @@ __all__ = [ + 'ends_with', + 'starts_with', + 'string_contains_in_order', ++ 'is_true', ++ 'is_false' + ] +diff --git a/src/hamcrest/library/bool/__init__.py b/src/hamcrest/library/bool/__init__.py +new file mode 100644 +index 0000000..7cf13a3 +--- /dev/null ++++ b/src/hamcrest/library/bool/__init__.py +@@ -0,0 +1 @@ ++from .bool_comparison import is_true, is_false +diff --git a/src/hamcrest/library/bool/bool_comparison.py b/src/hamcrest/library/bool/bool_comparison.py +new file mode 100644 +index 0000000..af7e1b6 +--- /dev/null ++++ b/src/hamcrest/library/bool/bool_comparison.py +@@ -0,0 +1,22 @@ ++from hamcrest.core.base_matcher import BaseMatcher ++ ++ ++class IsABool(BaseMatcher): ++ def __init__(self, boolean_value): ++ self.boolean_value = boolean_value ++ ++ def describe_to(self, description): ++ description.append_text(str(self.boolean_value)) ++ ++ def _matches(self, item): ++ if not isinstance(item, bool): ++ return False ++ return item == self.boolean_value ++ ++ ++def is_true(): ++ return IsABool(True) ++ ++ ++def is_false(): ++ return IsABool(False) +diff --git a/tests/hamcrest_unit_test/bool/__init__.py b/tests/hamcrest_unit_test/bool/__init__.py +new file mode 100644 +index 0000000..e69de29 +diff --git a/tests/hamcrest_unit_test/bool/bool_comparison_test.py b/tests/hamcrest_unit_test/bool/bool_comparison_test.py +new file mode 100644 +index 0000000..e865365 +--- /dev/null ++++ b/tests/hamcrest_unit_test/bool/bool_comparison_test.py +@@ -0,0 +1,34 @@ ++from hamcrest import assert_that, equal_to ++from hamcrest.core.string_description import StringDescription ++from hamcrest.library.bool import is_false, is_true ++from hamcrest_unit_test.matcher_test import MatcherTest ++ ++ ++class BoolComparisonTest(MatcherTest): ++ def test_true_is_true(self): ++ self.assert_matches('Is True', is_true(), True) ++ ++ def test_false_is_not_true(self): ++ self.assert_does_not_match('False', is_true(), False) ++ ++ def test_false_is_false(self): ++ self.assert_matches('False', is_false(), False) ++ ++ def test_true_is_not_false(self): ++ self.assert_does_not_match('True', is_false(), True) ++ ++ def test_number_is_not_true(self): ++ self.assert_does_not_match('True', is_true(), 1) ++ ++ def test_number_is_not_false(self): ++ self.assert_does_not_match('False', is_false(), 1) ++ ++ def test_is_true_description(self): ++ description = StringDescription() ++ is_true().describe_to(description) ++ assert_that(str(description), equal_to('True')) ++ ++ def test_is_false_description(self): ++ description = StringDescription() ++ is_false().describe_to(description) ++ assert_that(str(description), equal_to('False')) +-- +2.9.3 + diff --git a/python-hamcrest-1.9.0.tar.gz b/python-hamcrest-1.9.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..09ec421a0edce0bd25f10e29d90d24ff64f78ba3 GIT binary patch literal 57650 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 z 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 p4^<@Kz~m$ z*!MTk`_l?m)OlzhB0G_7&ggub8*5?kgy(oJjYyh2LABlWn=p5WPaP4XW8_@Uaas?n z%;th=#Q_~I6%B%{mX{rj5h~TXH7i7Cz2hufq5<4>imT1#))i)J>FYx#Rf>`E&-GDGz1{x7pZ50-5BLAHO9RWlUjGPZwGYlrJ2^iFv44d| z_6jZR(u(cxKgd98o}rn3hzf>su)p7bn8DOMNi+Q@6%1yt_vgJo9~}1n{4gV`d6Z`Q zSt=M&_fLC!2ZwumyNCV5-9PW|cMrPjAKQ2my7dSv*Wi&+Sl4Se7?IRRUk>&<4>E?D z=SSAzaeVJi#?CbIhCW^#@j#9oTs7y?Puk8t{uAS!SQvPi;H$gKZ*JTm!HA6yGUS@4 zOx6)g2g2&aTQulDWe45se+GlDc@SkC9`y5YcDZ=a-EMZ&`@M%9HO4WUc%N#GTGp|h zQt=Hq#=r%ve!%_H}MibjTDW4f6>VwUWqY3Q$sGhOX8BAaFUO| z3!}gCEz4UVc9p_q(2r)@5w|k~q>?R+x7(|BlM;kZVH4Siy?JO~0D-9uDpIAilY*P8 z1#p`6%YoFU^i@^Y@z;C z6t|U)9ezHWB9@4s%b4SI{r76j^Mm(KVumWs20K;6*^|?}yrkp}!(l<571aPDyx7># z_@CU11HYv-Hp(>x9+Sc}refJtXZ&Lrf9OYbrk?B^Ol z&^5O<9353G)lB_?6z#@`xJ#@`6pHFs!qinduX@T$0kJhyc8|DZkn&v&D4mQhkXQfl+aamRX!?fLkYgBM<-H zp6c>H$4^?D{da$FWBT6`1V~$Mu zY7BMWhA-i@HxhL!sduE6J?!KGZ{;-i?OqSnGy3x2n@WnSSs)s&A}&|HmI2{(lY6=feNXJ+&$cV0Fy< zeMkNj<^X~BT1>&K$>=I6K(qnY z!XnR)n`zPc$^fI3&y#NGr3H0B4KCa&u0H(yWW?t? zPE+04Dw;H<5t3&ps}pM5Pj^;Tq_rRzathv1T~U--pe8Urj^cbs+CiLCNBAURK{nA6 z$kL*bSOE7+@5)X5k2P}O-NP`fqrnc*W7R7g(Y-7KnT|7sx$AN2Vs*h8StT@LeU}8LaDQm32_&m> zuhiEMePiJuFpvO;a=dmwdbE<-kyC@Mt46Y(Un>h!s8^B&`8-sx_^}TR;^rovWk}{#~=7!E^lr{ z4xu21&*?``1ju>xU+Z{27yU2qsn1XQyH?YU^8&qKB?AbkY*;^Vfb4qK50r}e z4)zZVaUEhek&GzKYNSK2n=0T`+?SC=DG=Gj>t!YqJk`sZNCD=~Nc;UUgEV4Y*6+qs2 zBi#Q}o&U?Hg<8%1|L$JD-^<|BM8d+W{}H<;r;M^7@L zmt-eDav!{fPht$1y6l#~h~~3a^XJ*_{%E)0!i4vSEGdgF-YM3|Q`p4ozxOd}SWQK-R>h46<^JWhP<7~!27WM|C2*Qs&46wg@n8eYm#yX{ zR;1s&KH;IK;@l@ykk?B~* z`*$h--|oSFZ{z>FhNtHGFX8>Wl>cx4aKF2e|JLx-Tz{c`ANW^6$PSe*#_wOO2Pl*O zyLtKl@SwZN|Fw>%H2)JWd&j!$*((_H>+Dq_)Q+Mc{#jiQ&YaJiX zTUFhOXXCN|DKmIjPN!h>3!0inUbZPmZ4G@m1vVk23!cx;WZ#kbE1kk5P34;`zh=P> zOBwn|3p`(+xxvYFI++`S*V|D1S?4}c2p&6909kyiP;gR(5F-{Pm1@MMEdc)Y1ZHam zpu6$V_g4hCdCp3vn+8w^VuJK;Q!QaFnd3VKBis_*II?pGJKsvp+8^M4F^@&>=WbAD zOwurCc>=0CWM<0sv$>7?Ek1YU|5JikECrPC|NDEn_}~5R?*8WfZynE){J+Kr-8~=d z=gaV?!z79}37wz9Xfgt9cOBmT95`;|Ik(<_IEB&xajxgsKs7_GvoUlqiccc%91!id zvm|AGISz5PXu}kfHU++frW@?M8Y7HQj;~ZS2(euK?%A-@>M( z%&Zuey4Dos7;h_C*HT$vbT)lpA^78a;g~`fx><66TBB|(*Q?^J2Go_18AW(Uu zSJ4~qCj97)&VnEO5$?8H;(!M-pmz8#Jy<0#5X*=TQv}yiL#n#%3YIVhO5}819ulbP z_7YcjsMR&9+KGxgYhhxMY!pOEQT!90A?of&?T->O-eL3hipo1 z7GbPXM@oF0lMPLi(e+A-fE?ILsmItrLhMFY6z^s0^nae6zIpw2OKL&Y3&8l^B=*Xx z2~4L9c*g!GT$WZ0gYk~HZo<)QVxvQ3;}ak24YR$Dc+-ji$+OIf#f9fkW?^I@wip6X z-kzSn9sF?e_8EHF56<7dfq%|bTpI=U>C5K;d0V_Ze|z%gZRr>7wJclof!=KA=H3q6 z*GAMGa}f}l?Y17ZMtskLTw2IpA~TRhWzvson$OM`%=GOw9K?@al$)LOg=E`#wi?AY zVDFlER-5nJ_9@itygYO?#jHbvB${~xe>{+$yMuJ=%r3?5!B(^JWitGuBDY+2i$AlW z+gGt8ooK&`x16t>OoO$?l%GuNu*NQ&$pN7{#UCsfMn-$&ms8@~jerk1_(J#`$CqbYJhtc4?6rpW)UeM<5!d7#CvuHjNvXw1-&nu_7Lc znlTJYu<-iCgrxMYB|S(h+ZKyEq;(UH24lyMQRsF9V32w7@pwzGX!Hoz7vZ-uRQr+<6ubKR~Zrf2b#a{GpNng5CZ>yR9mkDw%822?Gj-BK}Hl zL;bJo$n$tnbhoi*qOr4p($nVetgwQvj1h5E&c;;!EPfV75%Qs|lljA9b>ffIKX8G zbSm7H&Lw}2SBfHtSgpa`a2?0kQ>osp0CWZ85?$~{&2^Dm?z?nBb*pp&u;gaC%GHk* zto+?i(HX{jpKQ0)ZhorGN6FPsw(G@aTLoQ~N)wgQ6v|UHEt=es1#wv&x*hm(W3QDU zp}Jtz)|}^%gk5*OXa%b(&;PKI7rw-2DgNIJMlq>PR-^wv=;iXi9rQQxzt-|-n*DOs zzFhY&-sVfFk1*qb)M@E^CqHMl>Zq_Dk=|4+0|Rwai`QJbVrF@bYmI$|uDGLx+2h-=(oW7T1i%c902l4#xl(f(?!o>_p7xEgRf_n8+0CW< zFWqrQ*nc?u`ZF+|DuUO9^fNGqy2HfY)n`V@UH}AHG$8@EU*+iCuGe{{;E-<&i|+eb zivJg9U}f>&4)XkecfVm+MjivJ)>c4X5L6yaXr+Zz=DC6_nk=>7cm!&%};A{WJvtVhl}H zYckTlvwK@^hTWGg8r*GiS0?!p7@M1e-{#Fh0sqfvX24ujtzf^Fr-c9C?f0|spMdi^ zJlOF6Yj_I$f2VNr6L=d?hE9_U*LZ)WU}vWE2TrW6QrOA;KZTD{&8{dZf2NLFP0kD< znt@~G2i^$Tzh8ELZFVr;zniqKyu?jZhP*bOgt0#XpwVFT<*T2*KYepbk?OHsa+BML z`K3?({D+@9e&DaNkCOA>JIuv@?(TQ{hnw@ihUXou_xpwye4O}jvX7nVym#21&ig(5 zPaprY2mhJQ+oNz8@4%mpM~+eYpe?HO4tIjt4U{x$_tnek9IE~oXYBCVPZntnvL|il zaz>ftBd>{HKp1jkET$4*VCma1`p|(kpsRffH3iLgDL&K4n?~Lcr6;`D0~w{;IqdWr zjd$1qK>HqV$8MlX>;TZez?(}y82Qn!Po}8ffT6s5Z*XE*WJ;j^>evZl1Nw})@Ue_W zpto=n4nG(#xXjKl{FuUZg!A{l5qtOtwDbDx_2BH~`RTJC-<%$Is{pM-@rxQRzWvqc zUEO?Yo&SRdsI?&n;-o#B9divaBkp8EKVUL4(^p~kj42Qs=Y8YSjXkc&u)vRA=dki1 zsTHH?e$U!yA2vtYXi2LMEE#aFSKc>!on5o_{sO@JoqkQg#Wujw#@E+>fBXHbm*1b9 ze}8^@`W%|tYnWi{Ed*n4>G_jKzCy#Ot(t8R!c7rPqwhQ$J*ae6QZ60V%+tI4R z&gIO91HSWatMD~ literal 0 HcmV?d00001 diff --git a/python-hamcrest.spec b/python-hamcrest.spec new file mode 100644 index 0000000..3f64fc0 --- /dev/null +++ b/python-hamcrest.spec @@ -0,0 +1,70 @@ +Name: python-hamcrest +Version: 1.9.0 +Release: 8 +Summary: Hamcrest matchers for Python +License: BSD +URL: https://github.com/hamcrest/PyHamcrest +Source0: https://github.com/hamcrest/PyHamcrest/archive/V1.9.0/%{name}-1.9.0.tar.gz +Patch0001: 0001-Add-boolean-matchers.patch +BuildArch: noarch + +%description +PyHamcrest is a framework for writing matcher objects, allowing you to +declaratively define "match" rules. There are a number of situations +where matchers are invaluable, such as UI validation, or data filtering, +but it is in the area of writing flexible tests that matchers are most +commonly used. + +%package -n python2-hamcrest +Summary: Hamcrest matchers for Python +%{?python_provide:%python_provide python2-hamcrest} +BuildRequires: python2-devel python2-setuptools python2-pytest python2-mock python2-six +Requires: python2-six + +%description -n python2-hamcrest +PyHamcrest is a framework for writing matcher objects, allowing you to +declaratively define "match" rules. There are a number of situations +where matchers are invaluable, such as UI validation, or data filtering, +but it is in the area of writing flexible tests that matchers are most +commonly used. +Python 2 version. + +%package -n python3-hamcrest +Summary: Hamcrest matchers for Python +%{?python_provide:%python_provide python3-hamcrest} +BuildRequires: python3-devel python3-setuptools python3-pytest python3-mock python3-six +Requires: python3-six + +%description -n python3-hamcrest +PyHamcrest is a framework for writing matcher objects, allowing you to +declaratively define "match" rules. There are a number of situations +where matchers are invaluable, such as UI validation, or data filtering, +but it is in the area of writing flexible tests that matchers are most +commonly used. +Python 3 version. + +%prep +%autosetup -n PyHamcrest-%{version} -p1 + +%build +%py2_build +%py3_build + +%install +%py2_install +%py3_install + +%check +mv pytest.ini pytest.ini~ +PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-%{python2_version} -v +PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version} -v + +%files -n python2-hamcrest +%{python2_sitelib}/* + +%files -n python3-hamcrest +%{python3_sitelib}/* + +%changelog +* Fri Feb 21 2020 likexin - 1.9.0-8 +- package init -- Gitee