create-berna-stencil 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/.env.example +8 -0
  2. package/.gitignore +2 -1
  3. package/README.md +1 -5
  4. package/bin/create.js +2 -1
  5. package/package.json +71 -70
  6. package/src/api/vendor/autoload.php +22 -22
  7. package/src/api/vendor/composer/ClassLoader.php +579 -579
  8. package/src/api/vendor/composer/InstalledVersions.php +396 -396
  9. package/src/api/vendor/composer/LICENSE +21 -21
  10. package/src/api/vendor/composer/autoload_classmap.php +15 -15
  11. package/src/api/vendor/composer/autoload_files.php +12 -12
  12. package/src/api/vendor/composer/autoload_namespaces.php +9 -9
  13. package/src/api/vendor/composer/autoload_psr4.php +16 -16
  14. package/src/api/vendor/composer/autoload_real.php +50 -50
  15. package/src/api/vendor/composer/autoload_static.php +86 -86
  16. package/src/api/vendor/composer/installed.json +582 -582
  17. package/src/api/vendor/composer/installed.php +86 -86
  18. package/src/api/vendor/composer/platform_check.php +25 -25
  19. package/src/api/vendor/graham-campbell/result-type/.gitattributes +9 -0
  20. package/src/api/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
  21. package/src/api/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
  22. package/src/api/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
  23. package/src/api/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
  24. package/src/api/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
  25. package/src/api/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
  26. package/src/api/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
  27. package/src/api/vendor/graham-campbell/result-type/LICENSE +21 -0
  28. package/src/api/vendor/graham-campbell/result-type/README.md +42 -0
  29. package/src/api/vendor/graham-campbell/result-type/composer.json +33 -0
  30. package/src/api/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
  31. package/src/api/vendor/graham-campbell/result-type/src/Error.php +121 -0
  32. package/src/api/vendor/graham-campbell/result-type/src/Result.php +69 -0
  33. package/src/api/vendor/graham-campbell/result-type/src/Success.php +120 -0
  34. package/src/api/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
  35. package/src/api/vendor/phpmailer/phpmailer/.codecov.yml +21 -0
  36. package/src/api/vendor/phpmailer/phpmailer/.editorconfig +15 -0
  37. package/src/api/vendor/phpmailer/phpmailer/.gitattributes +17 -0
  38. package/src/api/vendor/phpmailer/phpmailer/.github/FUNDING.yml +6 -0
  39. package/src/api/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +23 -0
  40. package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +15 -0
  41. package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +5 -0
  42. package/src/api/vendor/phpmailer/phpmailer/.github/dependabot.yml +21 -0
  43. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +30 -0
  44. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +61 -0
  45. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +237 -0
  46. package/src/api/vendor/phpmailer/phpmailer/.phan/config.php +41 -0
  47. package/src/api/vendor/phpmailer/phpmailer/COMMITMENT +46 -0
  48. package/src/api/vendor/phpmailer/phpmailer/LICENSE +502 -0
  49. package/src/api/vendor/phpmailer/phpmailer/README.md +232 -0
  50. package/src/api/vendor/phpmailer/phpmailer/SECURITY.md +37 -0
  51. package/src/api/vendor/phpmailer/phpmailer/SMTPUTF8.md +48 -0
  52. package/src/api/vendor/phpmailer/phpmailer/UPGRADING.md +125 -0
  53. package/src/api/vendor/phpmailer/phpmailer/VERSION +1 -0
  54. package/src/api/vendor/phpmailer/phpmailer/changelog.md +1122 -0
  55. package/src/api/vendor/phpmailer/phpmailer/composer.json +84 -0
  56. package/src/api/vendor/phpmailer/phpmailer/docs/README.md +9 -0
  57. package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +81 -0
  58. package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +46 -0
  59. package/src/api/vendor/phpmailer/phpmailer/examples/README.md +96 -0
  60. package/src/api/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +126 -0
  61. package/src/api/vendor/phpmailer/phpmailer/examples/callback.phps +76 -0
  62. package/src/api/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +146 -0
  63. package/src/api/vendor/phpmailer/phpmailer/examples/contactform.phps +95 -0
  64. package/src/api/vendor/phpmailer/phpmailer/examples/contents.html +17 -0
  65. package/src/api/vendor/phpmailer/phpmailer/examples/contentsutf8.html +23 -0
  66. package/src/api/vendor/phpmailer/phpmailer/examples/exceptions.phps +40 -0
  67. package/src/api/vendor/phpmailer/phpmailer/examples/extending.phps +72 -0
  68. package/src/api/vendor/phpmailer/phpmailer/examples/gmail.phps +106 -0
  69. package/src/api/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +121 -0
  70. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
  71. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
  72. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +209 -0
  73. package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
  74. package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
  75. package/src/api/vendor/phpmailer/phpmailer/examples/mail.phps +35 -0
  76. package/src/api/vendor/phpmailer/phpmailer/examples/mailing_list.phps +96 -0
  77. package/src/api/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +60 -0
  78. package/src/api/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +60 -0
  79. package/src/api/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +60 -0
  80. package/src/api/vendor/phpmailer/phpmailer/examples/sendmail.phps +37 -0
  81. package/src/api/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +100 -0
  82. package/src/api/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +102 -0
  83. package/src/api/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +99 -0
  84. package/src/api/vendor/phpmailer/phpmailer/examples/smtp.phps +62 -0
  85. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_check.phps +60 -0
  86. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +117 -0
  87. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +53 -0
  88. package/src/api/vendor/phpmailer/phpmailer/examples/ssl_options.phps +81 -0
  89. package/src/api/vendor/phpmailer/phpmailer/get_oauth_token.php +182 -0
  90. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php +26 -0
  91. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php +27 -0
  92. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php +35 -0
  93. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php +27 -0
  94. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php +27 -0
  95. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php +27 -0
  96. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php +27 -0
  97. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php +35 -0
  98. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php +27 -0
  99. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php +28 -0
  100. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php +39 -0
  101. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php +28 -0
  102. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php +33 -0
  103. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php +37 -0
  104. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +38 -0
  105. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php +28 -0
  106. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php +28 -0
  107. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php +27 -0
  108. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php +27 -0
  109. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +36 -0
  110. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php +27 -0
  111. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php +27 -0
  112. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php +35 -0
  113. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php +27 -0
  114. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php +27 -0
  115. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php +27 -0
  116. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php +31 -0
  117. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php +28 -0
  118. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +37 -0
  119. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php +27 -0
  120. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php +27 -0
  121. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php +27 -0
  122. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php +27 -0
  123. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php +27 -0
  124. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php +27 -0
  125. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php +27 -0
  126. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php +27 -0
  127. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php +37 -0
  128. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php +38 -0
  129. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php +33 -0
  130. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php +34 -0
  131. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php +38 -0
  132. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php +33 -0
  133. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +36 -0
  134. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php +34 -0
  135. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php +30 -0
  136. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php +36 -0
  137. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php +28 -0
  138. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php +28 -0
  139. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php +27 -0
  140. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php +28 -0
  141. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +38 -0
  142. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php +28 -0
  143. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php +30 -0
  144. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php +27 -0
  145. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php +29 -0
  146. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php +36 -0
  147. package/src/api/vendor/phpmailer/phpmailer/phpcs.xml.dist +52 -0
  148. package/src/api/vendor/phpmailer/phpmailer/phpdoc.dist.xml +20 -0
  149. package/src/api/vendor/phpmailer/phpmailer/phpunit.xml.dist +36 -0
  150. package/src/api/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +245 -0
  151. package/src/api/vendor/phpmailer/phpmailer/src/Exception.php +40 -0
  152. package/src/api/vendor/phpmailer/phpmailer/src/OAuth.php +139 -0
  153. package/src/api/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +44 -0
  154. package/src/api/vendor/phpmailer/phpmailer/src/PHPMailer.php +5525 -0
  155. package/src/api/vendor/phpmailer/phpmailer/src/POP3.php +470 -0
  156. package/src/api/vendor/phpmailer/phpmailer/src/SMTP.php +1617 -0
  157. package/src/api/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +47 -0
  158. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +1 -0
  159. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +1 -0
  160. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +10 -0
  161. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +10 -0
  162. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +9 -0
  163. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +9 -0
  164. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +9 -0
  165. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +9 -0
  166. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +9 -0
  167. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +9 -0
  168. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +9 -0
  169. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +16 -0
  170. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +16 -0
  171. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +20 -0
  172. package/src/api/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +97 -0
  173. package/src/api/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +76 -0
  174. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +178 -0
  175. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +147 -0
  176. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +161 -0
  177. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +70 -0
  178. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +48 -0
  179. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +285 -0
  180. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +258 -0
  181. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +46 -0
  182. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +221 -0
  183. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +110 -0
  184. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +135 -0
  185. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +103 -0
  186. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +74 -0
  187. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +75 -0
  188. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +110 -0
  189. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +158 -0
  190. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +231 -0
  191. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +126 -0
  192. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +108 -0
  193. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +107 -0
  194. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +505 -0
  195. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +261 -0
  196. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +171 -0
  197. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +70 -0
  198. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +111 -0
  199. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +1388 -0
  200. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +321 -0
  201. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +141 -0
  202. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +70 -0
  203. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +444 -0
  204. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +154 -0
  205. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +202 -0
  206. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +81 -0
  207. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +120 -0
  208. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +66 -0
  209. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +116 -0
  210. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +485 -0
  211. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +125 -0
  212. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +75 -0
  213. package/src/api/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +139 -0
  214. package/src/api/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +46 -0
  215. package/src/api/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +52 -0
  216. package/src/api/vendor/phpmailer/phpmailer/test/SendTestCase.php +126 -0
  217. package/src/api/vendor/phpmailer/phpmailer/test/TestCase.php +392 -0
  218. package/src/api/vendor/phpmailer/phpmailer/test/fakepopserver.sh +126 -0
  219. package/src/api/vendor/phpmailer/phpmailer/test/fakesendmail.sh +22 -0
  220. package/src/api/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +12 -0
  221. package/src/api/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +8 -0
  222. package/src/api/vendor/phpmailer/phpmailer/test/validators.php +12 -0
  223. package/src/api/vendor/phpoption/phpoption/.gitattributes +13 -0
  224. package/src/api/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
  225. package/src/api/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
  226. package/src/api/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
  227. package/src/api/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
  228. package/src/api/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
  229. package/src/api/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
  230. package/src/api/vendor/phpoption/phpoption/LICENSE +201 -0
  231. package/src/api/vendor/phpoption/phpoption/Makefile +17 -0
  232. package/src/api/vendor/phpoption/phpoption/README.md +201 -0
  233. package/src/api/vendor/phpoption/phpoption/composer.json +50 -0
  234. package/src/api/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
  235. package/src/api/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
  236. package/src/api/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
  237. package/src/api/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -0
  238. package/src/api/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -0
  239. package/src/api/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -0
  240. package/src/api/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -0
  241. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
  242. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
  243. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
  244. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
  245. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
  246. package/src/api/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
  247. package/src/api/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
  248. package/src/api/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
  249. package/src/api/vendor/symfony/polyfill-ctype/LICENSE +19 -0
  250. package/src/api/vendor/symfony/polyfill-ctype/README.md +12 -0
  251. package/src/api/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
  252. package/src/api/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
  253. package/src/api/vendor/symfony/polyfill-ctype/composer.json +38 -0
  254. package/src/api/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
  255. package/src/api/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -0
  256. package/src/api/vendor/symfony/polyfill-mbstring/README.md +13 -0
  257. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  258. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -0
  259. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
  260. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -0
  261. package/src/api/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -0
  262. package/src/api/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  263. package/src/api/vendor/symfony/polyfill-mbstring/composer.json +39 -0
  264. package/src/api/vendor/symfony/polyfill-php80/LICENSE +19 -0
  265. package/src/api/vendor/symfony/polyfill-php80/Php80.php +115 -0
  266. package/src/api/vendor/symfony/polyfill-php80/PhpToken.php +106 -0
  267. package/src/api/vendor/symfony/polyfill-php80/README.md +25 -0
  268. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -0
  269. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -0
  270. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -0
  271. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -0
  272. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -0
  273. package/src/api/vendor/symfony/polyfill-php80/bootstrap.php +42 -0
  274. package/src/api/vendor/symfony/polyfill-php80/composer.json +37 -0
  275. package/src/api/vendor/vlucas/phpdotenv/.editorconfig +15 -0
  276. package/src/api/vendor/vlucas/phpdotenv/.gitattributes +15 -0
  277. package/src/api/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
  278. package/src/api/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
  279. package/src/api/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
  280. package/src/api/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
  281. package/src/api/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
  282. package/src/api/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
  283. package/src/api/vendor/vlucas/phpdotenv/LICENSE +30 -0
  284. package/src/api/vendor/vlucas/phpdotenv/Makefile +17 -0
  285. package/src/api/vendor/vlucas/phpdotenv/README.md +370 -0
  286. package/src/api/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
  287. package/src/api/vendor/vlucas/phpdotenv/composer.json +60 -0
  288. package/src/api/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
  289. package/src/api/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
  290. package/src/api/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
  291. package/src/api/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -0
  292. package/src/api/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -0
  293. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -0
  294. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -0
  295. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -0
  296. package/src/api/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -0
  297. package/src/api/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -0
  298. package/src/api/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -0
  299. package/src/api/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -0
  300. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -0
  301. package/src/api/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -0
  302. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -0
  303. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -0
  304. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -0
  305. package/src/api/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -0
  306. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -0
  307. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -0
  308. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -0
  309. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -0
  310. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -0
  311. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -0
  312. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -0
  313. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -0
  314. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -0
  315. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -0
  316. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -0
  317. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -0
  318. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -0
  319. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -0
  320. package/src/api/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -0
  321. package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -0
  322. package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -0
  323. package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -0
  324. package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -0
  325. package/src/api/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -0
  326. package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -0
  327. package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -0
  328. package/src/api/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -0
  329. package/src/api/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -0
  330. package/src/api/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -0
  331. package/src/api/vendor/vlucas/phpdotenv/src/Validator.php +207 -0
  332. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
  333. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
  334. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
  335. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
  336. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
  337. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
  338. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
  339. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
  340. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
  341. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
  342. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
  343. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
  344. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
  345. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
  346. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
  347. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
  348. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
  349. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
  350. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
  351. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
  352. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
  353. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
  354. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
  355. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
  356. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
  357. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
  358. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
  359. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
  360. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
  361. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
  362. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
  363. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
  364. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
  365. package/src/api/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
