create-berna-stencil 1.0.9 → 1.0.10

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,221 @@
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\DSNConfigurator;
17
+ use PHPMailer\PHPMailer\Exception;
18
+ use PHPMailer\PHPMailer\PHPMailer;
19
+ use PHPMailer\PHPMailer\SMTP;
20
+ use PHPMailer\Test\TestCase;
21
+
22
+ /**
23
+ * Test configuring with DSN.
24
+ *
25
+ * @covers \PHPMailer\PHPMailer\DSNConfigurator
26
+ */
27
+ final class DSNConfiguratorTest extends TestCase
28
+ {
29
+ /**
30
+ * Test throwing exception if DSN is invalid.
31
+ */
32
+ public function testInvalidDSN()
33
+ {
34
+ $configurator = new DSNConfigurator();
35
+
36
+ $this->expectException(Exception::class);
37
+ $this->expectExceptionMessage('Malformed DSN');
38
+
39
+ $configurator->configure($this->Mail, 'localhost');
40
+ }
41
+
42
+ /**
43
+ * Test throwing exception if DSN scheme is invalid.
44
+ */
45
+ public function testInvalidScheme()
46
+ {
47
+ $configurator = new DSNConfigurator();
48
+
49
+ $this->expectException(Exception::class);
50
+ $this->expectExceptionMessage('Invalid scheme: "ftp".');
51
+
52
+ $configurator->configure($this->Mail, 'ftp://localhost');
53
+ }
54
+
55
+ /**
56
+ * Test cofiguring mail.
57
+ */
58
+ public function testConfigureMail()
59
+ {
60
+ $configurator = new DSNConfigurator();
61
+
62
+ $configurator->configure($this->Mail, 'mail://localhost');
63
+
64
+ self::assertEquals($this->Mail->Mailer, 'mail');
65
+ }
66
+
67
+ /**
68
+ * Test cofiguring sendmail.
69
+ */
70
+ public function testConfigureSendmail()
71
+ {
72
+ $configurator = new DSNConfigurator();
73
+
74
+ $configurator->configure($this->Mail, 'sendmail://localhost');
75
+
76
+ self::assertEquals($this->Mail->Mailer, 'sendmail');
77
+ }
78
+
79
+ /**
80
+ * Test cofiguring qmail.
81
+ */
82
+ public function testConfigureQmail()
83
+ {
84
+ $configurator = new DSNConfigurator();
85
+
86
+ $configurator->configure($this->Mail, 'qmail://localhost');
87
+
88
+ self::assertEquals($this->Mail->Mailer, 'qmail');
89
+ }
90
+
91
+ /**
92
+ * Test cofiguring SMTP without authentication.
93
+ */
94
+ public function testConfigureSmtpWithoutAuthentication()
95
+ {
96
+ $configurator = new DSNConfigurator();
97
+
98
+ $configurator->configure($this->Mail, 'smtp://localhost');
99
+
100
+ self::assertEquals($this->Mail->Mailer, 'smtp');
101
+ self::assertEquals($this->Mail->Host, 'localhost');
102
+ self::assertFalse($this->Mail->SMTPAuth);
103
+ }
104
+
105
+ /**
106
+ * Test cofiguring SMTP with authentication.
107
+ */
108
+ public function testConfigureSmtpWithAuthentication()
109
+ {
110
+ $configurator = new DSNConfigurator();
111
+
112
+ $configurator->configure($this->Mail, 'smtp://user:pass@remotehost');
113
+
114
+ self::assertEquals($this->Mail->Mailer, 'smtp');
115
+ self::assertEquals($this->Mail->Host, 'remotehost');
116
+
117
+ self::assertTrue($this->Mail->SMTPAuth);
118
+ self::assertEquals($this->Mail->Username, 'user');
119
+ self::assertEquals($this->Mail->Password, 'pass');
120
+ }
121
+
122
+ /**
123
+ * Test cofiguring SMTP without port.
124
+ */
125
+ public function testConfigureSmtpWithoutPort()
126
+ {
127
+ $configurator = new DSNConfigurator();
128
+
129
+ $configurator->configure($this->Mail, 'smtp://localhost');
130
+
131
+ self::assertEquals($this->Mail->Mailer, 'smtp');
132
+ self::assertEquals($this->Mail->Host, 'localhost');
133
+ self::assertEquals($this->Mail->Port, SMTP::DEFAULT_PORT);
134
+ }
135
+
136
+ /**
137
+ * Test cofiguring SMTP with port.
138
+ */
139
+ public function testConfigureSmtpWitPort()
140
+ {
141
+ $configurator = new DSNConfigurator();
142
+
143
+ $configurator->configure($this->Mail, 'smtp://localhost:2525');
144
+
145
+ self::assertEquals($this->Mail->Mailer, 'smtp');
146
+ self::assertEquals($this->Mail->Host, 'localhost');
147
+ self::assertEquals($this->Mail->Port, 2525);
148
+ }
149
+
150
+ /**
151
+ * Test cofiguring SMTPs without port.
152
+ */
153
+ public function testConfigureSmtpsWithoutPort()
154
+ {
155
+ $configurator = new DSNConfigurator();
156
+
157
+ $configurator->configure($this->Mail, 'smtps://user:pass@remotehost');
158
+
159
+ self::assertEquals($this->Mail->Mailer, 'smtp');
160
+ self::assertEquals($this->Mail->SMTPSecure, PHPMailer::ENCRYPTION_STARTTLS);
161
+
162
+ self::assertEquals($this->Mail->Host, 'remotehost');
163
+ self::assertEquals($this->Mail->Port, SMTP::DEFAULT_SECURE_PORT);
164
+
165
+ self::assertTrue($this->Mail->SMTPAuth);
166
+ self::assertEquals($this->Mail->Username, 'user');
167
+ self::assertEquals($this->Mail->Password, 'pass');
168
+ }
169
+
170
+ /**
171
+ * Test cofiguring SMTPs with port.
172
+ */
173
+ public function testConfigureWithUnknownOption()
174
+ {
175
+ $configurator = new DSNConfigurator();
176
+
177
+ $this->expectException(Exception::class);
178
+ $this->expectExceptionMessage('Unknown option: "UnknownOption".');
179
+
180
+ $configurator->configure($this->Mail, 'mail://locahost?UnknownOption=Value');
181
+ }
182
+
183
+ /**
184
+ * Test cofiguring options with query sting.
185
+ */
186
+ public function testConfigureWithOptions()
187
+ {
188
+ $configurator = new DSNConfigurator();
189
+
190
+ $configurator->configure(
191
+ $this->Mail,
192
+ 'sendmail://localhost?Sendmail=/usr/local/bin/sendmail&AllowEmpty=1&WordWrap=78'
193
+ );
194
+
195
+ self::assertEquals($this->Mail->Mailer, 'sendmail');
196
+ self::assertEquals($this->Mail->Sendmail, '/usr/local/bin/sendmail');
197
+ self::assertEquals($this->Mail->AllowEmpty, true);
198
+ self::assertEquals($this->Mail->WordWrap, 78);
199
+ }
200
+
201
+ /**
202
+ * Test shortcut.
203
+ */
204
+ public function testShortcut()
205
+ {
206
+ $mailer = DSNConfigurator::mailer('smtps://user@gmail.com:secret@smtp.gmail.com?SMTPDebug=3&Timeout=1000');
207
+
208
+ self::assertEquals($mailer->Mailer, 'smtp');
209
+ self::assertEquals($mailer->SMTPSecure, PHPMailer::ENCRYPTION_STARTTLS);
210
+
211
+ self::assertEquals($mailer->Host, 'smtp.gmail.com');
212
+ self::assertEquals($mailer->Port, SMTP::DEFAULT_SECURE_PORT);
213
+
214
+ self::assertTrue($mailer->SMTPAuth);
215
+ self::assertEquals($mailer->Username, 'user@gmail.com');
216
+ self::assertEquals($mailer->Password, 'secret');
217
+
218
+ self::assertEquals($mailer->SMTPDebug, 3);
219
+ self::assertEquals($mailer->Timeout, 1000);
220
+ }
221
+ }
@@ -0,0 +1,110 @@
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;
18
+
19
+ /**
20
+ * Test encoding a string using Q encoding functionality.
21
+ *
22
+ * @covers \PHPMailer\PHPMailer\PHPMailer::encodeQ
23
+ */
24
+ final class EncodeQTest extends TestCase
25
+ {
26
+ /**
27
+ * Test encoding a string using Q encoding.
28
+ *
29
+ * @dataProvider dataEncodeQ
30
+ *
31
+ * @param string $input The text to encode.
32
+ * @param string $expected The expected function return value.
33
+ * @param string $position Optional. Input for the position parameter.
34
+ * @param string $charset Optional. The charset to use.
35
+ */
36
+ public function testEncodeQ($input, $expected, $position = null, $charset = null)
37
+ {
38
+ if (isset($charset)) {
39
+ $this->Mail->CharSet = $charset;
40
+ }
41
+
42
+ if (isset($position)) {
43
+ $result = $this->Mail->encodeQ($input, $position);
44
+ } else {
45
+ $result = $this->Mail->encodeQ($input);
46
+ }
47
+
48
+ self::assertSame($expected, $result);
49
+ }
50
+
51
+ /**
52
+ * Data provider.
53
+ *
54
+ * @return array
55
+ */
56
+ public function dataEncodeQ()
57
+ {
58
+ return [
59
+ 'Encode for text; char encoding default (iso88591)' => [
60
+ 'input' => "\xa1Hola! Se\xf1or!",
61
+ 'expected' => '=A1Hola!_Se=F1or!',
62
+ 'position' => 'text',
63
+ ],
64
+ 'Encode for TEXT (uppercase); char encoding default (iso88591)' => [
65
+ 'input' => "\xa1Hola! Se\xf1or!",
66
+ 'expected' => '=A1Hola!_Se=F1or!',
67
+ 'position' => 'TEXT',
68
+ ],
69
+ 'Encode for comment; char encoding default (iso88591)' => [
70
+ 'input' => "\xa1Hola! Se\xf1or!",
71
+ 'expected' => '=A1Hola!_Se=F1or!',
72
+ 'position' => 'comment',
73
+ ],
74
+ 'Encode for Phrase (mixed case); char encoding default (iso88591)' => [
75
+ 'input' => "\xa1Hola! Se\xf1or!",
76
+ 'expected' => '=A1Hola!_Se=F1or!',
77
+ 'position' => 'Phrase',
78
+ ],
79
+ 'Encode for text; char encoding explicit: utf-8' => [
80
+ 'input' => "\xc2\xa1Hola! Se\xc3\xb1or!",
81
+ 'expected' => '=C2=A1Hola!_Se=C3=B1or!',
82
+ 'position' => 'text',
83
+ 'charset' => PHPMailer::CHARSET_UTF8,
84
+ ],
85
+ 'Encode for text; char encoding explicit: utf-8; string contains "=" character' => [
86
+ 'input' => "Nov\xc3\xa1=",
87
+ 'expected' => 'Nov=C3=A1=3D',
88
+ 'position' => 'text',
89
+ 'charset' => PHPMailer::CHARSET_UTF8,
90
+ ],
91
+ 'Encode for text; char encoding default (iso88591); string containing new lines' => [
92
+ 'input' => "\xa1Hola!\r\nSe\xf1or!\r\n",
93
+ 'expected' => '=A1Hola!Se=F1or!',
94
+ 'position' => 'text',
95
+ ],
96
+ 'Encode for text; char encoding explicit: utf-8; phrase vs text regex (text)' => [
97
+ 'input' => "Hello?\xbdWorld\x5e\xa9",
98
+ 'expected' => 'Hello=3F=BDWorld^=A9',
99
+ 'position' => 'text',
100
+ 'charset' => PHPMailer::CHARSET_UTF8,
101
+ ],
102
+ 'Encode for phrase; char encoding explicit: utf-8; phrase vs text regex (phrase)' => [
103
+ 'input' => "Hello?\xbdWorld\x5e\xa9",
104
+ 'expected' => 'Hello=3F=BDWorld=5E=A9',
105
+ 'position' => 'phrase',
106
+ 'charset' => PHPMailer::CHARSET_UTF8,
107
+ ],
108
+ ];
109
+ }
110
+ }
@@ -0,0 +1,135 @@
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\Exception;
17
+ use PHPMailer\PHPMailer\PHPMailer;
18
+ use PHPMailer\Test\TestCase;
19
+
20
+ /**
21
+ * Test string encoding functionality.
22
+ */
23
+ final class EncodeStringTest extends TestCase
24
+ {
25
+ /**
26
+ * Encoding and charset tests.
27
+ *
28
+ * @covers \PHPMailer\PHPMailer\PHPMailer::encodeString
29
+ *
30
+ * @dataProvider dataEncodeString
31
+ *
32
+ * @param string $input Text to encode.
33
+ * @param string $expected Expected function return value.
34
+ * @param string $encoding Optional. Encoding to use.
35
+ */
36
+ public function testEncodeString($input, $expected, $encoding = null)
37
+ {
38
+ if (isset($encoding)) {
39
+ $result = $this->Mail->encodeString($input, $encoding);
40
+ } else {
41
+ $result = $this->Mail->encodeString($input);
42
+ }
43
+
44
+ self::assertSame($expected, $result);
45
+ }
46
+
47
+ /**
48
+ * Data provider.
49
+ *
50
+ * @return array
51
+ */
52
+ public function dataEncodeString()
53
+ {
54
+ $input = 'hello';
55
+ $LE = PHPMailer::getLE();
56
+ $base64_expected = base64_encode($input) . $LE;
57
+
58
+ return [
59
+ 'Simple string; no explicit encoding (using base64 default)' => [
60
+ 'input' => $input,
61
+ 'expected' => $base64_expected,
62
+ ],
63
+ 'Simple string; base64 encoding (lowercase)' => [
64
+ 'input' => $input,
65
+ 'expected' => $base64_expected,
66
+ 'encoding' => PHPMailer::ENCODING_BASE64,
67
+ ],
68
+ 'Simple string; base64 encoding (uppercase)' => [
69
+ 'input' => $input,
70
+ 'expected' => $base64_expected,
71
+ 'encoding' => strtoupper(PHPMailer::ENCODING_BASE64),
72
+ ],
73
+ 'Simple string; 7-bit encoding' => [
74
+ 'input' => $input,
75
+ 'expected' => $input . $LE,
76
+ 'encoding' => PHPMailer::ENCODING_7BIT,
77
+ ],
78
+ 'Simple string; 8-bit encoding' => [
79
+ 'input' => $input,
80
+ 'expected' => $input . $LE,
81
+ 'encoding' => PHPMailer::ENCODING_8BIT,
82
+ ],
83
+ 'Simple string; binary encoding' => [
84
+ 'input' => $input,
85
+ 'expected' => $input,
86
+ 'encoding' => PHPMailer::ENCODING_BINARY,
87
+ ],
88
+ 'Simple string; binary encoding (mixed case)' => [
89
+ 'input' => $input,
90
+ 'expected' => $input,
91
+ 'encoding' => ucfirst(PHPMailer::ENCODING_BINARY),
92
+ ],
93
+ 'Simple string; quoted printable encoding' => [
94
+ 'input' => $input,
95
+ 'expected' => $input,
96
+ 'encoding' => PHPMailer::ENCODING_QUOTED_PRINTABLE,
97
+ ],
98
+ 'String with line breaks; 8-bit encoding' => [
99
+ 'input' => "hello\rWorld\r",
100
+ 'expected' => "hello{$LE}World{$LE}",
101
+ 'encoding' => PHPMailer::ENCODING_8BIT,
102
+ ],
103
+ ];
104
+ }
105
+
106
+ /**
107
+ * Test passing an incorrect encoding.
108
+ *
109
+ * @covers \PHPMailer\PHPMailer\PHPMailer::encodeString
110
+ */
111
+ public function testInvalidEncoding()
112
+ {
113
+ $result = $this->Mail->encodeString('hello', 'asdfghjkl');
114
+ self::assertSame('', $result, 'Invalid encoding should result in an empty string');
115
+
116
+ self::assertNotEmpty($this->Mail->ErrorInfo, 'Invalid encoding not detected');
117
+ self::assertTrue($this->Mail->isError(), 'Error count not correctly incremented');
118
+ self::assertSame('Unknown encoding: asdfghjkl', $this->Mail->ErrorInfo, 'Error info not correctly set');
119
+ }
120
+
121
+ /**
122
+ * Test passing an incorrect encoding results in an exception being thrown when PHPMailer is
123
+ * instantiated with `$exceptions = true`.
124
+ *
125
+ * @covers \PHPMailer\PHPMailer\PHPMailer::encodeString
126
+ */
127
+ public function testInvalidEncodingException()
128
+ {
129
+ $this->expectException(Exception::class);
130
+ $this->expectExceptionMessage('Unknown encoding: asdfghjkl');
131
+
132
+ $mail = new PHPMailer(true);
133
+ $mail->encodeString('hello', 'asdfghjkl');
134
+ }
135
+ }
@@ -0,0 +1,103 @@
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 ReflectionMethod;
18
+ use Yoast\PHPUnitPolyfills\TestCases\TestCase;
19
+
20
+ /**
21
+ * Test file accessibility verification functionality.
22
+ *
23
+ * {@internal There is one test case known to be missing, which is a test
24
+ * with a valid UNC path. If someone can figure out a way to add a test for
25
+ * that case, that would be awesome!}
26
+ *
27
+ * @covers \PHPMailer\PHPMailer\PHPMailer::fileIsAccessible
28
+ */
29
+ final class FileIsAccessibleTest extends TestCase
30
+ {
31
+ /**
32
+ * Verify whether the "is a file accessible" check works correctly.
33
+ *
34
+ * @dataProvider dataFileIsAccessible
35
+ *
36
+ * @param string $input A relative or absolute path to a file.
37
+ * @param bool $expected The expected function return value.
38
+ */
39
+ public function testFileIsAccessible($input, $expected)
40
+ {
41
+ $reflMethod = new ReflectionMethod(PHPMailer::class, 'fileIsAccessible');
42
+ (\PHP_VERSION_ID < 80100) && $reflMethod->setAccessible(true);
43
+ $result = $reflMethod->invoke(null, $input);
44
+ (\PHP_VERSION_ID < 80100) && $reflMethod->setAccessible(false);
45
+
46
+ self::assertSame($expected, $result);
47
+ }
48
+
49
+ /**
50
+ * Data provider.
51
+ *
52
+ * @return array
53
+ */
54
+ public function dataFileIsAccessible()
55
+ {
56
+ $fixturesPath = dirname(__DIR__) . '/Fixtures/FileIsAccessibleTest/';
57
+
58
+ return [
59
+ 'Valid: accessible file' => [
60
+ 'input' => $fixturesPath . 'accessible.txt',
61
+ 'expected' => true,
62
+ ],
63
+ 'Invalid: path not permitted' => [
64
+ 'input' => 'https://github.com/PHPMailer/PHPMailer/',
65
+ 'expected' => false,
66
+ ],
67
+ 'Invalid: file does not exist' => [
68
+ 'input' => $fixturesPath . 'thisfiledoesnotexist.txt',
69
+ 'expected' => false,
70
+ ],
71
+ 'Invalid: file in UNC path does not exist' => [
72
+ 'input' => '\\\\nowhere\nothing',
73
+ 'expected' => false,
74
+ ],
75
+ ];
76
+ }
77
+
78
+ /**
79
+ * Test that the "is a file accessible" check correctly fails when the file permissions make
80
+ * the file unreadable.
81
+ */
82
+ public function testFileIsAccessibleFailsOnUnreadableFile()
83
+ {
84
+ if (\DIRECTORY_SEPARATOR === '\\') {
85
+ // Windows does not respect chmod permissions.
86
+ self::markTestSkipped('This test requires a non-Windows OS.');
87
+ }
88
+
89
+ $path = dirname(__DIR__) . '/Fixtures/FileIsAccessibleTest/';
90
+ $file = $path . 'inaccessible.txt';
91
+ chmod($file, octdec('0'));
92
+
93
+ $reflMethod = new ReflectionMethod(PHPMailer::class, 'fileIsAccessible');
94
+ (\PHP_VERSION_ID < 80100) && $reflMethod->setAccessible(true);
95
+ $result = $reflMethod->invoke(null, $file);
96
+ (\PHP_VERSION_ID < 80100) && $reflMethod->setAccessible(false);
97
+
98
+ // Reset to the default for git files before running assertions.
99
+ chmod($file, octdec('644'));
100
+
101
+ self::assertFalse($result);
102
+ }
103
+ }
@@ -0,0 +1,74 @@
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 file name to type functionality.
21
+ *
22
+ * @covers \PHPMailer\PHPMailer\PHPMailer::filenameToType
23
+ */
24
+ final class FilenameToTypeTest extends TestCase
25
+ {
26
+ /**
27
+ * Verify mapping a file name to a MIME type.
28
+ *
29
+ * @dataProvider dataFilenameToType
30
+ *
31
+ * @param string $filename Filename input.
32
+ * @param string $expected Expected function output.
33
+ */
34
+ public function testFilenameToType($filename, $expected)
35
+ {
36
+ $result = PHPMailer::filenameToType($filename);
37
+ self::assertSame($expected, $result, 'Failed to map file name to a MIME type');
38
+ }
39
+
40
+ /**
41
+ * Data provider.
42
+ *
43
+ * @return array
44
+ */
45
+ public function dataFilenameToType()
46
+ {
47
+ return [
48
+ 'Empty string' => [
49
+ 'filename' => '',
50
+ 'expected' => 'application/octet-stream',
51
+ ],
52
+ 'File name without query string' => [
53
+ 'filename' => 'abc.png',
54
+ 'expected' => 'image/png',
55
+ ],
56
+ 'File name with query string' => [
57
+ 'filename' => 'abc.jpg?xyz=1',
58
+ 'expected' => 'image/jpeg',
59
+ ],
60
+ 'Full path to file, linux style' => [
61
+ 'filename' => '/usr/sbin/subdir/docs.pdf',
62
+ 'expected' => 'application/pdf',
63
+ ],
64
+ 'Full path to file, windows style' => [
65
+ 'filename' => 'D:\subdir\with spaces\subdir\myapp.zip',
66
+ 'expected' => 'application/zip',
67
+ ],
68
+ 'Unknown extension, should return default MIME type' => [
69
+ 'filename' => 'abc.xyzpdq',
70
+ 'expected' => 'application/octet-stream',
71
+ ],
72
+ ];
73
+ }
74
+ }