File: configuring_output.feature

package info (click to toggle)
ruby-table-print 1.5.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 296 kB
  • sloc: ruby: 1,823; makefile: 2
file content (130 lines) | stat: -rw-r--r-- 3,980 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
124
125
126
127
128
129
130
Feature: Configuring output
  Scenario: Setting a (max? or specific?) width for all columns
  Scenario: Setting a specific width for an individual column
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ryan'}
    And table_print Blog, {:include => {:author => {:width => 40}}}
    Then the output should contain
    """
    TITLE | AUTHOR                                  
    ------|-----------------------------------------
    post! | Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ry... 
    """

  Scenario: Setting a minimum width for an individual column
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan Ryan'}
    And table_print Blog, {:include => {:author => {:min_width => 40}}}
    Then the output should contain
    """
    TITLE | AUTHOR
    ------|-----------------------------------------
    post! | Ryan Ryan
    """

  Scenario: Setting a fixed width for an individual column, when data width is greater than fixed width
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan Ryan Ryan Ryan Ryan Ryan Ryan'}
    And table_print Blog, {:include => {:author => {:fixed_width => 15}}}
    Then the output should contain
    """
    TITLE | AUTHOR
    ------|----------------
    post! | Ryan Ryan Ry...
    """

  Scenario: Setting a fixed width for an individual column, when data width is less than fixed width
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan Ryan'}
    And table_print Blog, {:include => {:author => {:fixed_width => 15}}}
    Then the output should contain
    """
    TITLE | AUTHOR
    ------|----------------
    post! | Ryan Ryan                                
    """

  Scenario: Specifying configuration on a per-object basis
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
    And configure Blog with :title
    And table_print Blog
    Then the output should contain
    """
    TITLE
    -----
    post!
    """
  Scenario: Specifying configuration on a per-object basis with an included column
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
    And configure Blog with {:include => {:foobar => lambda{|b| b.title}}}
    And table_print Blog
    Then the output should contain
    """
    TITLE | AUTHOR | FOOBAR
    ------|--------|-------
    post! | Ryan   | post!
    """
  Scenario: Applying a formatter
  Scenario: Setting a column name
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
    And table_print Blog, {:wombat => {:display_method => :author}}
    Then the output should contain
    """
    WOMBAT
    ------
    Ryan
    """

  Scenario: Setting a lowercase column name
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
    And I configure capitalize_headers with false
    And table_print Blog, {:author => {:display_name => "Wom Bat"}}
    Then the output should contain
    """
    Wom Bat
    -------
    Ryan
    """

  Scenario: Setting the column separator
    Given a class named Blog

    Given Blog has attributes title, author

    When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
    And I configure separator with ','
    And table_print Blog
    Then the output should contain
    """
    TITLE , AUTHOR
    ------,-------
    post! , Ryan
    """