| 1 | <?php |
|---|
| 2 | // This file is a test suite for the scripturizer plugin. |
|---|
| 3 | // Just place it in the same directory as scripturizer.php and load it |
|---|
| 4 | // to change the number of tests run, append ?n=XXX to the end of the url |
|---|
| 5 | // http://www.example.com/scripturize_test.php?n=1000 |
|---|
| 6 | // will run 1,000 tests |
|---|
| 7 | // this would only be useful when trying to determine the timing effects of regular expressions or other code changes |
|---|
| 8 | |
|---|
| 9 | include('scripturizer.php'); |
|---|
| 10 | |
|---|
| 11 | // these are dummy functions necessary to prevent errors since we're not actually running as part of Wordpress |
|---|
| 12 | function get_settings($string) { |
|---|
| 13 | return 'http://localhost'; |
|---|
| 14 | } |
|---|
| 15 | function get_option($string) { |
|---|
| 16 | switch ($string) { |
|---|
| 17 | case 'scripturizer_default_translation': |
|---|
| 18 | return 'NIV'; |
|---|
| 19 | case 'scripturizer_dynamic_substitution': |
|---|
| 20 | case 'scripturizer_libronix': |
|---|
| 21 | return TRUE; |
|---|
| 22 | case 'scripturizer_esv_key': |
|---|
| 23 | return 'IP'; |
|---|
| 24 | case 'scripturizer_xml_css': |
|---|
| 25 | return ''; |
|---|
| 26 | case 'scripturizer_esv_query_options': |
|---|
| 27 | return '&action=doPassageQuery&include-passage-references=true&include-short-copyright=true&include-audio-link=false&output-format=plain-text&include-passage-horizontal-lines=false&include-heading-horizontal-lines=false&line-length=60&include-headings=false&include-subheadings=false&include-footnotes=false'; |
|---|
| 28 | case 'scripturizer_xml_show_hide': |
|---|
| 29 | return TRUE; |
|---|
| 30 | default: |
|---|
| 31 | return FALSE; |
|---|
| 32 | } |
|---|
| 33 | } |
|---|
| 34 | function update_option($string,$string2) { |
|---|
| 35 | return true; |
|---|
| 36 | } |
|---|
| 37 | function add_filter($x,$y) {} |
|---|
| 38 | function add_action($x,$y) {} |
|---|
| 39 | |
|---|
| 40 | // this helps time the script - useful when evaluating changes to the regular expressions |
|---|
| 41 | function microtime_float() |
|---|
| 42 | { |
|---|
| 43 | list($usec, $sec) = explode(" ", microtime()); |
|---|
| 44 | return ((float)$usec + (float)$sec); |
|---|
| 45 | } |
|---|
| 46 | ?> |
|---|
| 47 | <HTML><HEAD><TITLE>Testing Scripturizer Plugin</TITLE></HEAD> |
|---|
| 48 | <BODY> |
|---|
| 49 | <?php |
|---|
| 50 | ob_start(); |
|---|
| 51 | ?> |
|---|
| 52 | <table> |
|---|
| 53 | <tr> |
|---|
| 54 | <td colspan="3"> |
|---|
| 55 | <H1>Where To Look When You</H1> |
|---|
| 56 | </td> |
|---|
| 57 | </tr> |
|---|
| 58 | <tr><td valign="top"> |
|---|
| 59 | <H3>Need Forgiveness</H3> |
|---|
| 60 | <ul> |
|---|
| 61 | <li>I John 1:9 |
|---|
| 62 | <li>I John 3:5 |
|---|
| 63 | <li>Ephesians 2:8-9 |
|---|
| 64 | <li>Romans 8:1 |
|---|
| 65 | <li>Isaiah 1:18 |
|---|
| 66 | </ul> |
|---|
| 67 | <H3>Need Assurance of Salvation</H3> |
|---|
| 68 | <ul> |
|---|
| 69 | <li>I John 5:13 |
|---|
| 70 | <li>John 3:36 |
|---|
| 71 | <li>Romans 8:16 |
|---|
| 72 | </ul> |
|---|
| 73 | <H3>Feel Abandoned By God</H3> |
|---|
| 74 | <ul> |
|---|
| 75 | <li>Deuteronomy 31:6 |
|---|
| 76 | <li>Deuteronomy 4:31 |
|---|
| 77 | <li>Psalm 91:14, 15 |
|---|
| 78 | <li>Psalm 37:25 |
|---|
| 79 | <li>I Samuel 12:22 |
|---|
| 80 | </ul> |
|---|
| 81 | <H3>Need Healing</H3> |
|---|
| 82 | <ul> |
|---|
| 83 | <li>Exodus 15:26 |
|---|
| 84 | <li>Psalm 103:3 |
|---|
| 85 | <li>Jeremiah 17:14 |
|---|
| 86 | <li>Hebrews 13:8 |
|---|
| 87 | <li>III John 2 |
|---|
| 88 | <li>Jeremiah 30:17 |
|---|
| 89 | </ul> |
|---|
| 90 | <H3>Need Guidance</H3> |
|---|
| 91 | <ul> |
|---|
| 92 | <li>Psalm 27:11 |
|---|
| 93 | <li>James 1:5-8 |
|---|
| 94 | <li>Psalm 32:8 |
|---|
| 95 | <li>Romans 8:14 |
|---|
| 96 | <li>II Corinthians 5:7 |
|---|
| 97 | <li>Proverbs 3:5,6 |
|---|
| 98 | </ul> |
|---|
| 99 | </td><td valign="top" bgcolor="lightyellow"> |
|---|
| 100 | <H3>Wrestle With Grief</H3> |
|---|
| 101 | <ul> |
|---|
| 102 | <li>I Thessalonians 4:13, 14 |
|---|
| 103 | <li>Isaiah 41:10 |
|---|
| 104 | <li>II Thessalonians 2:16, 17 |
|---|
| 105 | <li>Matthew 5:4 |
|---|
| 106 | <li>II Corinthians 1:3, 4 |
|---|
| 107 | <li>II Corinthians 4:6-9 |
|---|
| 108 | <li>Psalm 23:4 |
|---|
| 109 | <li>Revelation 21:4 |
|---|
| 110 | <li>Psalm 34:18 |
|---|
| 111 | <li>Psalm 61:2 |
|---|
| 112 | </ul> |
|---|
| 113 | <H3>Struggle With Alcoholism And Drugs</H3> |
|---|
| 114 | <ul> |
|---|
| 115 | <li>Romans 13:1 |
|---|
| 116 | <li>Proverbs 20:1 |
|---|
| 117 | <li>Proverbs 23:29-32 |
|---|
| 118 | <li>I Corinthians 6:10 |
|---|
| 119 | <li>I Corinthians 3:16, 17 |
|---|
| 120 | <li>Titus 3:3-5 |
|---|
| 121 | <li>Romans 13:14 |
|---|
| 122 | <li>John 8:36 |
|---|
| 123 | <li>I Corinthians 6:20 |
|---|
| 124 | </ul> |
|---|
| 125 | <H3>Wrestle With Temptation</H3> |
|---|
| 126 | <ul> |
|---|
| 127 | <li>I Corinthians 10:12-13 |
|---|
| 128 | <li>James 4:7 |
|---|
| 129 | </ul> |
|---|
| 130 | </td><td valign="top"> |
|---|
| 131 | <H3>Need To Repent</H3> |
|---|
| 132 | <ul> |
|---|
| 133 | <li>Hebrews 10:38 |
|---|
| 134 | <li>Luke 9:62 |
|---|
| 135 | <li>II Peter 3:9 |
|---|
| 136 | <li>Isaiah 55:7 |
|---|
| 137 | <li>Jeremiah 3:22 |
|---|
| 138 | </ul> |
|---|
| 139 | <H3>Feel Lonely</H3> |
|---|
| 140 | <ul> |
|---|
| 141 | <li>Psalm 139:7 |
|---|
| 142 | <li>John 14:23 |
|---|
| 143 | <li>Deuteronomy 31:6 |
|---|
| 144 | <li>John 14:16 |
|---|
| 145 | </ul> |
|---|
| 146 | <H3>Need to Control Your Thoughts</H3> |
|---|
| 147 | <ul> |
|---|
| 148 | <li>Romans 12:1-2 |
|---|
| 149 | <li>2 Corinthians 10:5 |
|---|
| 150 | <li>Psalm 139:23 |
|---|
| 151 | <li>Psalms 94:11; 1:1, 2 |
|---|
| 152 | <li>Philippians 4:8 |
|---|
| 153 | </ul> |
|---|
| 154 | <H3>Need Encouragement</H3> |
|---|
| 155 | <ul> |
|---|
| 156 | <li>Proverbs 16:3 |
|---|
| 157 | <li>Psalm 10:17 |
|---|
| 158 | <li>Psalm 119:143 |
|---|
| 159 | </ul> |
|---|
| 160 | <H3>Feel Anxious</H3> |
|---|
| 161 | <ul> |
|---|
| 162 | <li>Deuteronomy 31:6 |
|---|
| 163 | <li>Deuteronomy 33:27 |
|---|
| 164 | <li>Ephesians 6:13 |
|---|
| 165 | <li>Hebrews 13:5-6 |
|---|
| 166 | <li>Matthew 12:22-26 |
|---|
| 167 | </ul> |
|---|
| 168 | </td></tr></table> |
|---|
| 169 | <p></p> |
|---|
| 170 | <hr> |
|---|
| 171 | <H3>Test Cases</H3> |
|---|
| 172 | <p>Does a single ' really botch things up? I have been told it does, but this test doesn't validate that...</p> |
|---|
| 173 | <H4>These Should Not Be Scripturized</H4> |
|---|
| 174 | <p>I read once about <a href="">Genesis 1:1</a> (already a link) <img src='' alt='Genesis 1:1' width="20" height="20"> (a reference in an ALT tag).</p> |
|---|
| 175 | <pre>All this should be untouched due to preformatting: John 3:16, Mal 2.</pre> |
|---|
| 176 | <code>And this is in a code block: Matthew 1:1-18, ESV</code> |
|---|
| 177 | <p>[bible]John 3:16[/bible]This is text that should be enclosed by the ESV wordpress plugin and thus not affected.</p> |
|---|
| 178 | <p>The 3 of us went downtown, and the 3 of us had a great time.</p> |
|---|
| 179 | <H4>These Should Be Scripturized</H4> |
|---|
| 180 | <p>I also read about Genesis 3:13-15 (CEV) ,as well as Genesis 40:3, NET (Gen 3:4) also see Gen. 15:1 and 1st Tim 2 and 2 Kings 4:3, NET. I should also investigate John 1:1 (NRSV).</p> |
|---|
| 181 | <ul> |
|---|
| 182 | <li> Matthew 4:5, NA26 |
|---|
| 183 | <li> Mat 4:5, NA26 |
|---|
| 184 | <li> Matt 4:5 |
|---|
| 185 | <li> Isaiah 3:2, LXX |
|---|
| 186 | <li> 1st Kings 1:1, LXX |
|---|
| 187 | <li> Mark 3, LXX |
|---|
| 188 | <li> Zechariah 3, NOTRANS |
|---|
| 189 | <li> III Jn 2:1 (GNT) |
|---|
| 190 | <li> III Jn 2:1 (NLT) |
|---|
| 191 | <li> 2nd Chron. 5 - NLT |
|---|
| 192 | <li> Ex 2, MSG ' |
|---|
| 193 | <li> Ex 2, NRSV |
|---|
| 194 | <li> Hosea 5:3,4 |
|---|
| 195 | <li> Matthew 19:5-7, 9, 20 & 21. |
|---|
| 196 | <li> Matthew 19:5-7, 9, 20 & 21 (NET) |
|---|
| 197 | <li> Matthew 19:5-7, 9, 20 & 21 (KJV). |
|---|
| 198 | <li> Micah 1:8, HCSB |
|---|
| 199 | <li> Acts 1:8, Darby |
|---|
| 200 | <li> Song of Songs 1:3, NRSV |
|---|
| 201 | <li> Song of Songs 1:3, NET |
|---|
| 202 | <li> Song of Songs 1, NRSV |
|---|
| 203 | <li> Song of Songs 1, NET |
|---|
| 204 | <li> Phil 1:1 |
|---|
| 205 | <li> 2 The 1:2 |
|---|
| 206 | </ul> |
|---|
| 207 | <H4>Undefined Behavior</H4> |
|---|
| 208 | < I wonder < what Gen 5:3, ESV this > will do < (or for that matter, this: Gen 5:3, ESV) |
|---|
| 209 | <?php |
|---|
| 210 | $text=ob_get_clean(); |
|---|
| 211 | |
|---|
| 212 | if (isset($_GET['n'])) { |
|---|
| 213 | $n=$_GET['n']; |
|---|
| 214 | } else { |
|---|
| 215 | $n=100; |
|---|
| 216 | } |
|---|
| 217 | $time_start = microtime_float(); |
|---|
| 218 | for ($i=0;$i<$n;$i++) { |
|---|
| 219 | $output=scripturize($text); |
|---|
| 220 | } |
|---|
| 221 | $time_end = microtime_float(); |
|---|
| 222 | $time_elapsed=$time_end-$time_start; |
|---|
| 223 | $average_time=$time_elapsed/$n; |
|---|
| 224 | ?> |
|---|
| 225 | <H2>Text Scripturized <?php echo $n;?> Times In <?php echo $time_elapsed;?> Seconds</H2> |
|---|
| 226 | <H3>Average Time: <?php echo $average_time;?> Seconds</H3> |
|---|
| 227 | <?php echo $output;?> |
|---|
| 228 | <hr> |
|---|
| 229 | <H2>This Test Was Conducted Using The Following Code:</H2> |
|---|
| 230 | <?php |
|---|
| 231 | // if your edits don't seem to be having any effect, be sure that you're using the version of scripturizer.php that you think you are |
|---|
| 232 | highlight_file('scripturizer.php'); |
|---|
| 233 | ?> |
|---|
| 234 | </BODY> |
|---|
| 235 | </HTML> |
|---|