Граф коммитов

61 Коммитов

Автор SHA1 Сообщение Дата
jeg2 b614d7823c * lib/csv.rb: Remove the dangerous serialization feature.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-05 18:28:26 +00:00
jeg2 93030d0e4d * lib/csv.rb: Added more Hash methods to CSV::Row.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-27 16:15:53 +00:00
jeg2 5b1065f3fe * lib/csv.rb: A fix for row comparison by Stephen Wattam. [Bug #7528]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 17:42:16 +00:00
nobu d059d718b5 remove trainling spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 04:50:18 +00:00
jeg2 3c3e659196 * lib/csv.rb: Fixes #161 on github
* lib/csv.rb:  You can now specify a pattern for :skip_lines.
  Matching lines will not be passed to the CSV parser.
* lib/csv.rb:  Patch by Christian Schwartz.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-20 20:52:36 +00:00
nagachika 331352e676 * test/csv/test_features.rb: add require for Tempfile.
* test/csv/test_serialization.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-07 14:14:54 +00:00
nobu 63a164f32e test: fix test conditions
* test/csv/test_features.rb (TestCSV#test_gzip_reader_bug_fix): test
  only if zlib is available.

* test/csv/test_features.rb (TestCSV#test_gzip_writer_bug_fix): ditto.

* test/open-uri/test_open-uri.rb (TestOpenURI#test_content_encoding):
  ditto.

* test/rexml/test_order.rb (OrderTester#test_more_ordering): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-08 06:50:03 +00:00
nobu a0d2cd2e1e test: why believe source directories are writable always?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-08 06:49:59 +00:00
marcandre 616cae1090 * lib/csv.rb: Do not modify CSV.generate's argument [ruby-core:38356]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-21 21:37:43 +00:00
jeg2 a9c056f1ed * lib/csv.rb: Enhance each() to support Enumerator.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-26 15:35:06 +00:00
jeg2 6e7544f132 * lib/csv.rb: Improved stray quoting error message (patch by Edvard Majakari).
* lib/csv.rb:  Remove debugging prints.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-25 14:46:08 +00:00
nobu e858442f4f * lib/csv.rb (CSV::open): suppress universal newline decorator.
fixes #4603

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-27 21:07:09 +00:00
nobu 0b98b9a95d * strip trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-26 15:57:04 +00:00
sorah a790bd0bd7 * lib/test/unit.rb: Add new options; --jobs,-j,--ruby,--jobs-status,
--no-retry.
  [Feature #4415] [ruby-dev:43226],[ruby-dev:43222],[ruby-core:35294]
* lib/test/unit/parallel.rb: Used at test/unit --jobs(-j) option.
* test/csv/test_serialization.rb: test/unit parallel running ready.
* test/rake/test_file_task.rb: test/unit parallel running ready.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-22 03:36:38 +00:00
nobu 6d8c13bc61 * test/with_different_ofs.rb (DifferentOFS): should not affect
original classes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-26 02:15:55 +00:00
nobu ef99044673 * test/csv: DifferentOFS needs to be include in each classes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 13:49:14 +00:00
nobu c41b036f4d test/with_different_ofs.rb: fixed typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 13:41:11 +00:00
nobu 7df8b94926 * test/with_diffent_ofs.rb (DifferentOFS): test suite for test
suites affected by $,.
* test/digest/test_digest_extend.rb (TestDigestExtend): should not
  assume $, invariant.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 13:08:07 +00:00
nobu 36feefecb9 * test/csv/test_data_converters.rb, test/csv/test_table.rb: don't
not call setup within tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 13:04:43 +00:00
nobu 08d99ac9e3 * lib/csv.rb (CSV.foreach): 'rb' mode is defaulted in open.
* lib/csv.rb (CSV#init_separators): cannonicalize encoding options
  as Encoding objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 09:04:33 +00:00
nobu eadc639598 * test/csv/base.rb (TestCSV.with_diffrent_ofs): give name to
anonymous classes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 08:33:58 +00:00
nobu 9c017ca5fb * lib/csv.rb (CSV#init_separators): use IO#gets with length
parameter to get rid of wrong convertion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 08:32:27 +00:00
nobu b4876f5e04 * lib/csv.rb (CSV::foreach, CSV#initialize): directly use encoding
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 07:04:38 +00:00
nobu d05217109f * lib/csv.rb, test/csv: should not assume $, invariant.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 06:58:58 +00:00
nobu 9b0f2e48d7 * test/csv/test_encodings.rb (TestEncodings#setup): fix evil test
suite writing to the source directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 06:04:07 +00:00
jeg2 b028e8d45d * lib/csv.rb: Upgrading output encoding with ASCII content
as needed.  [ruby-core:33229]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 15:03:25 +00:00
jeg2 40e5b39336 * lib/csv.rb: Upgrading output encoding as needed. [ruby-core:33135]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-16 23:55:29 +00:00
jeg2 effa0c76d9 * lib/csv.rb: Fixing a bug that prevented CSV from parsing
all multi-line fields correctly.  Patch by Rob Biedenham.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-25 02:59:20 +00:00
usa 230ffa11d7 * test/csv/test_interface.rb (test_write_hash): may need to set binary mode
when converter is specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-19 09:10:45 +00:00
jeg2 1bd1128989 * lib/csv.rb: Incorporating the fixes from the recent
FasterCSV releases:  1.5.2 and 1.5.3.  [ruby-core:25038]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-23 14:59:25 +00:00
jeg2 ae0b606830 * A bug fix for deleting blank Table rows from Andy Hartford.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-31 05:34:17 +00:00
naruse 066b30245b rescue Encoding::ConverterNotFoundError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 06:31:31 +00:00
jeg2 8e2eedf46b * test/csv/test_interface.rb, test/csv/test_serialization.rb:
Trying more fixes some failing tests on Windows.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-30 23:20:44 +00:00
jeg2 a9b53f6397 * test/csv/test_interface.rb: Trying a fix for some failing tests
on Windows.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-29 16:00:47 +00:00
nobu 287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
jeg2 dfda5877ca * lib/csv.rb: Fixed a bug in read_to_char() that would slurp
whole files if the encoding was invalid.  It will now read
  up to 10 bytes ahead to find a valid character boundary or
  give up.  [ruby-core:19465]
* test/csv/test_features.rb, test/csv/test_table.rb, test/csv/test_row.rb:
  Loosened some tests to check for a compatible? Encoding instea
  of an exact Encoding.  [ruby-core:19470]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-25 00:54:38 +00:00
jeg2 b7be78d774 * test/csv/*: Renamed tc_* files to test_* to fit in within Ruby's
testing process.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 15:30:24 +00:00
jeg2 7d3d353558 * lib/csv/csv.rb: Added support for Encoding::default_internal.
* lib/csv/csv.rb:  Switched to new Hash syntax.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 15:09:34 +00:00
jeg2 bde8a01d0a * lib/csv/csv.rb: Worked around some minor encoding changes in Ruby
pointed out by Nobu.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-28 00:06:21 +00:00
akr d7dbdef4e5 * transcode.c (rb_eUndefinedConversionError): renamed from
rb_eConversionUndefinedError.
  (rb_eConverterNotFoundError): renamed from rb_eNoConverterError.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-25 12:47:30 +00:00
jeg2 280cbe0b1f * lib/csv/csv.rb: Reworked CSV's parser and generator to be m17n. Data
is now parsed in the Encoding it is in without need for translation.
* lib/csv/csv.rb:  Improved inspect() messages for better IRb support.
* lib/csv/csv.rb:  Fixed header writing bug reported by Dov Murik.
* lib/csv/csv.rb:  Use custom separators in parsing header Strings as
  suggested by Shmulik Regev.
* lib/csv/csv.rb:  Added a :write_headers option for outputting headers.
* lib/csv/csv.rb:  Handle open() calls in binary mode whenever we can to
  workaround a Windows issue where line-ending translation can cause an
  off-by-one error in seeking back to a non-zero starting position after
  auto-discovery for :row_sep as suggested by Robert Battle.
* lib/csv/csv.rb:  Improved the parser to fail faster when fed some forms
  of invalid CSV that can be detected without reading ahead.
* lib/csv/csv.rb:  Added a :field_size_limit option to control CSV's
  lookahead and prevent the parser from biting off more data than
  it can chew.
* lib/csv/csv.rb:  Added readers for CSV attributes:  col_sep(), row_sep(),
  quote_char(), field_size_limit(), converters(), unconverted_fields?(),
  headers(), return_headers?(), write_headers?(), header_converters(),
  skip_blanks?(), and force_quotes?().
* lib/csv/csv.rb:  Cleaned up code syntax to be more inline with
  Ruby 1.9 than 1.8.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 00:39:03 +00:00
jeg2 a2443bdcf9 * lib/csv.rb: Fixed test failures caused by changes to Ruby.
* test/csv/tc_serialization, test/csv/tc_csv_parsing, test/csv/tc_features:
  Fixed test failures caused by changes to Ruby.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 05:14:04 +00:00
jeg2 29ba327bd1 * lib/csv.rb: Import the FasterCSV source as the new CSV class.
* test/csv/*:  Added all applicable tests from FasterCSV.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 02:46:26 +00:00
jeg2 951200ac63 * lib/csv.rb, test/csv/test_csv.rb: Removed in preparation for FasterCSV
code import.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24 23:41:06 +00:00
nahi 015e218d6c * test/csv/test_csv.rb: illegal require module name (../lib/csv.rb).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-27 02:26:15 +00:00
nahi 6dee0fab9b * lib/csv.rb (CSV.read, CSV.readlines): added. works as IO.read and
IO.readlines in CSV format.

        * lib/csv.rb (CSV.parse): [CAUTION] behavior changed.  in the past,
          CSV.parse accepts a filename to be read-opened (it was just a
          shortcut of CSV.open(filename, 'r')).  now CSV.parse accepts a
          string or a stream to be parsed e.g.
          CSV.parse("1,2\n3,r") #=> [['1', '2'], ['3', '4']]

        * test/csv/test_csv.rb: follow above changes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-26 14:30:30 +00:00
nahi 406f506d59 * lib/csv.rb: fixed a few bugs around multi char record/field separator.
* test/csv/test_csv.rb: added boundary test for above feature.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-20 17:24:04 +00:00
nahi 34a553da2e * lib/csv.rb: writes lines with "\n" when row separator is not given.
formerly it was "\r\n".

        * lib/csv.rb: [CAUTION] API change

          * CSV::Row removed.  a row is represented as just an Array.  since
            CSV::Row was a subclass of Array, it won't hurt almost all programs
            except one which depended CSV::Row#match.

          * CSV::Cell removed.  a cell is represented as just a String or
            nil(NULL).  this change will cause widespread destruction.

              CSV.open("foo.csv", "r") do |row|
                row.each do |cell|
                  if cell.is_null       # Cell#is_null
                    p "(NULL)"
                  else
                    p cell.data         # Cell#data
                  end
                end
              end

            must be just;

              CSV.open("foo.csv", "r") do |row|
                row.each do |cell|
                  if cell.nil?
                    p "(NULL)"
                  else
                    p cell
                  end
                end
              end

        * lib/csv.rb: [CAUTION] record separator(CR, LF, CR+LF) behavior
          change.  CSV.open, CSV.parse, and CSV,generate now do not force
          opened file binmode.  formerly it set binmode explicitly.

          with CSV.open, binmode of opened file depends the given mode
          parameter "r", "w", "rb", and "wb".  CSV.parse and CSV.generate open
          file with "r" and "w".

          setting mode properly is user's responsibility now.

        * lib/csv.rb: accepts String as a fs (field separator/column separator)
          and rs (record separator/row separator)

        * lib/csv.rb: added CSV.foreach(path, rs = nil, &block).  CSV.foreach
          now does not handle "| cmd" as a path different from IO.foreach.
          needed?

        * test/csv/test_csv.rb: updated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-18 12:34:33 +00:00
nahi 6dc12f6f74 * test/csv/test_csv.rb: generate bom.csv and mac.csv files on the fly.
[ruby-talk:88852]

        * test/csv/{bom.csv,mac.csv}: removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-28 03:52:15 +00:00
nahi 30e14294a7 * lib/csv.rb: add Cell#to_str and Cell#to_s for /.../ =~ aCell,
"#{aCell}" and so on.

        * test/csv/test_csv.rb: add tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-12 13:44:58 +00:00