Typo fix, tests, README.md updated.

This commit is contained in:
Ian Byrd 2017-09-02 02:51:18 +03:00
parent 4e07dfc9bb
commit 4a11f8dd75
No known key found for this signature in database
GPG Key ID: 598F598CA3B8055F
3 changed files with 18 additions and 11 deletions

View File

@ -3,7 +3,7 @@
[![Build Status](https://travis-ci.org/flosch/pongo2-addons.svg?branch=master)](https://travis-ci.org/flosch/pongo2-addons) [![Build Status](https://travis-ci.org/flosch/pongo2-addons.svg?branch=master)](https://travis-ci.org/flosch/pongo2-addons)
[![Gratipay](http://img.shields.io/badge/gratipay-support%20pongo-brightgreen.svg)](https://gratipay.com/flosch/) [![Gratipay](http://img.shields.io/badge/gratipay-support%20pongo-brightgreen.svg)](https://gratipay.com/flosch/)
Official filter and tag add-ons for [pongo2](https://github.com/flosch/pongo2). Since this package uses Official filter and tag add-ons for [pongo2](https://github.com/flosch/pongo2). Since this package uses
3rd-party-libraries, it's in its own package. 3rd-party-libraries, it's in its own package.
## How to install and use ## How to install and use
@ -24,10 +24,11 @@ All additional filters/tags will be registered automatically.
- **[filesizeformat](https://docs.djangoproject.com/en/dev/ref/templates/builtins/#filesizeformat)** (human-readable filesize; takes bytes as input) - **[filesizeformat](https://docs.djangoproject.com/en/dev/ref/templates/builtins/#filesizeformat)** (human-readable filesize; takes bytes as input)
- **[slugify](https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slugify)** (creates a slug for a given input) - **[slugify](https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slugify)** (creates a slug for a given input)
- **truncatesentences** / **truncatesentences_html** (returns the first X sentences [like truncatechars/truncatewords]; please provide X as a parameter) - **truncatesentences** / **truncatesentences_html** (returns the first X sentences [like truncatechars/truncatewords]; please provide X as a parameter)
- **random** (returns a random element of the input slice)
- Markup - Markup
- **markdown** - **markdown**
- Humanize - Humanize
- **[intcomma](https://docs.djangoproject.com/en/dev/ref/contrib/humanize/#intcomma)** (put decimal marks into the number) - **[intcomma](https://docs.djangoproject.com/en/dev/ref/contrib/humanize/#intcomma)** (put decimal marks into the number)
- **[ordinal](https://docs.djangoproject.com/en/dev/ref/contrib/humanize/#ordinal)** (convert integer to its ordinal as string) - **[ordinal](https://docs.djangoproject.com/en/dev/ref/contrib/humanize/#ordinal)** (convert integer to its ordinal as string)

View File

@ -222,19 +222,19 @@ func filterTruncatesentencesHTML(in *pongo2.Value, param *pongo2.Value) (*pongo2
func filterRandom(in *pongo2.Value, param *pongo2.Value) (*pongo2.Value, *pongo2.Error) { func filterRandom(in *pongo2.Value, param *pongo2.Value) (*pongo2.Value, *pongo2.Error) {
if !in.CanSlice() { if !in.CanSlice() {
return nil, &pongo2.Error { return nil, &pongo2.Error{
Sender: "filter:random", Sender: "filter:random",
OrigError: error.New("input is not sliceable"), OrigError: errors.New("input is not sliceable"),
} }
} }
if in.Len() <= 0 { if in.Len() <= 0 {
return nil, &pongo2.Error { return nil, &pongo2.Error{
Sender: "filter:random", Sender: "filter:random",
OrigError: error.New("input slice is empty"), OrigError: errors.New("input slice is empty"),
} }
} }
return in.Index(rand.Intn(in.Len())), nil return in.Index(rand.Intn(in.Len())), nil
} }

View File

@ -89,4 +89,10 @@ func (s *TestSuite1) TestFilters(c *C) {
c.Assert(getResult("{{ text|truncatesentences_html:3 }}", pongo2.Context{ c.Assert(getResult("{{ text|truncatesentences_html:3 }}", pongo2.Context{
"text": `<div class="test"><ul><li>This is a first sentence with a 4.50 number.</li><li>The second one is even more fun! Isn't it?</li><li>Last sentence, okay.</li></ul></div>`}), "text": `<div class="test"><ul><li>This is a first sentence with a 4.50 number.</li><li>The second one is even more fun! Isn't it?</li><li>Last sentence, okay.</li></ul></div>`}),
Equals, `<div class="test"><ul><li>This is a first sentence with a 4.50 number.</li><li>The second one is even more fun! Isn't it?</li></ul></div>`) Equals, `<div class="test"><ul><li>This is a first sentence with a 4.50 number.</li><li>The second one is even more fun! Isn't it?</li></ul></div>`)
// Random
c.Assert(getResult("{{ array|random }}",
pongo2.Context{"array": []int{42}}),
Equals, "42")
} }