renaming cronexpression to cronexpr

This commit is contained in:
gorhill 2013-08-31 09:00:12 -04:00
parent a7091b7c64
commit 83135b3c5c
2 changed files with 14 additions and 9 deletions

View File

@ -1,15 +1,15 @@
/*! /*!
* Copyright 2013 Raymond Hill * Copyright 2013 Raymond Hill
* *
* Project: github.com/gorhill/cronexpression * Project: github.com/gorhill/cronexpr
* File: cronexpression.go * File: cronexpr.go
* Version: 1.0 * Version: 1.0
* License: GPL v3 see <https://www.gnu.org/licenses/gpl.html> * License: GPL v3 see <https://www.gnu.org/licenses/gpl.html>
* *
*/ */
// Package cronexpression parses cron time expressions. // Package cronexpr parses cron time expressions.
package cronexpression package cronexpr
/******************************************************************************/ /******************************************************************************/
@ -100,6 +100,8 @@ func Parse(cronLine string) *Expression {
// Given a time stamp `fromTime`, return the closest following time stamp which // Given a time stamp `fromTime`, return the closest following time stamp which
// matches the cron expression `expr`. The `time.Location` of the returned // matches the cron expression `expr`. The `time.Location` of the returned
// time stamp is the same as `fromTime`. // time stamp is the same as `fromTime`.
//
// A nil time.Time object is returned if no matching time stamp exists.
func (expr *Expression) Next(fromTime time.Time) time.Time { func (expr *Expression) Next(fromTime time.Time) time.Time {
// Special case // Special case
if fromTime.IsZero() { if fromTime.IsZero() {
@ -186,6 +188,9 @@ func (expr *Expression) Next(fromTime time.Time) time.Time {
// stamps which match the cron expression `expr`. The time stamps in the // stamps which match the cron expression `expr`. The time stamps in the
// returned slice are in chronological ascending order. The `time.Location` of // returned slice are in chronological ascending order. The `time.Location` of
// the returned time stamps is the same as `fromTime`. // the returned time stamps is the same as `fromTime`.
//
// A slice with less than `n` entries (up to zero) is returned if not
// enough existing matching time stamps which exist.
func (expr *Expression) NextN(fromTime time.Time, n int) []time.Time { func (expr *Expression) NextN(fromTime time.Time, n int) []time.Time {
if n <= 0 { if n <= 0 {
panic("Expression.NextN(): invalid count") panic("Expression.NextN(): invalid count")

View File

@ -1,19 +1,19 @@
/*! /*!
* Copyright 2013 Raymond Hill * Copyright 2013 Raymond Hill
* *
* Project: github.com/gorhill/cronexpression * Project: github.com/gorhill/cronexpr
* File: cronexpression_test.go * File: cronexpr_test.go
* Version: 1.0 * Version: 1.0
* License: GPL v3 see <https://www.gnu.org/licenses/gpl.html> * License: GPL v3 see <https://www.gnu.org/licenses/gpl.html>
* *
*/ */
package cronexpression_test package cronexpr_test
/******************************************************************************/ /******************************************************************************/
import ( import (
"cronexpression" "cronexpr"
"testing" "testing"
"time" "time"
) )
@ -113,7 +113,7 @@ func TestExpressions(t *testing.T) {
for _, test := range crontests { for _, test := range crontests {
for _, times := range test.times { for _, times := range test.times {
from, _ := time.Parse("2006-01-02 15:04:05", times.from) from, _ := time.Parse("2006-01-02 15:04:05", times.from)
next := cronexpression.Parse(test.expr).Next(from) next := cronexpr.Parse(test.expr).Next(from)
nextstr := next.Format(test.layout) nextstr := next.Format(test.layout)
if nextstr != times.next { if nextstr != times.next {
t.Errorf("(\"%s\").Next(\"%s\") = \"%s\", got \"%s\"", test.expr, times.from, times.next, nextstr) t.Errorf("(\"%s\").Next(\"%s\") = \"%s\", got \"%s\"", test.expr, times.from, times.next, nextstr)