array-formatter 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 74c5fcc251fdd3259eb03c4c60aab0cbd067a4a8
4
- data.tar.gz: b3101c02d554d3b2971752e4154aa7ad06e1b74c
3
+ metadata.gz: 3a0c26f92c099a6b15e0450106bf4b5da11362de
4
+ data.tar.gz: df94ab3f2a7191cd083a616ac33ee239b41e5763
5
5
  SHA512:
6
- metadata.gz: c4e0b8880b25896db9867d8a7439d83b28127fa04dd84895ab083c5cccc9223305291af7b021d78d0023a4d9868fe202a813b655c5e93d64c432267f25dc4b3f
7
- data.tar.gz: 4698454dc011619bfbd8f75d6bbf1b05b3025c0fd88f5621cf830799c55479bac8e1d97d625eab1244962cc439f3dfce83637e485ea52a01b5300fa8ce33ef0b
6
+ metadata.gz: c8a41e02bc22a6371314d43b3aca87d5a812d3dca35b5333f5feb217f3b0dd9c92dab41115e94d5cc48da3d66e4e34c64e54e256ef0a4d8c0644705be46cf852
7
+ data.tar.gz: cf129546e5260206d19b9e08ac07390be4ce41c0526fd5fd7142770cc55a62a8622cfe4e4e74daf176d6e96098e628058c03b1caec762fcd96650c6f8d3e0e4a
@@ -154,7 +154,7 @@ class Array
154
154
  # :unicode_mixed - a table with double outer lines, and single inner lines
155
155
  TableChars.new :unicode_mixed, [ "\u2554", "\u2550", "\u2564", "\u2557", # tlb, tb, tib, trb
156
156
  "\u2551", "\u2502", "\u2551", # ldb, idb, rdb
157
- "\u2557", "\u2550", "\u253C", "\u2562", # lib, ib, mib, rib
157
+ "\u255F", "\u2500", "\u253C", "\u2562", # lib, ib, mib, rib
158
158
  "\u255A", "\u2550", "\u2567", "\u255D" ] # blb, bb, bib, brb
159
159
 
