[Pkg-ocaml-maint-commits] [ocaml-csv] 03/10: Imported Upstream version 1.4.1
Stéphane Glondu
glondu at moszumanska.debian.org
Tue Jan 26 14:31:09 UTC 2016
This is an automated email from the git hooks/post-receive script.
glondu pushed a commit to branch master
in repository ocaml-csv.
commit 8cf4d7275fd3762621600b0b4871f5766a6f9f39
Author: Stephane Glondu <steph at glondu.net>
Date: Tue Jan 26 15:04:30 2016 +0100
Imported Upstream version 1.4.1
---
.travis-ci.sh | 22 ++++++++++++++++++++++
.travis.yml | 20 ++++++++++++++++++++
README.md | 2 ++
_oasis | 18 +++++++++++++++++-
src/csv.ml | 2 +-
src/csv.mli | 2 ++
tests/test.ml | 2 +-
tests/test_write.ml | 16 ++++++++++++++++
8 files changed, 81 insertions(+), 3 deletions(-)
diff --git a/.travis-ci.sh b/.travis-ci.sh
new file mode 100644
index 0000000..55445b8
--- /dev/null
+++ b/.travis-ci.sh
@@ -0,0 +1,22 @@
+
+OPAM_PKGS="oasis base-bytes"
+
+export OPAMYES=1
+
+if [ -f "$HOME/.opam/config" ]; then
+ opam update
+ opam upgrade
+else
+ opam init
+fi
+
+if [ -n "${OPAM_SWITCH}" ]; then
+ opam switch ${OPAM_SWITCH}
+fi
+eval `opam config env`
+
+opam install $OPAM_PKGS
+
+export OCAMLRUNPARAM=b
+make
+make test
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..5ff98b8
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,20 @@
+language: c
+sudo: false
+addons:
+ apt:
+ sources:
+ - avsm
+ packages:
+ - ocaml
+ - ocaml-native-compilers
+ - opam
+
+script: bash -ex .travis-ci.sh
+env:
+ - OPAM_SWITCH=system
+ - OPAM_SWITCH=3.12.1
+ - OPAM_SWITCH=4.01.0
+ - OPAM_SWITCH=4.02.2
+cache:
+ directories:
+ - $HOME/.opam
diff --git a/README.md b/README.md
index 3a44169..9951dd0 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,5 @@
+[](https://travis-ci.org/Chris00/ocaml-csv)
+
OCaml CSV
=========
diff --git a/_oasis b/_oasis
index b6ec839..7ca476f 100644
--- a/_oasis
+++ b/_oasis
@@ -1,7 +1,7 @@
# -*-conf-*-
OASISFormat: 0.4
Name: csv
-Version: 1.4
+Version: 1.4.1
Synopsis: A pure OCaml library to read and write CSV files.
Description: This is a pure OCaml library to read and write CSV files,
including all extensions used by Excel — e.g. quotes, newlines,
@@ -39,6 +39,7 @@ Executable csvtool
Install: true
Executable example
+ Build$: flag(tests)
Path: examples/
MainIs: example.ml
BuildDepends: csv
@@ -48,6 +49,7 @@ Executable example
# Testing
Executable test
+ Build$: flag(tests)
Path: tests/
MainIs: test.ml
BuildDepends: csv
@@ -72,6 +74,20 @@ Test header
Command: $test_header
Run: true
+Executable test_write
+ Build$: flag(tests)
+ Path: tests/
+ MainIs: test_write.ml
+ BuildDepends: csv
+ CompiledObject: best
+ BuildTools: ocamlbuild
+ Install: false
+
+Test write
+ WorkingDirectory: tests/
+ Command: $test_write
+ Run: true
+
SourceRepository master
Type: git
diff --git a/src/csv.ml b/src/csv.ml
index 6119155..dfe70ed 100644
--- a/src/csv.ml
+++ b/src/csv.ml
@@ -795,7 +795,7 @@ let write_escaped oc field =
really_output oc (Bytes.unsafe_of_string field) 0 len
else (
let field =
- if n = 0 then Bytes.unsafe_of_string field
+ if n <= 0 then Bytes.unsafe_of_string field
else (* There are some quotes to escape *)
let s = Bytes.create (len + n) in
let j = ref 0 in
diff --git a/src/csv.mli b/src/csv.mli
index d80af98..e98b08d 100644
--- a/src/csv.mli
+++ b/src/csv.mli
@@ -49,6 +49,7 @@ object
to read, the number 0 will be returned.
@raise End_of_file when there are no more bytes to read. *)
+
method close_in : unit -> unit
(** Closes the channel for input. *)
end
@@ -61,6 +62,7 @@ object
[s.[ofs .. ofs+len-1]]. Return the number of bytes actually
written. When the channel is non-blocking, and there are
currently no bytes to write, the number 0 must be returned. *)
+
method close_out : unit -> unit
(** Flushes the buffer, if any, and closes the channel for output. *)
end
diff --git a/tests/test.ml b/tests/test.ml
index 1e30af2..91228dd 100644
--- a/tests/test.ml
+++ b/tests/test.ml
@@ -106,4 +106,4 @@ let () =
let () =
- print_endline "All tests succeeded."
+ print_endline "All conformity tests succeeded."
diff --git a/tests/test_write.ml b/tests/test_write.ml
new file mode 100644
index 0000000..ef57fb1
--- /dev/null
+++ b/tests/test_write.ml
@@ -0,0 +1,16 @@
+open Printf
+
+let roundtrip ?excel_tricks csv =
+ let buf = Buffer.create 128 in
+ Csv.output_all (Csv.to_buffer buf ?excel_tricks) csv;
+ let csv' = Csv.input_all (Csv.of_string (Buffer.contents buf)) in
+ if Csv.compare csv csv' <> 0 then (
+ printf "Csv roundtrip:\n";
+ Csv.print csv';
+ printf "Expected:\n";
+ Csv.print csv;
+ failwith "failed!"
+ )
+
+let () =
+ roundtrip [ [ "01234567" ] ] ~excel_tricks:true
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/ocaml-csv.git
More information about the Pkg-ocaml-maint-commits
mailing list