@@ -0,0 +1,261 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - PHP email transport unit tests.
5
+ * PHP version 5.5.
6
+ *
7
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
8
+ * @author Andy Prevost
9
+ * @copyright 2012 - 2020 Marcus Bointon
10
+ * @copyright 2004 - 2009 Andy Prevost
11
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
12
+ */
13
+
14
+ namespace PHPMailer\Test\PHPMailer;
15
+
16
+ use PHPMailer\Test\SendTestCase;
17
+
18
+ /**
19
+ * Test sending mail using the various available mail transport options.
20
+ */
21
+ final class MailTransportTest extends SendTestCase
22
+ {
23
+ /** @var string */
24
+ private $originalSendmailFrom = '';
25
+
26
+ protected function set_up()
27
+ {
28
+ parent::set_up();
29
+
30
+ $from = ini_get('sendmail_from');
31
+ $this->originalSendmailFrom = $from === false ? '' : $from;
32
+ }
33
+
34
+ protected function tear_down()
35
+ {
36
+ ini_set('sendmail_from', $this->originalSendmailFrom);
37
+ parent::tear_down();
38
+ }
39
+
40
+ /**
41
+ * Test sending using SendMail.
42
+ *
43
+ * @covers \PHPMailer\PHPMailer\PHPMailer::isSendmail
44
+ */
45
+ public function testSendmailSend()
46
+ {
47
+ $this->Mail->Body = 'Sending via sendmail';
48
+ $this->buildBody();
49
+ $subject = $this->Mail->Subject;
50
+
51
+ $this->Mail->Subject = $subject . ': sendmail';
52
+ $this->Mail->isSendmail();
53
+
54
+ self::assertTrue($this->Mail->send(), $this->Mail->ErrorInfo);
55
+ }
56
+
57
+ /**
58
+ * Test sending using Qmail.
59
+ *
60
+ * @covers \PHPMailer\PHPMailer\PHPMailer::isQmail
61
+ */
62
+ public function testQmailSend()
63
+ {
64
+ // Only run if we have qmail installed.
65
+ if (file_exists('/var/qmail/bin/qmail-inject') === false) {
66
+ self::markTestSkipped('Qmail is not installed');
67
+ }
68
+
69
+ $this->Mail->Body = 'Sending via qmail';
70
+ $this->buildBody();
71
+ $subject = $this->Mail->Subject;
72
+
73
+ $this->Mail->Subject = $subject . ': qmail';
74
+ $this->Mail->isQmail();
75
+ self::assertTrue($this->Mail->send(), $this->Mail->ErrorInfo);
76
+ }
77
+
78
+ /**
79
+ * Test sending using PHP mail() function.
80
+ *
81
+ * @covers \PHPMailer\PHPMailer\PHPMailer::isMail
82
+ */
83
+ public function testMailSend()
84
+ {
85
+ $this->Mail->Body = 'Sending via mail()';
86
+ $this->buildBody();
87
+ $this->Mail->Subject = $this->Mail->Subject . ': mail()';
88
+ $this->Mail->clearAddresses();
89
+ $this->Mail->clearCCs();
90
+ $this->Mail->clearBCCs();
91
+ $this->setAddress('testmailsend@example.com', 'totest');
92
+ $this->setAddress('cctestmailsend@example.com', 'cctest', $sType = 'cc');
93
+ $this->setAddress('bcctestmailsend@example.com', 'bcctest', $sType = 'bcc');
94
+
95
+ self::assertContains('testmailsend@example.com', $this->Mail->getToAddresses()[0], 'To address not found');
96
+ self::assertContains('cctestmailsend@example.com', $this->Mail->getCcAddresses()[0], 'CC address not found');
97
+ self::assertContains('bcctestmailsend@example.com', $this->Mail->getBccAddresses()[0], 'BCC address not found');
98
+
99
+ self::assertTrue(
100
+ $this->Mail->getAllRecipientAddresses()['testmailsend@example.com'],
101
+ 'To address not in recipient addresses'
102
+ );
103
+ self::assertTrue(
104
+ $this->Mail->getAllRecipientAddresses()['cctestmailsend@example.com'],
105
+ 'CC address not in recipient addresses'
106
+ );
107
+ self::assertTrue(
108
+ $this->Mail->getAllRecipientAddresses()['bcctestmailsend@example.com'],
109
+ 'BCC address not in recipient addresses'
110
+ );
111
+
112
+ $this->Mail->createHeader();
113
+ $this->Mail->isMail();
114
+ self::assertTrue($this->Mail->send(), $this->Mail->ErrorInfo);
115
+
116
+ $msg = $this->Mail->getSentMIMEMessage();
117
+ self::assertStringNotContainsString("\r\n\r\nMIME-Version:", $msg, 'Incorrect MIME headers');
118
+ }
119
+
120
+ /**
121
+ * Test sending using PHP mail() function with Sender address
122
+ * and explicit sendmail_from ini set.
123
+ * Test running required with:
124
+ * php -d sendmail_path="/usr/sbin/sendmail -t -i -frpath@example.org" ./vendor/bin/phpunit
125
+ *
126
+ * @group sendmailparams
127
+ * @covers \PHPMailer\PHPMailer\PHPMailer::isMail
128
+ */
129
+ public function testMailSendWithSendmailParams()
130
+ {
131
+ $sender = 'rpath@example.org';
132
+
133
+ if (strpos(ini_get('sendmail_path'), $sender) === false) {
134
+ self::markTestSkipped('Custom Sendmail php.ini not available');
135
+ }
136
+
137
+ $this->Mail->Body = 'Sending via mail()';
138
+ $this->buildBody();
139
+ $this->Mail->Subject = $this->Mail->Subject . ': mail()';
140
+ $this->Mail->clearAddresses();
141
+ $this->setAddress('testmailsend@example.com', 'totest');
142
+
143
+ ini_set('sendmail_from', $sender);
144
+ $this->Mail->createHeader();
145
+ $this->Mail->isMail();
146
+
147
+ self::assertTrue($this->Mail->send(), $this->Mail->ErrorInfo);
148
+ }
149
+
150
+ /**
151
+ * Test sending using SendMail with Sender address
152
+ * and explicit sendmail_from ini set.
153
+ * Test running required with:
154
+ * php -d sendmail_path="/usr/sbin/sendmail -t -i -frpath@example.org" ./vendor/bin/phpunit
155
+ *
156
+ * @group sendmailparams
157
+ * @covers \PHPMailer\PHPMailer\PHPMailer::isSendmail
158
+ */
159
+ public function testSendmailSendWithSendmailParams()
160
+ {
161
+ $sender = 'rpath@example.org';
162
+
163
+ if (strpos(ini_get('sendmail_path'), $sender) === false) {
164
+ self::markTestSkipped('Custom Sendmail php.ini not available');
165
+ }
166
+
167
+ $this->Mail->Body = 'Sending via sendmail';
168
+ $this->buildBody();
169
+ $subject = $this->Mail->Subject;
170
+
171
+ $this->Mail->Subject = $subject . ': sendmail';
172
+ ini_set('sendmail_from', $sender);
173
+ $this->Mail->isSendmail();
174
+
175
+ self::assertTrue($this->Mail->send(), $this->Mail->ErrorInfo);
176
+ }
177
+
178
+ /**
179
+ * Test parsing of sendmail path and with certain parameters.
180
+ *
181
+ * @group sendmailparams
182
+ * @covers \PHPMailer\PHPMailer\PHPMailer::parseSendmailPath
183
+ * @dataProvider sendmailPathProvider
184
+ *
185
+ * @param string $sendmailPath The sendmail path to parse.
186
+ * @param string $expectedCommand The expected command after parsing.
187
+ * @param string $expectedSender The expected Sender (-f parameter) after parsing.
188
+ */
189
+ public function testParseSendmailPath($sendmailPath, $expectedCommand, $expectedSender)
190
+ {
191
+ $mailer = $this->Mail;
192
+
193
+ $parseSendmailPath = \Closure::bind(
194
+ function ($path) {
195
+ return $this->{'parseSendmailPath'}($path);
196
+ },
197
+ $mailer,
198
+ \PHPMailer\PHPMailer\PHPMailer::class
199
+ );
200
+ $command = $parseSendmailPath($sendmailPath);
201
+
202
+ self::assertSame($expectedCommand, $command, 'Sendmail command not parsed correctly');
203
+ self::assertSame($expectedSender, $mailer->Sender, 'Sender property not set correctly');
204
+ }
205
+
206
+ /**
207
+ * Data provider for testParseSendmailPath.
208
+ *
209
+ * @return array{
210
+ * 0: string, // The sendmail path to parse.
211
+ * 1: string, // The expected command after parsing.
212
+ * 2: string // The expected Sender (-f parameter) after parsing.
213
+ * }
214
+ */
215
+
216
+ public function sendmailPathProvider()
217
+ {
218
+ return [
219
+ 'path only' => [
220
+ '/usr/sbin/sendmail',
221
+ '/usr/sbin/sendmail',
222
+ ''
223
+ ],
224
+ 'with i and t' => [
225
+ '/usr/sbin/sendmail -i -t',
226
+ '/usr/sbin/sendmail',
227
+ ''
228
+ ],
229
+ 'with f concatenated' => [
230
+ '/usr/sbin/sendmail -frpath@example.org -i',
231
+ '/usr/sbin/sendmail',
232
+ 'rpath@example.org'
233
+ ],
234
+ 'with f separated' => [
235
+ '/usr/sbin/sendmail -f rpath@example.org -t',
236
+ '/usr/sbin/sendmail',
237
+ 'rpath@example.org',
238
+ ],
239
+ 'with extra flags preserved' => [
240
+ '/opt/sendmail -x -y -fuser@example.org',
241
+ '/opt/sendmail -x -y',
242
+ 'user@example.org',
243
+ ],
244
+ "extra flags with values preserved" => [
245
+ '/opt/sendmail -X /path/to/logfile -fuser@example.org',
246
+ '/opt/sendmail -X /path/to/logfile',
247
+ 'user@example.org',
248
+ ],
249
+ "extra flags concatenated preserved" => [
250
+ '/opt/sendmail -X/path/to/logfile -t -i',
251
+ '/opt/sendmail -X/path/to/logfile',
252
+ '',
253
+ ],
254
+ "option values with regular parameters" => [
255
+ '/opt/sendmail -oi -t',
256
+ '/opt/sendmail',
257
+ '',
258
+ ],
259
+ ];
260
+ }
261
+ }
@@ -0,0 +1,171 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - PHP email transport unit tests.
5
+ * PHP version 5.5.
6
+ *
7
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
8
+ * @author Andy Prevost
9
+ * @copyright 2012 - 2020 Marcus Bointon
10
+ * @copyright 2004 - 2009 Andy Prevost
11
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
12
+ */
13
+
14
+ namespace PHPMailer\Test\PHPMailer;
15
+
16
+ use PHPMailer\PHPMailer\PHPMailer;
17
+ use Yoast\PHPUnitPolyfills\TestCases\TestCase;
18
+
19
+ /**
20
+ * Test Multi-byte-safe pathinfo replacement functionality.
21
+ *
22
+ * @covers \PHPMailer\PHPMailer\PHPMailer::mb_pathinfo
23
+ */
24
+ final class MbPathinfoTest extends TestCase
25
+ {
26
+ /**
27
+ * Verify retrieving information about a file path when the $options parameter has been passed.
28
+ *
29
+ * @dataProvider dataMb_pathinfoWithoutOptions
30
+ *
31
+ * @param string $path Path input.
32
+ * @param string $expected Expected function output.
33
+ */
34
+ public function testMb_pathinfoWithoutOptions($path, $expected)
35
+ {
36
+ $result = PHPMailer::mb_pathinfo($path);
37
+ self::assertSame($expected, $result);
38
+ }
39
+
40
+ /**
41
+ * Data provider.
42
+ *
43
+ * @return array
44
+ */
45
+ public function dataMb_pathinfoWithoutOptions()
46
+ {
47
+ return [
48
+ 'Empty string' => [
49
+ 'path' => '',
50
+ 'expected' => [
51
+ 'dirname' => '',
52
+ 'basename' => '',
53
+ 'extension' => '',
54
+ 'filename' => '',
55
+ ],
56
+ ],
57
+ 'Unix path with singlebyte filename' => [
58
+ 'path' => '/mnt/music/music.mp3',
59
+ 'expected' => [
60
+ 'dirname' => '/mnt/music',
61
+ 'basename' => 'music.mp3',
62
+ 'extension' => 'mp3',
63
+ 'filename' => 'music',
64
+ ],
65
+ ],
66
+ 'Windows path with singlebyte filename' => [
67
+ 'path' => 'c:\mnt\music\music.mp3',
68
+ 'expected' => [
69
+ 'dirname' => 'c:\mnt\music',
70
+ 'basename' => 'music.mp3',
71
+ 'extension' => 'mp3',
72
+ 'filename' => 'music',
73
+ ],
74
+ ],
75
+ 'Unix path with multibyte filename' => [
76
+ 'path' => '/mnt/files/飛兒樂 團光茫.mp3',
77
+ 'expected' => [
78
+ 'dirname' => '/mnt/files',
79
+ 'basename' => '飛兒樂 團光茫.mp3',
80
+ 'extension' => 'mp3',
81
+ 'filename' => '飛兒樂 團光茫',
82
+ ],
83
+ ],
84
+ 'Windows path with multibyte filename' => [
85
+ 'path' => 'c:\mnt\files\飛兒樂 團光茫.mp3',
86
+ 'expected' => [
87
+ 'dirname' => 'c:\mnt\files',
88
+ 'basename' => '飛兒樂 團光茫.mp3',
89
+ 'extension' => 'mp3',
90
+ 'filename' => '飛兒樂 團光茫',
91
+ ],
92
+ ],
93
+ 'Filename, not path, contains spaces' => [
94
+ 'path' => 'my file.png',
95
+ 'expected' => [
96
+ 'dirname' => '',
97
+ 'basename' => 'my file.png',
98
+ 'extension' => 'png',
99
+ 'filename' => 'my file',
100
+ ],
101
+ ],
102
+ 'Path, no file name, linux style, contains spaces' => [
103
+ 'path' => '/mnt/sub directory/another sub/',
104
+ 'expected' => [
105
+ 'dirname' => '/mnt/sub directory',
106
+ 'basename' => 'another sub',
107
+ 'extension' => '',
108
+ 'filename' => 'another sub',
109
+ ],
110
+ ],
111
+ ];
112
+ }
113
+
114
+ /**
115
+ * Verify retrieving information about a file path when the $options parameter has been passed.
116
+ *
117
+ * @dataProvider dataMb_pathinfoWithOptions
118
+ *
119
+ * @param int|string $options Input to pass to the $options parameter.
120
+ * @param string $expected Expected function output.
121
+ */
122
+ public function testMb_pathinfoWithOptions($options, $expected)
123
+ {
124
+ $path = '/mnt/files/飛兒樂 團光茫.mp3';
125
+ $result = PHPMailer::mb_pathinfo($path, $options);
126
+ self::assertSame($expected, $result);
127
+ }
128
+
129
+ /**
130
+ * Data provider.
131
+ *
132
+ * @return array
133
+ */
134
+ public function dataMb_pathinfoWithOptions()
135
+ {
136
+ return [
137
+ 'Option: PATHINFO_DIRNAME' => [
138
+ 'options' => PATHINFO_DIRNAME,
139
+ 'expected' => '/mnt/files',
140
+ ],
141
+ 'Option: PATHINFO_BASENAME' => [
142
+ 'options' => PATHINFO_BASENAME,
143
+ 'expected' => '飛兒樂 團光茫.mp3',
144
+ ],
145
+ 'Option: PATHINFO_EXTENSION' => [
146
+ 'options' => PATHINFO_EXTENSION,
147
+ 'expected' => 'mp3',
148
+ ],
149
+ 'Option: PATHINFO_FILENAME' => [
150
+ 'options' => PATHINFO_FILENAME,
151
+ 'expected' => '飛兒樂 團光茫',
152
+ ],
153
+ 'Option: dirname' => [
154
+ 'options' => 'dirname',
155
+ 'expected' => '/mnt/files',
156
+ ],
157
+ 'Option: basename' => [
158
+ 'options' => 'basename',
159
+ 'expected' => '飛兒樂 團光茫.mp3',
160
+ ],
161
+ 'Option: extension' => [
162
+ 'options' => 'extension',
163
+ 'expected' => 'mp3',
164
+ ],
165
+ 'Option: filename' => [
166
+ 'options' => 'filename',
167
+ 'expected' => '飛兒樂 團光茫',
168
+ ],
169
+ ];
170
+ }
171
+ }
@@ -0,0 +1,70 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - PHP email transport unit tests.
5
+ * PHP version 5.5.
6
+ *
7
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
8
+ * @author Andy Prevost
9
+ * @copyright 2012 - 2020 Marcus Bointon
10
+ * @copyright 2004 - 2009 Andy Prevost
11
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
12
+ */
13
+
14
+ namespace PHPMailer\Test\PHPMailer;
15
+
16
+ use PHPMailer\PHPMailer\PHPMailer;
17
+ use Yoast\PHPUnitPolyfills\TestCases\TestCase;
18
+
19
+ /**
20
+ * Test mime type mapping functionality.
21
+ *
22
+ * @covers \PHPMailer\PHPMailer\PHPMailer::_mime_types
23
+ */
24
+ final class MimeTypesTest extends TestCase
25
+ {
26
+ /**
27
+ * Test mime type mapping.
28
+ *
29
+ * @dataProvider dataMime_Types
30
+ *
31
+ * @param string $input Input text string.
32
+ * @param string $expected Expected function output.
33
+ */
34
+ public function testMime_Types($input, $expected)
35
+ {
36
+ $result = PHPMailer::_mime_types($input);
37
+ self::assertSame($expected, $result, 'MIME TYPE lookup failed');
38
+ }
39
+
40
+ /**
41
+ * Data provider.
42
+ *
43
+ * @return array
44
+ */
45
+ public function dataMime_Types()
46
+ {
47
+ return [
48
+ 'Extension: pdf (lowercase)' => [
49
+ 'input' => 'pdf',
50
+ 'expected' => 'application/pdf',
51
+ ],
52
+ 'Extension: PHP (uppercase)' => [
53
+ 'input' => 'PHP',
54
+ 'expected' => 'application/x-httpd-php',
55
+ ],
56
+ 'Extension: Doc (mixed case)' => [
57
+ 'input' => 'Doc',
58
+ 'expected' => 'application/msword',
59
+ ],
60
+ 'Extension which is not in the list' => [
61
+ 'input' => 'md',
62
+ 'expected' => 'application/octet-stream',
63
+ ],
64
+ 'Empty string' => [
65
+ 'input' => '',
66
+ 'expected' => 'application/octet-stream',
67
+ ],
68
+ ];
69
+ }
70
+ }
@@ -0,0 +1,111 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - PHP email transport unit tests.
5
+ * PHP version 5.5.
6
+ *
7
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
8
+ * @author Andy Prevost
9
+ * @copyright 2012 - 2020 Marcus Bointon
10
+ * @copyright 2004 - 2009 Andy Prevost
11
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
12
+ */
13
+
14
+ namespace PHPMailer\Test\PHPMailer;
15
+
16
+ use PHPMailer\PHPMailer\PHPMailer;
17
+ use PHPMailer\Test\TestCase as MailerTestCase;
18
+ use Yoast\PHPUnitPolyfills\TestCases\TestCase;
19
+
20
+ /**
21
+ * Test normalize line breaks functionality.
22
+ *
23
+ * @covers \PHPMailer\PHPMailer\PHPMailer::normalizeBreaks
24
+ */
25
+ final class NormalizeBreaksTest extends TestCase
26
+ {
27
+ /**
28
+ * Test line break normalization.
29
+ *
30
+ * @dataProvider dataNormalizeBreaks
31
+ *
32
+ * @param string $input Input text string.
33
+ * @param string $expected Expected function output.
34
+ * @param string $breaktype Optional. What kind of line break to use.
35
+ */
36
+ public function testNormalizeBreaks($input, $expected, $breaktype = null)
37
+ {
38
+ $result = PHPMailer::normalizeBreaks($input, $breaktype);
39
+ self::assertSame($expected, $result, 'Line break reformatting failed');
40
+ }
41
+
42
+ /**
43
+ * Data provider.
44
+ *
45
+ * @return array
46
+ */
47
+ public function dataNormalizeBreaks()
48
+ {
49
+ $LE = PHPMailer::getLE();
50
+ $baseExpected = 'hello' . PHPMailer::CRLF . 'World' . PHPMailer::CRLF . 'Again' . PHPMailer::CRLF;
51
+
52
+ return [
53
+ 'Text without line breaks' => [
54
+ 'input' => 'hello World!',
55
+ 'expected' => 'hello World!',
56
+ ],
57
+ 'Unix line breaks' => [
58
+ 'input' => "hello\nWorld\nAgain\n",
59
+ 'expected' => $baseExpected,
60
+ ],
61
+ 'Mac line breaks' => [
62
+ 'input' => "hello\rWorld\rAgain\r",
63
+ 'expected' => $baseExpected,
64
+ ],
65
+ 'Windows line breaks' => [
66
+ 'input' => "hello\r\nWorld\r\nAgain\r\n",
67
+ 'expected' => $baseExpected,
68
+ ],
69
+ 'Mixed line breaks' => [
70
+ 'input' => "hello\nWorld\rAgain\r\n",
71
+ 'expected' => $baseExpected,
72
+ ],
73
+ 'Mac line breaks, enforce Unix' => [
74
+ 'input' => "1\r2\r3\r",
75
+ 'expected' => "1\n2\n3\n",
76
+ 'breaktype' => "\n",
77
+ ],
78
+ 'Unix line breaks, enforce Mac' => [
79
+ 'input' => "1\n2\n3\n",
80
+ 'expected' => "1\r2\r3\r",
81
+ 'breaktype' => "\r",
82
+ ],
83
+ 'Mixed line breaks, enforce preset' => [
84
+ 'input' => "1\r\n2\r3\n",
85
+ 'expected' => "1{$LE}2{$LE}3{$LE}",
86
+ 'breaktype' => $LE,
87
+ ],
88
+ ];
89
+ }
90
+
91
+ /**
92
+ * Test line break normalization with a custom line ending setting.
93
+ */
94
+ public function testNormalizeBreaksWithCustomLineEnding()
95
+ {
96
+ $input = "hello\rWorld\rAgain\r";
97
+ $expected = "hello\n\rWorld\n\rAgain\n\r";
98
+
99
+ $origLE = PHPMailer::getLE();
100
+ MailerTestCase::updateStaticProperty(PHPMailer::class, 'LE', "\n\r");
101
+ $result = PHPMailer::normalizeBreaks($input);
102
+
103
+ /*
104
+ * Reset the static property *before* the assertion to ensure the reset executes
105
+ * even when the test would fail.
106
+ */
107
+ MailerTestCase::updateStaticProperty(PHPMailer::class, 'LE', $origLE);
108
+
109
+ self::assertSame($expected, $result, 'Line break reformatting failed');
110
+ }
111
+ }