160
160
  TableChars.new :dos_single, [ "\xDA", "\xC4", "\xC2", "\xBF", # tlb, tb, tib, trb
@@ -1,3 +1,3 @@
1
1
  class Array::Formatter
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -0,0 +1,9 @@
1
+ +-------------+--------------+--------------------+-------------+------------------+
2
+ | Company | Name | Address | Phone | Email |
3
+ +-------------+--------------+--------------------+-------------+------------------+
4
+ | New Company | First Last | Somewhere, US | 123-45-6789 | user@sample.com |
5
+ +-------------+--------------+--------------------+-------------+------------------+
6
+ | Old Company | First2 Last2 | Somewhere else, US | 987-65-4321 | user2@sample.com |
7
+ +-------------+--------------+--------------------+-------------+------------------+
8
+ | No Company | First3 Last3 | Elsewhere ZZ | 763-34-1234 | user3@sample.com |
9
+ +-------------+--------------+--------------------+-------------+------------------+
@@ -0,0 +1,4 @@
1
+ Company,Name,Address,Phone,Email
2
+ New Company,First Last,"Somewhere, US","123-45-6789","user@sample.com"
3
+ Old Company,First2 Last2,"Somewhere else, US","987-65-4321","user2@sample.com"
4
+ No Company,First3 Last3,Elsewhere ZZ,"763-34-1234","user3@sample.com"
@@ -0,0 +1,4 @@
1
+ Company,Name,Address,Phone,Email
2
+ New Company,First Last,"Somewhere, US","123-45-6789","user@sample.com"
3
+ Old Company,First2 Last2,"Somewhere else, US","987-65-4321","user2@sample.com"
4
+ No Company,First3 Last3,Elsewhere ZZ,"763-34-1234","user3@sample.com"
@@ -0,0 +1,9 @@
1
+ ┏━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━┓
2
+ ┃ Company │ Name │ Address │ Phone │ Email ┃
3
+ ┠─────────────┼──────────────┼────────────────────┼─────────────┼──────────────────┨
4
+ ┃ New Company │ First Last │ Somewhere, US │ 123-45-6789 │ user@sample.com ┃
5
+ ┠─────────────┼──────────────┼────────────────────┼─────────────┼──────────────────┨
6
+ ┃ Old Company │ First2 Last2 │ Somewhere else, US │ 987-65-4321 │ user2@sample.com ┃
7
+ ┠─────────────┼──────────────┼────────────────────┼─────────────┼──────────────────┨
8
+ ┃ No Company │ First3 Last3 │ Elsewhere ZZ │ 763-34-1234 │ user3@sample.com ┃
9
+ ┗━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━┛
@@ -0,0 +1,9 @@
1
+ ┏━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━┓
2
+ ┃ Company │ Name │ Address │ Phone │ Email ┃
3
+ ┠─────────────┼──────────────┼────────────────────┼─────────────┼──────────────────┨
4
+ ┃ New Company │ First Last │ Somewhere, US │ 123-45-6789 │ user@sample.com ┃
5
+ ┠─────────────┼──────────────┼────────────────────┼─────────────┼──────────────────┨
6
+ ┃ Old Company │ First2 Last2 │ Somewhere else, US │ 987-65-4321 │ user2@sample.com ┃
7
+ ┠─────────────┼──────────────┼────────────────────┼─────────────┼──────────────────┨
8
+ ┃ No Company │ First3 Last3 │ Elsewhere ZZ │ 763-34-1234 │ user3@sample.com ┃
9
+ ┗━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━┛
@@ -0,0 +1,17 @@
1
+ +-----------+-------+------------+
2
+ | Region | State | Sales |
3
+ +-----------+-------+------------+
4
+ | Northwest | WA | $2,100,500 |
5
+ +-----------+-------+------------+
6
+ | Northwest | OR | $900,800 |
7
+ +-----------+-------+------------+
8
+ | Northeast | NY | $8,120,000 |
9
+ +-----------+-------+------------+
10
+ | Northeast | MN | $489,500 |
11
+ +-----------+-------+------------+
12
+ | Southeast | GA | $2,111,200 |
13
+ +-----------+-------+------------+
14
+ | Southeast | FL | $9,388,000 |
15
+ +-----------+-------+------------+
16
+ | Southwest | AZ | $7,377,000 |
17
+ +-----------+-------+------------+
@@ -0,0 +1,8 @@
1
+ Region,State,Sales
2
+ Northwest,WA,"$2,100,500"
3
+ Northwest,OR,"$900,800"
4
+ Northeast,NY,"$8,120,000"
5
+ Northeast,MN,"$489,500"
6
+ Southeast,GA,"$2,111,200"
7
+ Southeast,FL,"$9,388,000"
8
+ Southwest,AZ,"$7,377,000"
@@ -0,0 +1,42 @@
1
+ <table>
2
+ <tr>
3
+ <th>Region</th>
4
+ <th>State</th>
5
+ <th>Sales</th>
6
+ </tr>
7
+ <tr>
8
+ <td>Northwest</td>
9
+ <td>WA</td>
10
+ <td>$2,100,500</td>
11
+ </tr>
12
+ <tr>
13
+ <td>Northwest</td>
14
+ <td>OR</td>
15
+ <td>$900,800</td>
16
+ </tr>
17
+ <tr>
18
+ <td>Northeast</td>
19
+ <td>NY</td>
20
+ <td>$8,120,000</td>
21
+ </tr>
22
+ <tr>
23
+ <td>Northeast</td>
24
+ <td>MN</td>
25
+ <td>$489,500</td>
26
+ </tr>
27
+ <tr>
28
+ <td>Southeast</td>
29
+ <td>GA</td>
30
+ <td>$2,111,200</td>
31
+ </tr>
32
+ <tr>
33
+ <td>Southeast</td>
34
+ <td>FL</td>
35
+ <td>$9,388,000</td>
36
+ </tr>
37
+ <tr>
38
+ <td>Southwest</td>
39
+ <td>AZ</td>
40
+ <td>$7,377,000</td>
41
+ </tr>
42
+ </table>
@@ -0,0 +1,17 @@
1
+ ┏━━━━━━━━━━━┯━━━━━━━┯━━━━━━━━━━━━┓
2
+ ┃ Region │ State │ Sales ┃
3
+ ┠───────────┼───────┼────────────┨
4
+ ┃ Northwest │ WA │ $2,100,500 ┃
5
+ ┠───────────┼───────┼────────────┨
6
+ ┃ Northwest │ OR │ $900,800 ┃
7
+ ┠───────────┼───────┼────────────┨
8
+ ┃ Northeast │ NY │ $8,120,000 ┃
9
+ ┠───────────┼───────┼────────────┨
10
+ ┃ Northeast │ MN │ $489,500 ┃
11
+ ┠───────────┼───────┼────────────┨
12
+ ┃ Southeast │ GA │ $2,111,200 ┃
13
+ ┠───────────┼───────┼────────────┨
14
+ ┃ Southeast │ FL │ $9,388,000 ┃
15
+ ┠───────────┼───────┼────────────┨
16
+ ┃ Southwest │ AZ │ $7,377,000 ┃
17
+ ┗━━━━━━━━━━━┷━━━━━━━┷━━━━━━━━━━━━┛
@@ -0,0 +1,17 @@
1
+ ╔═══════════╦═══════╦════════════╗
2
+ ║ Region ║ State ║ Sales ║
3
+ ╠═══════════╬═══════╬════════════╣
4
+ ║ Northwest ║ WA ║ $2,100,500 ║
5
+ ╠═══════════╬═══════╬════════════╣
6
+ ║ Northwest ║ OR ║ $900,800 ║
7
+ ╠═══════════╬═══════╬════════════╣
8
+ ║ Northeast ║ NY ║ $8,120,000 ║
9
+ ╠═══════════╬═══════╬════════════╣
10
+ ║ Northeast ║ MN ║ $489,500 ║
11
+ ╠═══════════╬═══════╬════════════╣
12
+ ║ Southeast ║ GA ║ $2,111,200 ║
13
+ ╠═══════════╬═══════╬════════════╣
14
+ ║ Southeast ║ FL ║ $9,388,000 ║
15
+ ╠═══════════╬═══════╬════════════╣
16
+ ║ Southwest ║ AZ ║ $7,377,000 ║
17
+ ╚═══════════╩═══════╩════════════╝
@@ -0,0 +1,17 @@
1
+ ╔═══════════╤═══════╤════════════╗
2
+ ║ Region │ State │ Sales ║
3
+ ╟───────────┼───────┼────────────╢
4
+ ║ Northwest │ WA │ $2,100,500 ║
5
+ ╟───────────┼───────┼────────────╢
6
+ ║ Northwest │ OR │ $900,800 ║
7
+ ╟───────────┼───────┼────────────╢
8
+ ║ Northeast │ NY │ $8,120,000 ║
9
+ ╟───────────┼───────┼────────────╢
10
+ ║ Northeast │ MN │ $489,500 ║
11
+ ╟───────────┼───────┼────────────╢
12
+ ║ Southeast │ GA │ $2,111,200 ║
13
+ ╟───────────┼───────┼────────────╢
14
+ ║ Southeast │ FL │ $9,388,000 ║
15
+ ╟───────────┼───────┼────────────╢
16
+ ║ Southwest │ AZ │ $7,377,000 ║
17
+ ╚═══════════╧═══════╧════════════╝
@@ -2,18 +2,74 @@
2
2
 
3
3
  $LOAD_PATH.unshift '.', './test', './lib'
4
4
 
5
+ $refdir = 'test/ref' # where the test reference output lives
6
+
7
+ # if 'save' anywhere as an argument, the outputs are saved as reference
8
+ # test output.
9
+
10
+ $verbose = $save = nil
11
+ ARGV.each_with_index do |arg, x|
12
+ case arg
13
+ when 'save'
14
+ $save = true
15
+ ARGV.delete_at(x)
16
+ when '-v', '--verbose'
17
+ $verbose = true
18
+ end
19
+ end
20
+
5
21
  require 'array/formatter'
6
22
  require 'test-helper'
7
23
 
8
24
  class Test_Array_Formatter < MiniTest::Unit::TestCase
9
25
 
26
+ def ref_filename name, kind
27
+ "#{$refdir}/#{name}-#{kind}.txt"
28
+ end
29
+
30
+ def read_ref name, kind
31
+ filename = ref_filename(name, kind)
32
+ ref = nil
33
+ if File.exist?(filename)
34
+ File.open(filename) { |file| ref = file.read }
35
+ end
36
+ ref
37
+ end
38
+
39
+ def write_ref name, kind, out
40
+ filename = ref_filename(name, kind)
41
+ unless Dir.exist?($refdir)
42
+ Dir.mkdir $refdir
43
+ puts "Created #{$refdir}" if $verbose
44
+ end
45
+ File.open(filename, 'w+') { |file| file.write out }
46
+ printf "%d lines written to %s\n", (out.count("\n")+1), filename
47
+ end
48
+
49
+ def check actual, name, kind
50
+ if $verbose
51
+ puts ""
52
+ puts actual
53
+ end
54
+ unless $save
55
+ expected = read_ref(name, kind)
56
+ if expected
57
+ assert_equal actual.strip, expected.strip, "Error: at #{caller.first}:"
58
+ else
59
+ puts "No reference output to compare with"
60
+ end
61
+ else
62
+ write_ref name, kind, actual
63
+ end
64
+ end
65
+
10
66
  @@a = [ %w( Company Name Address Phone Email ),
11
67
  [ 'New Company', 'First Last', 'Somewhere, US', '123-45-6789', 'user@sample.com' ],
12
68
  [ 'Old Company', 'First2 Last2', 'Somewhere else, US', '987-65-4321', 'user2@sample.com' ],
13
69
  [ 'No Company', 'First3 Last3', 'Elsewhere ZZ', '763-34-1234', 'user3@sample.com' ]
14
70
  ]
15
71
 
16
- @@a2 = [ %w( Region State Sales ),
72
+ @@b = [ %w( Region State Sales ),
17
73
  %w( Northwest WA $2,100,500 ),
18
74
  %w( Northwest OR $900,800 ),
19
75
  %w( Northeast NY $8,120,000 ),
@@ -21,24 +77,56 @@ class Test_Array_Formatter < MiniTest::Unit::TestCase
21
77
  %w( Southeast GA $2,111,200 ),
22
78
  %w( Southeast FL $9,388,000 ),
23
79
  %w( Southwest AZ $7,377,000 ) ]
24
-
25
80
 
26
- def test_to_table_default
81
+ def test_a_table_ascii
27
82
  s = @@a.to_table
28
- puts s
83
+ check s, :a, :ascii
29
84
  end
30
85
 
31
- def test_to_table_unicode
86
+ def test_a_table_unicode
32
87
  s = @@a.to_table(:unicode)
33
- puts s
88
+ check s, :a, :unicode
89
+ end
90
+
91
+ def test_a_table_unicode_single
92
+ s = @@a.to_table(:unicode_single)
93
+ check s, :a, :unicode_single
94
+ end
95
+
96
+ def test_b_table_ascii
97
+ s = @@b.to_table
98
+ check s, :b, :ascii
99
+ end
100
+
101
+ def test_b_table_unicode
102
+ s = @@b.to_table(:unicode)
103
+ check s, :b, :unicode
104
+ end
105
+
106
+ def test_b_table_unicode_double
107
+ s = @@b.to_table(:unicode_double)
108
+ check s, :b, :unicode_double
109
+ end
110
+
111
+ def test_b_table_unicode_mixed
112
+ s = @@b.to_table(:unicode_mixed)
113
+ check s, :b, :unicode_mixed
114
+ end
115
+
116
+ def test_a_to_csv
117
+ check @@a.to_csv, :a, :csv
118
+ end
119
+
120
+ def test_b_to_csv
121
+ check @@b.to_csv, :b, :csv
122
+ end
123
+
124
+ def test_a_to_html
125
+ check @@a.to_csv, :a, :html
34
126
  end
35
127
 
36
- def test_to_table_alignments
37
- s = @@a2.to_table
38
- puts s
39
- puts ''
40
- s = @@a2.to_table(:unicode)
41
- puts s
128
+ def test_b_to_html
129
+ check @@b.to_html, :b, :html
42
130
  end
43
131
 
44
132
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: array-formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alan Stebbens
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-17 00:00:00.000000000 Z
11
+ date: 2013-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -55,6 +55,17 @@ files:
55
55
  - array-formatter.gemspec
56
56
  - lib/array/formatter.rb
57
57
  - lib/array/formatter/version.rb
58
+ - test/ref/a-ascii.txt
59
+ - test/ref/a-csv.txt
60
+ - test/ref/a-html.txt
61
+ - test/ref/a-unicode.txt
62
+ - test/ref/a-unicode_single.txt
63
+ - test/ref/b-ascii.txt
64
+ - test/ref/b-csv.txt
65
+ - test/ref/b-html.txt
66
+ - test/ref/b-unicode.txt
67
+ - test/ref/b-unicode_double.txt
68
+ - test/ref/b-unicode_mixed.txt
58
69
  - test/test-array-formatter.rb
59
70
  - test/test-helper.rb
60
71
  homepage: https://gitlab.com/as/array-formatter
@@ -82,5 +93,16 @@ signing_key:
82
93
  specification_version: 4
83
94
  summary: Format an array of arrays in one of serveral string formats
84
95
  test_files:
96
+ - test/ref/a-ascii.txt
97
+ - test/ref/a-csv.txt
98
+ - test/ref/a-html.txt
99
+ - test/ref/a-unicode.txt
100
+ - test/ref/a-unicode_single.txt
101
+ - test/ref/b-ascii.txt
102
+ - test/ref/b-csv.txt
103
+ - test/ref/b-html.txt
104
+ - test/ref/b-unicode.txt
105
+ - test/ref/b-unicode_double.txt
106
+ - test/ref/b-unicode_mixed.txt
85
107
  - test/test-array-formatter.rb
86
108
  - test/test-helper.rb