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
"""
|