Liveman

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

'abbc' # ^-> ab
'abc'  # ↣ ab
```

### `like` ends with nonextrapolate-string

Скаляр должен заканчиваться неэкстраполированой срокой:

```perl
'abbc' # $-> bc
'abc'  # ⇥ bc
```

### `like` inners with nonextrapolate-string

Скаляр должен содержать неэкстраполированую сроку:

```perl
'abbc' # *-> bb
'abc'  # ⥵ b
```

### `like` throw begins with nonextrapolate-string

Исключение должно начинаться с неэкстраполированой сроки:

```perl
1/0 # @-> Illegal division by zero
1/0 # ↯ Illegal division by zero
```

### `like` throw begins with extrapolate-string

Исключение должно начинаться с экстраполированой сроки:

```perl
my $by = 'by';

1/0 # @=> Illegal division $by zero
1/0 # ⤯ Illegal division $by zero
```

### `like` throw

Исключение должно быть сопостовимо с регулярным выражением:

```perl
1/0 # @~> division\s*by\s*zero
1/0 # ⇝ division\s*by\s*zero
```

### `unlike` throw

Исключение не должно быть сопостовимо с регулярным выражением (но оно должно иметь место):

```perl
1/0 # <~@ auto
1/0 # ⇜ auto
```

## EMBEDDING FILES

Каждый тест выполняется во временном каталоге, который удаляется и создается при запуске теста.

Формат этого каталога: /tmp/.liveman/*project*/*path-to-test*/.

Раздел кода в строке с префиксом md-файла **File `path`:** запишется в файл при тестировании во время выполнения.

Раздел кода в префиксной строке md-файла **File `path` is:** будет сравниваться с файлом методом `Test::More::is`.

Файл experiment/test.txt:
```text
hi!
```

Файл experiment/test.txt является:
```text
hi!
```

**Внимание!** Пустая строка между префиксом и кодом не допускается!

Эти префиксы могут быть как на английском, так и на русском (`File [path](https://metacpan.org/pod/path):` и `File [path](https://metacpan.org/pod/path) is:`).

# METHODS

## new (%param)

Конструктор. Имеет аргументы:

1. `files` (array_ref) — список md-файлов для методов `transforms` и `tests`.
1. `open` (boolean) — открыть покрытие в браузере. Если на компьютере установлен браузер **opera**, то будет использоватся команда `opera` для открытия. ...
1. `force_compile` (boolean) — не проверять время модификации md-файлов.
1. `options` — добавить параметры в командной строке для проверки или доказательства.
1. `prove` — использовать доказательство (команду `prove` для запуска тестов), а не команду `yath`.

## test_path ($md_path)

Получить путь к `t/**.t`-файлу из пути к `lib/**.md`-файлу:

```perl
Liveman->new->test_path("lib/PathFix/RestFix.md") # => t/path-fix/rest-fix.t
```

## transform ($md_path, [$test_path])

Компилирует `lib/**.md`-файл в `t/**.t`-файл.

А так же заменяет **pod**-документацию в секции `__END__` в `lib/**.pm`-файле и создаёт `lib/**.pm`-файл, если тот существует, а иначе – создаёт файл`lib/**.pod`.

При вызове `transform` в `SYNOPSYS` был создан файл `lib/Example.pod`.

Файл lib/Example.pod является:
```pod
Twice two:

	2*2  # -> 2+2

```

Создадим `lib/Example.pm` и вызовем `transform`:



( run in 0.537 second using v1.01-cache-2.11-cpan-71847e10f99 )