-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.txt
123 lines (88 loc) · 4.84 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
=== Jasmine Test Runner ===
Contributors: timph
Donate link: https://paypal.me/timph
Tags: jasmine, js unit test, unit tests, javascript testing
Requires at least: 4.0
Tested up to: 4.6
Stable tag: 0.1
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Run Jasmine tests right inside of your WordPress admin.
== Description ==
Jasmine Test Runner allows you to run Jasmine unit tests from right inside of your WordPress admin area.
== Installation ==
You can use the built in installer and upgrader, or you can install the plugin
manually.
= From your WordPress dashboard =
1. Visit 'Plugins > Add New'
2. Search for 'Jasmine Test Runner'
3. Activate Jasmine Test Runner from your Plugins page.
= From WordPress.org =
1. Download Jasmine Test Runner.
2. Upload the .zip file in the 'Plugins > Add New' page, or copy the unzipped directory to your '/wp-content/plugins/' directory, using your favorite method (ftp, sftp, scp, etc...)
3. Activate Jasmine Test Runner from your Plugins page.
= Once Activated =
You can begin running your Jasmine tests as needed. Just add a query arg to your URL like this:
?jtrunner=/path/to/tests
Path/to/tests can have a leading or a trailing slash for the directory. This directory is relative to /wp-content/ directory, so that themes and plugins can utilize the test runner. The directory should contain only your jasmine tests as it will enqueue all *.js files located in that directory.
== Frequently Asked Questions ==
Q: How do I use Jasmine Test Runner?
A: The simplest way to utilize it is by adding a query arg to your URL that contains the path to your tests.
Example:
example.com/post.php?post=16102&jtrunner=/plugins/jasmine-test-runner/tests/
- /plugins/jasmine-test-runner/tests is the relative path from your /wp-content/ directory.
Q: Can my plugin provide tests that will always run when plugin is activated?
A: Yes! All settings for the plugin are configured with the 'jasmine_test_runner' WordPress filter.
This shows an example of adding specific unit tests that your plugin would run if a user has Jasmine Test Runner enabled:
```
/**
* This will load a set of unit tests located in
* a plugin's /tests/ directory.
*/
function add_unit_tests( $settings ) {
$files = array();
foreach ( glob( __DIR__ . '/tests/*.js' ) as $filename ) {
$file = basename( $filename );
$files[] = plugins_url( "tests/{$file}", __FILE__ );
}
$settings['tests'] = array_merge( $settings['tests'], $files );
return $settings;
}
add_filter( 'jasmine_test_runner', 'add_unit_tests' );
```
Q: Can I force the test runner to load on a specific set of pages?
A: Definitely! You may want to have the test runner load everytime on a certain page or section the admin, so this is an example of overriding that setting as well:
```
/**
* This will load the Jasmine test runner on a page called
* 'toplevel_page_boldgrid-inspirations'.
*/
function load_inspirations_jtrunner( $settings ) {
$settings['loads_in'] = array_merge( $settings['loads_in'], array( 'toplevel_page_boldgrid-inspirations' ) );
return $settings;
}
add_filter( 'jasmine_test_runner', 'load_inspirations_jtrunner' );
```
Q: What if I would like to have the test runner always running, and not append a query string to the URL each time?
A: This can also be done, but keep in mind that running it all the time, and having multiple tests running can cause negative performance impacts.
```
/**
* This forces Jasmine Test Runner to always run in admin.
function force_load_jtrunner( $settings ) {
$settings['loads_in'] = array( 'all' );
return $settings;
}
add_filter( 'jasmine_test_runner', 'force_load_jtrunner' );
```
Q: How can I force the tests to run randomly?
A: Jasmine Test Runner can run the tests in random order by adding &random=true to your query string.
Q: A random seed has failed, how do I recall that test?
A: The seed number and seed URL are displayed in the Jasmine Test Runner status bar when you've selected to run random or a seed. For failed tests the bar appears red. If you need to obtain this seed programatically, .jasmine-seed-bar class contains the link to run the seed, and the link text is the seed number.
Q: Our project uses it's own seed generation for random tests, how do I implement this?
A: If you wish to use your own seed generatator algorithm, you can specify the resulting seed directly by appending &seed=YOUR_SEED. Where YOUR_SEED is, should be the resulting seed you've generated.
== Screenshots ==
1. **Passed Tests** - Jasmine Test Runner will give you feedback based on the tests you choose to run. This screenshot shows you a set of passed Jasmine tests in the WordPress Page/Post editor screen.
2. **Failed Tests** Failed tests also provide you immediate feedback, so you instantly know which test failed, why, and a stack trace for debugging.
== Changelog ==
= 0.1 =
* Initial commit.