pygments.rb-jruby 0.5.4

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 (473) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/CHANGELOG.md +71 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +17 -0
  6. data/README.md +118 -0
  7. data/Rakefile +66 -0
  8. data/bench.rb +22 -0
  9. data/cache-lexers.rb +8 -0
  10. data/lexers +0 -0
  11. data/lib/pygments.rb +8 -0
  12. data/lib/pygments/lexer.rb +148 -0
  13. data/lib/pygments/mentos.py +351 -0
  14. data/lib/pygments/popen.rb +404 -0
  15. data/lib/pygments/version.rb +3 -0
  16. data/pygments.rb.gemspec +24 -0
  17. data/test/test_data.c +2581 -0
  18. data/test/test_data.py +514 -0
  19. data/test/test_data_generated +2582 -0
  20. data/test/test_pygments.rb +287 -0
  21. data/vendor/custom_lexers/github.py +565 -0
  22. data/vendor/pygments-main/AUTHORS +153 -0
  23. data/vendor/pygments-main/CHANGES +889 -0
  24. data/vendor/pygments-main/LICENSE +25 -0
  25. data/vendor/pygments-main/MANIFEST.in +6 -0
  26. data/vendor/pygments-main/Makefile +59 -0
  27. data/vendor/pygments-main/REVISION +1 -0
  28. data/vendor/pygments-main/TODO +15 -0
  29. data/vendor/pygments-main/docs/generate.py +472 -0
  30. data/vendor/pygments-main/docs/pygmentize.1 +94 -0
  31. data/vendor/pygments-main/docs/src/api.txt +270 -0
  32. data/vendor/pygments-main/docs/src/authors.txt +5 -0
  33. data/vendor/pygments-main/docs/src/changelog.txt +5 -0
  34. data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
  35. data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
  36. data/vendor/pygments-main/docs/src/filters.txt +42 -0
  37. data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
  38. data/vendor/pygments-main/docs/src/formatters.txt +48 -0
  39. data/vendor/pygments-main/docs/src/index.txt +69 -0
  40. data/vendor/pygments-main/docs/src/installation.txt +71 -0
  41. data/vendor/pygments-main/docs/src/integrate.txt +48 -0
  42. data/vendor/pygments-main/docs/src/java.txt +70 -0
  43. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +603 -0
  44. data/vendor/pygments-main/docs/src/lexers.txt +67 -0
  45. data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
  46. data/vendor/pygments-main/docs/src/plugins.txt +93 -0
  47. data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
  48. data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
  49. data/vendor/pygments-main/docs/src/styles.txt +143 -0
  50. data/vendor/pygments-main/docs/src/tokens.txt +349 -0
  51. data/vendor/pygments-main/docs/src/unicode.txt +49 -0
  52. data/vendor/pygments-main/external/autopygmentize +64 -0
  53. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
  54. data/vendor/pygments-main/external/markdown-processor.py +67 -0
  55. data/vendor/pygments-main/external/moin-parser.py +112 -0
  56. data/vendor/pygments-main/external/pygments.bashcomp +38 -0
  57. data/vendor/pygments-main/external/rst-directive-old.py +77 -0
  58. data/vendor/pygments-main/external/rst-directive.py +83 -0
  59. data/vendor/pygments-main/ez_setup.py +276 -0
  60. data/vendor/pygments-main/pygmentize +7 -0
  61. data/vendor/pygments-main/pygments/__init__.py +91 -0
  62. data/vendor/pygments-main/pygments/cmdline.py +441 -0
  63. data/vendor/pygments-main/pygments/console.py +74 -0
  64. data/vendor/pygments-main/pygments/filter.py +74 -0
  65. data/vendor/pygments-main/pygments/filters/__init__.py +356 -0
  66. data/vendor/pygments-main/pygments/formatter.py +95 -0
  67. data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
  68. data/vendor/pygments-main/pygments/formatters/_mapping.py +92 -0
  69. data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
  70. data/vendor/pygments-main/pygments/formatters/html.py +821 -0
  71. data/vendor/pygments-main/pygments/formatters/img.py +553 -0
  72. data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
  73. data/vendor/pygments-main/pygments/formatters/other.py +115 -0
  74. data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
  75. data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
  76. data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
  77. data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
  78. data/vendor/pygments-main/pygments/lexer.py +765 -0
  79. data/vendor/pygments-main/pygments/lexers/__init__.py +240 -0
  80. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
  81. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
  82. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
  83. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
  84. data/vendor/pygments-main/pygments/lexers/_mapping.py +354 -0
  85. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
  86. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
  87. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +233 -0
  88. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
  89. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +40 -0
  90. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
  91. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
  92. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -0
  93. data/vendor/pygments-main/pygments/lexers/agile.py +2290 -0
  94. data/vendor/pygments-main/pygments/lexers/asm.py +398 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +3723 -0
  96. data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
  97. data/vendor/pygments-main/pygments/lexers/dotnet.py +671 -0
  98. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  99. data/vendor/pygments-main/pygments/lexers/functional.py +2731 -0
  100. data/vendor/pygments-main/pygments/lexers/github.py +565 -0
  101. data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
  102. data/vendor/pygments-main/pygments/lexers/jvm.py +1112 -0
  103. data/vendor/pygments-main/pygments/lexers/math.py +1918 -0
  104. data/vendor/pygments-main/pygments/lexers/other.py +3778 -0
  105. data/vendor/pygments-main/pygments/lexers/parsers.py +778 -0
  106. data/vendor/pygments-main/pygments/lexers/shell.py +424 -0
  107. data/vendor/pygments-main/pygments/lexers/special.py +100 -0
  108. data/vendor/pygments-main/pygments/lexers/sql.py +559 -0
  109. data/vendor/pygments-main/pygments/lexers/templates.py +1742 -0
  110. data/vendor/pygments-main/pygments/lexers/text.py +1893 -0
  111. data/vendor/pygments-main/pygments/lexers/web.py +4045 -0
  112. data/vendor/pygments-main/pygments/modeline.py +40 -0
  113. data/vendor/pygments-main/pygments/plugin.py +74 -0
  114. data/vendor/pygments-main/pygments/scanner.py +104 -0
  115. data/vendor/pygments-main/pygments/style.py +117 -0
  116. data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
  117. data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
  118. data/vendor/pygments-main/pygments/styles/borland.py +51 -0
  119. data/vendor/pygments-main/pygments/styles/bw.py +49 -0
  120. data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
  121. data/vendor/pygments-main/pygments/styles/default.py +73 -0
  122. data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
  123. data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
  124. data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
  125. data/vendor/pygments-main/pygments/styles/manni.py +75 -0
  126. data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
  127. data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
  128. data/vendor/pygments-main/pygments/styles/native.py +65 -0
  129. data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
  130. data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
  131. data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
  132. data/vendor/pygments-main/pygments/styles/tango.py +141 -0
  133. data/vendor/pygments-main/pygments/styles/trac.py +63 -0
  134. data/vendor/pygments-main/pygments/styles/vim.py +63 -0
  135. data/vendor/pygments-main/pygments/styles/vs.py +38 -0
  136. data/vendor/pygments-main/pygments/token.py +195 -0
  137. data/vendor/pygments-main/pygments/unistring.py +140 -0
  138. data/vendor/pygments-main/pygments/util.py +277 -0
  139. data/vendor/pygments-main/scripts/check_sources.py +242 -0
  140. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +32 -0
  141. data/vendor/pygments-main/scripts/epydoc.css +280 -0
  142. data/vendor/pygments-main/scripts/find_codetags.py +205 -0
  143. data/vendor/pygments-main/scripts/find_error.py +170 -0
  144. data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
  145. data/vendor/pygments-main/scripts/pylintrc +301 -0
  146. data/vendor/pygments-main/scripts/reindent.py +291 -0
  147. data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
  148. data/vendor/pygments-main/setup.cfg +7 -0
  149. data/vendor/pygments-main/setup.py +90 -0
  150. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
  151. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
  152. data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
  153. data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
  154. data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
  155. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
  156. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
  157. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
  158. data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
  159. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
  160. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
  161. data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
  162. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
  163. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
  164. data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
  165. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
  166. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
  167. data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
  168. data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
  169. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
  170. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
  171. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
  172. data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
  173. data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
  174. data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
  175. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
  176. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
  177. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
  178. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
  179. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
  180. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
  181. data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
  182. data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
  183. data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
  184. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
  185. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
  186. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
  187. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
  188. data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
  189. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
  190. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
  191. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
  192. data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
  193. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
  194. data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
  195. data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
  196. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
  197. data/vendor/pygments-main/tests/examplefiles/classes.dylan +125 -0
  198. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
  199. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
  200. data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
  201. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
  202. data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
  203. data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
  204. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
  205. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
  206. data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
  207. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
  208. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
  209. data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
  210. data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
  211. data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
  212. data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
  213. data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
  214. data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
  215. data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
  216. data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
  217. data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
  218. data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
  219. data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
  220. data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
  221. data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
  222. data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
  223. data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
  224. data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
  225. data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
  226. data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
  227. data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
  228. data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
  229. data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
  230. data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
  231. data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
  232. data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
  233. data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
  234. data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
  235. data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
  236. data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
  237. data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
  238. data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
  239. data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
  240. data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
  241. data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
  242. data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
  243. data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
  244. data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
  245. data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
  246. data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
  247. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
  248. data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
  249. data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
  250. data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
  251. data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
  252. data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
  253. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
  254. data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
  255. data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
  256. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
  257. data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
  258. data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
  259. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
  260. data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
  261. data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
  262. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
  263. data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
  264. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
  265. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
  266. data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
  267. data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
  268. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
  269. data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
  270. data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
  271. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
  272. data/vendor/pygments-main/tests/examplefiles/http_request_example +15 -0
  273. data/vendor/pygments-main/tests/examplefiles/http_response_example +29 -0
  274. data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
  275. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
  276. data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
  277. data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
  278. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
  279. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
  280. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
  281. data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
  282. data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
  283. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
  284. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
  285. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
  286. data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
  287. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
  288. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
  289. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
  290. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
  291. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
  292. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
  293. data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
  294. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
  295. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
  296. data/vendor/pygments-main/tests/examplefiles/matlab_sample +30 -0
  297. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
  298. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
  299. data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
  300. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
  301. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
  302. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
  303. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
  304. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
  305. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
  306. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
  307. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
  308. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
  309. data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
  310. data/vendor/pygments-main/tests/examplefiles/objc_example.m +32 -0
  311. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
  312. data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
  313. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
  314. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
  315. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
  316. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
  317. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
  318. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
  319. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
  320. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
  321. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
  322. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
  323. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
  324. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
  325. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
  326. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
  327. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
  328. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
  329. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
  330. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
  331. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
  332. data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
  333. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
  334. data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
  335. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
  336. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
  337. data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
  338. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
  339. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
  340. data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
  341. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
  342. data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
  343. data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
  344. data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
  345. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
  346. data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
  347. data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
  348. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
  349. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
  350. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
  351. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
  352. data/vendor/pygments-main/tests/examplefiles/test.R +153 -0
  353. data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
  354. data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
  355. data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
  356. data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
  357. data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
  358. data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
  359. data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
  360. data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
  361. data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
  362. data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
  363. data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
  364. data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
  365. data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
  366. data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
  367. data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
  368. data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
  369. data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
  370. data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
  371. data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
  372. data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
  373. data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
  374. data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
  375. data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
  376. data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
  377. data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
  378. data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
  379. data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
  380. data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
  381. data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
  382. data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
  383. data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
  384. data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
  385. data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
  386. data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
  387. data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
  388. data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
  389. data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
  390. data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
  391. data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
  392. data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
  393. data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
  394. data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
  395. data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
  396. data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
  397. data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
  398. data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
  399. data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
  400. data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
  401. data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
  402. data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
  403. data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
  404. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
  405. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
  406. data/vendor/pygments-main/tests/examplefiles/type.lisp +1218 -0
  407. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
  408. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
  409. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
  410. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
  411. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
  412. data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
  413. data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
  414. data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
  415. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
  416. data/vendor/pygments-main/tests/old_run.py +138 -0
  417. data/vendor/pygments-main/tests/run.py +49 -0
  418. data/vendor/pygments-main/tests/support.py +15 -0
  419. data/vendor/pygments-main/tests/support/tags +36 -0
  420. data/vendor/pygments-main/tests/test_basic_api.py +295 -0
  421. data/vendor/pygments-main/tests/test_clexer.py +31 -0
  422. data/vendor/pygments-main/tests/test_cmdline.py +105 -0
  423. data/vendor/pygments-main/tests/test_examplefiles.py +99 -0
  424. data/vendor/pygments-main/tests/test_html_formatter.py +178 -0
  425. data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
  426. data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
  427. data/vendor/pygments-main/tests/test_perllexer.py +137 -0
  428. data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
  429. data/vendor/pygments-main/tests/test_token.py +46 -0
  430. data/vendor/pygments-main/tests/test_using_api.py +40 -0
  431. data/vendor/pygments-main/tests/test_util.py +135 -0
  432. data/vendor/simplejson/.gitignore +10 -0
  433. data/vendor/simplejson/.travis.yml +5 -0
  434. data/vendor/simplejson/CHANGES.txt +291 -0
  435. data/vendor/simplejson/LICENSE.txt +19 -0
  436. data/vendor/simplejson/MANIFEST.in +5 -0
  437. data/vendor/simplejson/README.rst +19 -0
  438. data/vendor/simplejson/conf.py +179 -0
  439. data/vendor/simplejson/index.rst +628 -0
  440. data/vendor/simplejson/scripts/make_docs.py +18 -0
  441. data/vendor/simplejson/setup.py +104 -0
  442. data/vendor/simplejson/simplejson/__init__.py +510 -0
  443. data/vendor/simplejson/simplejson/_speedups.c +2745 -0
  444. data/vendor/simplejson/simplejson/decoder.py +425 -0
  445. data/vendor/simplejson/simplejson/encoder.py +567 -0
  446. data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
  447. data/vendor/simplejson/simplejson/scanner.py +77 -0
  448. data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
  449. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
  450. data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
  451. data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
  452. data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
  453. data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
  454. data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
  455. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
  456. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
  457. data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
  458. data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
  459. data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
  460. data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
  461. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
  462. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
  463. data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
  464. data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
  465. data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
  466. data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
  467. data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
  468. data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
  469. data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
  470. data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
  471. data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
  472. data/vendor/simplejson/simplejson/tool.py +39 -0
  473. metadata +557 -0
