Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jonasbn/sublimetext-perl-test-class

SublimeText assistance for Perl's Test::Class
https://github.com/jonasbn/sublimetext-perl-test-class

perl snippets st sublime-package sublime-snippets sublime-text sublime-text-2 sublime-text-3 sublime-text-plugin test

Last synced: about 2 months ago
JSON representation

SublimeText assistance for Perl's Test::Class

Awesome Lists containing this project

README

        

SublimeText-Perl-Test-Class
===========================

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

This package provides snippets for Perl's [Test::Class](https://metacpan.org/pod/Test::Class) for [Sublime Text 2 and 3](http://www.sublimetext.com/)

- [Introduction](#introduction)
- [Installation](#installation)
- [Issues](#issues)
- [Motivation](#motivation)
- [History](#history)
- [License](#license)


# Introduction

The package is currently offering the following snippets:

```perl
testclass
testmethod
```

`testclass` is a variation of the snippet from the builtin Perl package: `package`. It unfolds boilerplate code for a test class (Test::Class) holding the following body of code:

```perl
package Test::Class::ClassName;

use strict;
use warnings;
use base qw(Test::Class);
use Test::More;

#run prior and once per suite
sub startup : Test(startup) {
# body...

return 1;
}

#run after and once per suite
sub shutdown : Test(shutdown) {
# body...

return 1;
}

#run prior and once per test method
sub setup : Test(setup) {
# body...

return 1;
}

#run after and once per test method
sub teardown : Test(teardown) {
# body...

return 1;
}

1;
```

`testmethod` is a variation of the snippet from the builtin Perl package: `sub`. It unfolds a more specialized variation of a subroutine.

```perl
sub testmethod_name : Test(number_of_tests) {
my ($self) = @_;
# body...

return return_value;
}
```

This package can with luck be used with the [package](https://github.com/jonasbn/SublimeText-Perl-Test-More) for Perl's [Test::Class](https://metacpan.org/pod/Test::Class) for **Sublime Text 2 and 3**.


# Installation

For installation several options are available.


## Via [Package Control](https://packagecontrol.io/):

- `Control`+`Shift`+`P` on Linux/Windows,
- `Command`+`Shift`+`P` on OS X,
- or for any OS
1. Select `Tools->Command Palette` from the menu
2. Select `Package Control: Install Package`
3. Select **perl-Test-Class** from the list of available packages


## Git:

Clone the repository in your Sublime Text Packages directory.

`$ git clone https://github.com/jonasbn/perl-Sublime-Test-Class`

The advantage of using either Package Control or git is, that the plugin will be automatically updated.

See also the [Package Control page](https://packagecontrol.io/packages/perl-Test-Class) for this plugin.


## From ZIP

### Sublime Text 3

1. [Download](https://github.com/jonasbn/SublimeText-Perl-Test-Class/archive/master.zip) the zip file
2. Unpack it in your Sublime Text directory, as per OS and Sublime Text
- OS X ~/Library/Application Support/Sublime Text 3/Packages/
- Linux ~/.config/sublime-text-3/Packages/
- Windows %APPDATA%\Sublime Text 3\Packages\
3. Start using it! (see section above)

### Sublime Text 2

1. [Download](https://github.com/jonasbn/SublimeText-Perl-Test-Class/archive/master.zip) the zip file
2. Unpack it in your Sublime Text directory, as per OS and Sublime Text
- OS X ~/Library/Application Support/Sublime Text 2/Packages/
- Linux ~/.config/sublime-text-2/Packages/
- Windows %APPDATA%\Sublime Text 2\Packages\
3. Start using it! (see section above)


# Issues

Please report any issues via [github](https://github.com/jonasbn/SublimeText-Perl-Test-Class/issues).


# Motivation

Organizing your tests using Test::Class is really useful and since [Test::Class](https://metacpan.org/pod/Test::Class) can be used across projects/distributions this package can assist in speeding up your development.


# History


## 2015-08-15 1.0.0

- Initial version


# License

The package is licensed under the Artistic License 2.0 and pull-requests are most welcome, please see [the contribution guidelines](CONTRIBUTING.md).

jonasbn, Copenhagen/Denmark