File: stamp.feature

package info (click to toggle)
ruby-stamp 0.6.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 204 kB
  • sloc: ruby: 371; makefile: 2
file content (123 lines) | stat: -rw-r--r-- 5,652 bytes parent folder | download | duplicates (3)
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
@stamp
Feature: Stamping a date
  In order to format dates in a more programmer-friendly way
  the stamp method
  formats a date given a human-readable example.

  @date
  Scenario Outline: Formatting dates by example
    Given the date September 8, 2011
    When I stamp the example "<example>"
    Then I produce "<output>"

    Examples:
      | example                  | output                       |
      | January                  | September                    |
      | Jan                      | Sep                          |
      | Jan 1                    | Sep 8                        |
      | Jan 01                   | Sep 08                       |
      | Jan 10                   | Sep 08                       |
      | Jan 1, 1999              | Sep 8, 2011                  |
      | Jan 12, 1999             | Sep 08, 2011                 |
      | 1 Jan 1999               | 8 Sep 2011                   |
      | 1/1/1999                 | 9/8/2011                     |
      | 31/01/2013               | 08/09/2011                   |
      | 13 January 1999          | 08 September 2011            |
      | Monday                   | Thursday                     |
      | Tue, Jan 1               | Thu, Sep 8                   |
      | Tuesday, January 1, 1999 | Thursday, September 8, 2011  |
      | 01/1999                  | 09/2011                      |
      | 01/01                    | 09/08                        |
      | 01/31                    | 09/08                        |
      | 01/99                    | 09/11                        |
      | 01/01/1999               | 09/08/2011                   |
      | 12/31/99                 | 09/08/11                     |
      | 31/12                    | 08/09                        |
      | 31/12/99                 | 08/09/11                     |
      | 31-Jan-1999              | 08-Sep-2011                  |
      | 1999-01-01               | 2011-09-08                   |
      | 1999-12-31               | 2011-09-08                   |
      | DOB: 12-31-1999          | DOB: 09-08-2011              |

  @date
  Scenario Outline: Formatting dates with ordinal days
    Given the date <date>
    When I stamp the example "<example>"
    Then I produce "<output>"

    Examples:
      | date         | example           | output               |
      | Jan 1, 1999  | July 4th          | January 1st          |
      | Jan 2, 1999  | Dec 3rd           | Jan 2nd              |
      | Jan 3, 1999  | Dec 2nd           | Jan 3rd              |
      | Jan 4, 1999  | Jul 1st           | Jan 4th              |
      | Jan 5, 1999  | Dec 1st           | Jan 5th              |
      | Jan 6, 1999  | Dec 1st           | Jan 6th              |
      | Jan 7, 1999  | Dec 1st           | Jan 7th              |
      | Jan 8, 1999  | Dec 1st           | Jan 8th              |
      | Jan 9, 1999  | Dec 1st           | Jan 9th              |
      | Jan 10, 1999 | Dec 1st           | Jan 10th             |
      | Jan 11, 1999 | Dec 1st           | Jan 11th             |
      | Jan 12, 1999 | Dec 1st           | Jan 12th             |
      | Jan 13, 1999 | Dec 1st           | Jan 13th             |
      | Jan 14, 1999 | Dec 1st           | Jan 14th             |
      | Jan 20, 1999 | Dec 1st           | Jan 20th             |
      | Jan 21, 1999 | Dec 1st           | Jan 21st             |
      | Jan 22, 1999 | Dec 1st           | Jan 22nd             |
      | Jan 23, 1999 | Dec 1st           | Jan 23rd             |
      | Jan 24, 1999 | Dec 1st           | Jan 24th             |
      | Jan 1, 1999  | 4th of July       | 1st of January       |
      | Jan 1, 1999  | 4th of July, 1999 | 1st of January, 1999 |

  @time
  Scenario Outline: Formatting times by example
    Given the time zone is "EST"
      And the time February 8, 2011 at 13:31:27
    When I stamp the example "<example>"
    Then I produce "<output>"

    Examples:
      | example     | output      |
      | 8:59 am     | 1:31 pm     |
      | 8:59am      | 1:31pm      |
      | 08:59 AM    | 01:31 PM    |
      | 08:59 PM    | 01:31 PM    |
      | 23:59       | 13:31       |
      | 8:59:59 am  | 1:31:27 pm  |
      | 08:59:59 AM | 01:31:27 PM |
      | 08:59:59 PM | 01:31:27 PM |
      | 23:59:59    | 13:31:27    |
      | 8:59 PST    | 1:31 EST    |

  @date
  @time
  Scenario Outline: Formatting dates and times by example
    Given the time September 8, 2011 at 13:31:27
    When I stamp the example "<example>"
    Then I produce "<output>"

    Examples:
      | example                         | output                            |
      | Jan 1, 1999 8:59 am             | Sep 8, 2011 1:31 pm               |
      | 08:59 AM 1999-12-31             | 01:31 PM 2011-09-08               |
      | Date: Jan 1, 1999 Time: 8:59 am | Date: Sep 8, 2011 Time: 1:31 pm   |

  Scenario: strftime directives just get passed through
    Given the date December 21, 2012
    When I stamp the example "John Cusack was in a movie about Jan (%-m) %e, %Y, but it wasn't very good."
    Then I produce "John Cusack was in a movie about Dec (%-m) %e, %Y, but it wasn't very good."

  Scenario: Plain text just gets passed through
    Given the date June 1, 1926
    When I stamp the example "Marilyn Monroe was born on January 9, 1999."
    Then I produce "Marilyn Monroe was born on June 1, 1926."

  Scenario Outline: Aliases for the stamp method
    Given the date December 9, 2011
    When I call "<alias>" with "1999-01-31"
    Then I produce "2011-12-09"

    Examples:
      | alias       |
      | stamp_like  |
      | format_like |