@@ -0,0 +1,407 @@
1
+ ' Copyright (c) 2008 Silken Web - Free BSD License
2
+ ' All rights reserved.
3
+ '
4
+ ' Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
+ ' * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer
6
+ ' * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
7
+ ' * Neither the name of Silken Web nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
8
+ '
9
+ ' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
10
+ ' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
11
+ ' BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
12
+ ' GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
13
+ ' LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
14
+ ' DAMAGE.
15
+
16
+ Imports System.Net.Mail
17
+ Imports SilkenWeb.Entities
18
+ Imports System.Text.RegularExpressions
19
+ Imports System.Reflection
20
+ Imports SilkenWeb.Validation
21
+ Imports System.Globalization
22
+ Imports SilkenWeb.Reflection
23
+
24
+ Namespace SilkenWeb
25
+
26
+ ''' <summary>
27
+ ''' Represents an Email and what you can do with it.
28
+ ''' </summary>
29
+ ''' <remarks>
30
+ ''' Keith Jackson
31
+ ''' 11/04/2008
32
+ '''
33
+ ''' This class is intended to be inherrited for providing all manner of system generated emails, each represented by it's own class.
34
+ ''' </remarks>
35
+ Public MustInherit Class EmailBase : Implements IValidatable, IDisposable
36
+
37
+ #Region " Constants "
38
+
39
+ Public Const LenientRegexPattern As String = "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
40
+ Public Const StrictRegexPattern As String = "^(([^<>()[\]\\.,;:\s@\""]+(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$"
41
+ Public Const InvalidEmailAddressError As String = "The Email address provided was invalid"
42
+ Public Const InvalidEmailAddressErrorWithAddress As String = "The Email address, {0}, provided was invalid"
43
+ Public Const NullEmailAddressError As String = "The Email address was not provided"
44
+
45
+ #End Region
46
+
47
+ #Region " Fields "
48
+
49
+ Private disposedValue As Boolean
50
+
51
+ Private _message As MailMessage = New MailMessage()
52
+ Private _mailClient As SmtpClient
53
+
54
+ Private _useStrictValidation As Boolean
55
+
56
+ #End Region
57
+
58
+ #Region " Construction "
59
+
60
+ ''' <summary>
61
+ ''' Instantiates a new Email of the derived type.
62
+ ''' </summary>
63
+ ''' <param name="sender">The email address of the sender of the message.</param>
64
+ ''' <param name="recipients">The email addresses of the recipients of the message.</param>
65
+ ''' <param name="subject">The subject of the message.</param>
66
+ ''' <param name="body">The body of the message.</param>
67
+ Protected Sub New(ByVal sender As String, ByVal subject As String, ByVal body As String, ByVal ParamArray recipients As String())
68
+ _message.From = New MailAddress(sender)
69
+ For i As Integer = 0 To recipients.Length - 1
70
+ _message.To.Add(recipients(i))
71
+ Next
72
+ _message.Subject = subject
73
+ _message.Body = body
74
+ End Sub
75
+
76
+ #End Region
77
+
78
+ #Region " Properties "
79
+
80
+ ''' <summary>
81
+ ''' Gets the Attachments for the message.
82
+ ''' </summary>
83
+ Protected Overridable ReadOnly Property Attachments() As AttachmentCollection
84
+ Get
85
+ Return _message.Attachments
86
+ End Get
87
+ End Property
88
+
89
+ ''' <summary>
90
+ ''' The email addresses of the BCC recipients of the message.
91
+ ''' </summary>
92
+ Public Property BccRecipients() As String()
93
+ Get
94
+ Return _message.Bcc.ToAddressStringArray()
95
+ End Get
96
+ Set(ByVal value As String())
97
+ _message.Bcc.Clear()
98
+ _message.Bcc.Add(value.ToDelimitedString())
99
+ End Set
100
+ End Property
101
+
102
+ ''' <summary>
103
+ ''' The body of the message.
104
+ ''' </summary>
105
+ Protected Overridable Property Body() As String
106
+ Get
107
+ Return _message.Body
108
+ End Get
109
+ Set(ByVal value As String)
110
+ _message.Body = value
111
+ End Set
112
+ End Property
113
+
114
+ ''' <summary>
115
+ ''' The email addresses of the CC recipients of the message.
116
+ ''' </summary>
117
+ Public Property CCRecipients() As String()
118
+ Get
119
+ Return _message.CC.ToAddressStringArray()
120
+ End Get
121
+ Set(ByVal value As String())
122
+ _message.CC.Clear()
123
+ _message.CC.Add(value.ToDelimitedString())
124
+ End Set
125
+ End Property
126
+
127
+ ''' <summary>
128
+ ''' Gets or Sets a flag to indicate if the body of the message is HTML.
129
+ ''' </summary>
130
+ Public Property IsBodyHtml() As Boolean
131
+ Get
132
+ Return _message.IsBodyHtml
133
+ End Get
134
+ Set(ByVal value As Boolean)
135
+ _message.IsBodyHtml = value
136
+ End Set
137
+ End Property
138
+
139
+ ''' <summary>
140
+ ''' Gets the Mail message wrapped by the EmailBase class.
141
+ ''' </summary>
142
+ Protected ReadOnly Property Message() As MailMessage
143
+ Get
144
+ Return _message
145
+ End Get
146
+ End Property
147
+
148
+ ''' <summary>
149
+ ''' Gets or Sets the Priority of the message.
150
+ ''' </summary>
151
+ Public Property Priority() As MailPriority
152
+ Get
153
+ Return _message.Priority
154
+ End Get
155
+ Set(ByVal value As MailPriority)
156
+ _message.Priority = value
157
+ End Set
158
+ End Property
159
+
160
+ ''' <summary>
161
+ ''' The email addresses of the recipients of the message.
162
+ ''' </summary>
163
+ Public Property Recipients() As String()
164
+ Get
165
+ Return _message.To.ToAddressStringArray()
166
+ End Get
167
+ Set(ByVal value As String())
168
+ _message.To.Clear()
169
+ _message.To.Add(value.ToDelimitedString())
170
+ End Set
171
+ End Property
172
+
173
+ ''' <summary>
174
+ ''' The reply email address of the sender of the message.
175
+ ''' </summary>
176
+ Public Property ReplyTo() As String
177
+ Get
178
+ If _message.ReplyTo Is Nothing Then
179
+ Return String.Empty
180
+ Else
181
+ Return _message.ReplyTo.Address
182
+ End If
183
+ End Get
184
+ Set(ByVal value As String)
185
+ If _message.ReplyTo Is Nothing Then
186
+ _message.ReplyTo = New MailAddress(value)
187
+ Else
188
+ _message.ReplyTo = New MailAddress(value, _message.ReplyTo.DisplayName)
189
+ End If
190
+ End Set
191
+ End Property
192
+
193
+ ''' <summary>
194
+ ''' The reply display name of the sender of the message.
195
+ ''' </summary>
196
+ Public Property ReplyToDisplayName() As String
197
+ Get
198
+ If _message.ReplyTo Is Nothing Then
199
+ Return String.Empty
200
+ Else
201
+ Return _message.ReplyTo.DisplayName
202
+ End If
203
+ End Get
204
+ Set(ByVal value As String)
205
+ If _message.ReplyTo Is Nothing Then
206
+ _message.ReplyTo = New MailAddress(_message.From.Address, value)
207
+ Else
208
+ _message.ReplyTo = New MailAddress(_message.ReplyTo.Address, value)
209
+ End If
210
+ End Set
211
+ End Property
212
+
213
+ ''' <summary>
214
+ ''' The email address of the sender of the message.
215
+ ''' </summary>
216
+ Public Overridable Property Sender() As String
217
+ Get
218
+ Return _message.From.Address
219
+ End Get
220
+ Protected Set(ByVal value As String)
221
+ _message.From = New MailAddress(value, _message.From.DisplayName)
222
+ End Set
223
+ End Property
224
+
225
+ ''' <summary>
226
+ ''' The display name of the sender of the message.
227
+ ''' </summary>
228
+ Public Overridable Property SenderDisplayName() As String
229
+ Get
230
+ Return _message.From.DisplayName
231
+ End Get
232
+ Protected Set(ByVal value As String)
233
+ _message.From = New MailAddress(_message.From.Address, value)
234
+ End Set
235
+ End Property
236
+
237
+ ''' <summary>
238
+ ''' The subject of the message.
239
+ ''' </summary>
240
+ Public Overridable Property Subject() As String
241
+ Get
242
+ Return _message.Subject
243
+ End Get
244
+ Protected Set(ByVal value As String)
245
+ _message.Subject = value
246
+ End Set
247
+ End Property
248
+
249
+ #End Region
250
+
251
+ #Region " Methods "
252
+
253
+ #Region " Send Methods "
254
+
255
+ ''' <summary>
256
+ ''' Sends this email
257
+ ''' </summary>
258
+ ''' <param name="mailServer">The SMTP server to use to send the email.</param>
259
+ Public Sub Send(ByVal mailServer As String)
260
+ _mailClient = New SmtpClient(mailServer)
261
+ _mailClient.Send(_message)
262
+ End Sub
263
+
264
+ ''' <summary>
265
+ ''' Sends this email asynchronously.
266
+ ''' </summary>
267
+ ''' <param name="mailServer">The SMTP server to use to send the email.</param>
268
+ ''' <param name="userToken">A user defined token passed to the recieving method on completion of the asynchronous task.</param>
269
+ Public Sub SendAsync(ByVal mailServer As String, ByVal userToken As Object)
270
+ _mailClient = New SmtpClient(mailServer)
271
+ _mailClient.SendAsync(_message, userToken)
272
+ End Sub
273
+
274
+ ''' <summary>
275
+ ''' Cancels an attempt to send this email asynchronously.
276
+ ''' </summary>
277
+ Public Sub SendAsyncCancel()
278
+ _mailClient.SendAsyncCancel()
279
+ End Sub
280
+
281
+ #End Region
282
+
283
+ #End Region
284
+
285
+ #Region " IValidatable Implementation "
286
+
287
+ ''' <summary>
288
+ ''' gets and Sets a flag to indicate whether to use strict validation.
289
+ ''' </summary>
290
+ Public Property UseStrictValidation() As Boolean
291
+ Get
292
+ Return _useStrictValidation
293
+ End Get
294
+ Set(ByVal value As Boolean)
295
+ _useStrictValidation = value
296
+ End Set
297
+ End Property
298
+
299
+ ''' <summary>
300
+ ''' Validates this email.
301
+ ''' </summary>
302
+ ''' <returns>A ValidationResponse, containing a flag to indicate if validation was passed and a collection of Property Names and validation errors.</returns>
303
+ Public Function Validate() As ValidationResponse Implements IValidatable.Validate
304
+
305
+ Dim retVal As New ValidationResponse()
306
+ Dim mailRegEx As String = If(_useStrictValidation, StrictRegexPattern, LenientRegexPattern)
307
+
308
+ ValidateAddress("Sender", retVal, mailRegEx, True)
309
+ ValidateAddresses("Recipients", retVal, mailRegEx, True)
310
+ ValidateAddresses("CcRecipients", retVal, mailRegEx)
311
+ ValidateAddresses("BccRecipients", retVal, mailRegEx)
312
+ ValidateAddress("ReplyTo", retVal, mailRegEx)
313
+
314
+ Return retVal
315
+
316
+ End Function
317
+
318
+ ''' <summary>
319
+ ''' Validates a single Email Address property.
320
+ ''' </summary>
321
+ ''' <param name="propertyName">The name of the property to validate.</param>
322
+ ''' <param name="retVal">The validation response object.</param>
323
+ ''' <param name="mailRegEx">The regular expression pattern to use for validation.</param>
324
+ Private Overloads Sub ValidateAddress(ByVal propertyName As String, ByRef retVal As ValidationResponse, ByVal mailRegEx As String)
325
+ ValidateAddress(propertyName, retVal, mailRegEx, False)
326
+ End Sub
327
+
328
+ ''' <summary>
329
+ ''' Validates a single Email Address property.
330
+ ''' </summary>
331
+ ''' <param name="propertyName">The name of the property to validate.</param>
332
+ ''' <param name="retVal">The validation response object.</param>
333
+ ''' <param name="mailRegEx">The regular expression pattern to use for validation.</param>
334
+ ''' <param name="required">Indicates if the address is required; False if not specified.</param>
335
+ Private Overloads Sub ValidateAddress(ByVal propertyName As String, ByRef retVal As ValidationResponse, ByVal mailRegEx As String, ByVal required As Boolean)
336
+
337
+ Dim emailAddress As String = ReflectionHelper.Properties.GetProperty(Of String)(Me, propertyName)
338
+
339
+ If emailAddress Is Nothing OrElse emailAddress.Length = 0 Then
340
+ If required Then retVal.Add(New KeyValuePair(Of String, String)(propertyName, NullEmailAddressError))
341
+ Else
342
+ If (Not Regex.IsMatch(emailAddress, mailRegEx)) Then
343
+ retVal.Add(New KeyValuePair(Of String, String)(propertyName, InvalidEmailAddressError))
344
+ End If
345
+ End If
346
+
347
+ End Sub
348
+
349
+ ''' <summary>
350
+ ''' Validates a string array of Email Address property.
351
+ ''' </summary>
352
+ ''' <param name="propertyName">The name of the property to validate.</param>
353
+ ''' <param name="retVal">The validation response object.</param>
354
+ ''' <param name="mailRegEx">The regular expression pattern to use for validation.</param>
355
+ Private Overloads Sub ValidateAddresses(ByVal propertyName As String, ByRef retVal As ValidationResponse, ByVal mailRegEx As String)
356
+ ValidateAddresses(propertyName, retVal, mailRegEx, False)
357
+ End Sub
358
+
359
+ ''' <summary>
360
+ ''' Validates a string array of Email Address property.
361
+ ''' </summary>
362
+ ''' <param name="propertyName">The name of the property to validate.</param>
363
+ ''' <param name="retVal">The validation response object.</param>
364
+ ''' <param name="mailRegEx">The regular expression pattern to use for validation.</param>
365
+ ''' <param name="required">Indicates if the address is required; False if not specified.</param>
366
+ Private Overloads Sub ValidateAddresses(ByVal propertyName As String, ByRef retVal As ValidationResponse, ByVal mailRegEx As String, ByVal required As Boolean)
367
+
368
+ Dim emailAddresses() As String = ReflectionHelper.Properties.GetProperty(Of String())(Me, propertyName)
369
+
370
+ If emailAddresses Is Nothing OrElse emailAddresses.Length = 0 Then
371
+ If required Then retVal.Add(New KeyValuePair(Of String, String)(propertyName, String.Format(CultureInfo.CurrentCulture, NullEmailAddressError)))
372
+ Else
373
+ For i As Integer = 0 To emailAddresses.Length - 1
374
+ If (Not Regex.IsMatch(emailAddresses(i), mailRegEx)) Then
375
+ retVal.Add(New KeyValuePair(Of String, String)(propertyName, String.Format(CultureInfo.CurrentCulture, InvalidEmailAddressErrorWithAddress, emailAddresses(i))))
376
+ End If
377
+ Next
378
+ End If
379
+
380
+ End Sub
381
+
382
+ #End Region
383
+
384
+ #Region " IDisposable Implementation "
385
+
386
+ Protected Overridable Sub Dispose(ByVal disposing As Boolean)
387
+ If Not Me.disposedValue Then
388
+ If disposing Then
389
+ _message.Dispose()
390
+ End If
391
+ _mailClient = Nothing
392
+ _message = Nothing
393
+ End If
394
+ Me.disposedValue = True
395
+ End Sub
396
+
397
+ Public Sub Dispose() Implements IDisposable.Dispose
398
+ ' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
399
+ Dispose(True)
400
+ GC.SuppressFinalize(Me)
401
+ End Sub
402
+
403
+ #End Region
404
+
405
+ End Class
406
+
407
+ End Namespace
@@ -0,0 +1,161 @@
1
+ library ieee;
2
+ use ieee.std_logic_unsigned.all;
3
+ use ieee.std_logic_1164.all;
4
+ use ieee.numeric_std.all;
5
+
6
+
7
+ entity top_testbench is --test
8
+ generic ( -- test
9
+ n : integer := 8 -- test
10
+ ); -- test
11
+ end top_testbench; -- test
12
+
13
+
14
+ architecture top_testbench_arch of top_testbench is
15
+
16
+ component top is
17
+ generic (
18
+ n : integer
19
+ ) ;
20
+ port (
21
+ clk : in std_logic;
22
+ rst : in std_logic;
23
+ d1 : in std_logic_vector (n-1 downto 0);
24
+ d2 : in std_logic_vector (n-1 downto 0);
25
+ operation : in std_logic;
26
+ result : out std_logic_vector (2*n-1 downto 0)
27
+ );
28
+ end component;
29
+
30
+ signal clk : std_logic;
31
+ signal rst : std_logic;
32
+ signal operation : std_logic;
33
+ signal d1 : std_logic_vector (n-1 downto 0);
34
+ signal d2 : std_logic_vector (n-1 downto 0);
35
+ signal result : std_logic_vector (2*n-1 downto 0);
36
+
37
+ type test_type is ( a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
38
+ attribute enum_encoding of my_state : type is "001 010 011 100 111";
39
+ begin
40
+
41
+ TESTUNIT : top generic map (n => n)
42
+ port map (clk => clk,
43
+ rst => rst,
44
+ d1 => d1,
45
+ d2 => d2,
46
+ operation => operation,
47
+ result => result);
48
+
49
+ clock_process : process
50
+ begin
51
+ clk <= '0';
52
+ wait for 5 ns;
53
+ clk <= '1';
54
+ wait for 5 ns;
55
+ end process;
56
+
57
+ data_process : process
58
+ begin
59
+
60
+ -- test case #1
61
+ operation <= '0';
62
+
63
+ rst <= '1';
64
+ wait for 5 ns;
65
+ rst <= '0';
66
+ wait for 5 ns;
67
+
68
+ d1 <= std_logic_vector(to_unsigned(60, d1'length));
69
+ d2 <= std_logic_vector(to_unsigned(12, d2'length));
70
+ wait for 360 ns;
71
+
72
+ assert (result = std_logic_vector(to_unsigned(720, result'length)))
73
+ report "Test case #1 failed" severity error;
74
+
75
+ -- test case #2
76
+ operation <= '0';
77
+
78
+ rst <= '1';
79
+ wait for 5 ns;
80
+ rst <= '0';
81
+ wait for 5 ns;
82
+
83
+ d1 <= std_logic_vector(to_unsigned(55, d1'length));
84
+ d2 <= std_logic_vector(to_unsigned(1, d2'length));
85
+ wait for 360 ns;
86
+
87
+ assert (result = std_logic_vector(to_unsigned(55, result'length)))
88
+ report "Test case #2 failed" severity error;
89
+
90
+ -- etc
91
+
92
+ end process;
93
+
94
+ end top_testbench_arch;
95
+
96
+
97
+ configuration testbench_for_top of top_testbench is
98
+ for top_testbench_arch
99
+ for TESTUNIT : top
100
+ use entity work.top(top_arch);
101
+ end for;
102
+ end for;
103
+ end testbench_for_top;
104
+
105
+
106
+ function compare(A: std_logic, B: std_Logic) return std_logic is
107
+ constant pi : real := 3.14159;
108
+ constant half_pi : real := pi / 2.0;
109
+ constant cycle_time : time := 2 ns;
110
+ constant N, N5 : integer := 5;
111
+ begin
112
+ if (A = '0' and B = '1') then
113
+ return B;
114
+ else
115
+ return A;
116
+ end if ;
117
+ end compare;
118
+
119
+
120
+ procedure print(P : std_logic_vector(7 downto 0);
121
+ U : std_logic_vector(3 downto 0)) is
122
+ variable my_line : line;
123
+ alias swrite is write [line, string, side, width] ;
124
+ begin
125
+ swrite(my_line, "sqrt( ");
126
+ write(my_line, P);
127
+ swrite(my_line, " )= ");
128
+ write(my_line, U);
129
+ writeline(output, my_line);
130
+ end print;
131
+
132
+
133
+ entity add32csa is -- one stage of carry save adder for multiplier
134
+ port(
135
+ b : in std_logic; -- a multiplier bit
136
+ a : in std_logic_vector(31 downto 0); -- multiplicand
137
+ sum_in : in std_logic_vector(31 downto 0); -- sums from previous stage
138
+ cin : in std_logic_vector(31 downto 0); -- carrys from previous stage
139
+ sum_out : out std_logic_vector(31 downto 0); -- sums to next stage
140
+ cout : out std_logic_vector(31 downto 0)); -- carrys to next stage
141
+ end add32csa;
142
+
143
+
144
+ ARCHITECTURE circuits of add32csa IS
145
+ SIGNAL zero : STD_LOGIC_VECTOR(31 downto 0) := X"00000000";
146
+ SIGNAL aa : std_logic_vector(31 downto 0) := X"00000000";
147
+
148
+ COMPONENT fadd -- duplicates entity port
149
+ PoRT(a : in std_logic;
150
+ b : in std_logic;
151
+ cin : in std_logic;
152
+ s : out std_logic;
153
+ cout : out std_logic);
154
+ end comPonent fadd;
155
+
156
+ begin -- circuits of add32csa
157
+ aa <= a when b='1' else zero after 1 ns;
158
+ stage: for I in 0 to 31 generate
159
+ sta: fadd port map(aa(I), sum_in(I), cin(I) , sum_out(I), cout(I));
160
+ end generate stage;
161
+ end architecture circuits; -- of add32csa