From 848ca96890db32eb98d44765886853bed626a4ee Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Sat, 26 Mar 2016 16:24:56 +0100 Subject: Add first regression tests I think it's a good idea to add tests after fixing bugs. This is really easy using the spec test infrastructure. --- test/CMakeLists.txt | 7 +++++++ test/regression.txt | 34 ++++++++++++++++++++++++++++++++++ test/spec_tests.py | 2 +- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 test/regression.txt diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d537ab5..fbfd1d0 100755 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -53,6 +53,13 @@ IF (PYTHONINTERP_FOUND) "${ROUNDTRIP} ${CMAKE_CURRENT_BINARY_DIR}/../src/cmark" ) + add_test(regressiontest_executable + ${PYTHON_EXECUTABLE} + "${CMAKE_CURRENT_SOURCE_DIR}/spec_tests.py" "--no-normalize" "--spec" + "${CMAKE_CURRENT_SOURCE_DIR}/regression.txt" "--program" + "${CMAKE_CURRENT_BINARY_DIR}/../src/cmark" + ) + ELSE(PYTHONINTERP_FOUND) diff --git a/test/regression.txt b/test/regression.txt new file mode 100644 index 0000000..c8a1057 --- /dev/null +++ b/test/regression.txt @@ -0,0 +1,34 @@ +### Regression tests + +Issue #113: EOL character weirdness on Windows +(Important: first line ends with CR + CR + LF) + +```````````````````````````````` example +line1 +line2 +. +

line1

+

line2

+```````````````````````````````` + +Issue #114: cmark skipping first character in line +(Important: the blank lines around "Repeatedly" contain a tab.) + +```````````````````````````````` example +By taking it apart + +- alternative solutions +→ +Repeatedly solving +→ +- how techniques +. +

By taking it apart

+ +

Repeatedly solving

+ +```````````````````````````````` diff --git a/test/spec_tests.py b/test/spec_tests.py index d5b4d05..1521a82 100755 --- a/test/spec_tests.py +++ b/test/spec_tests.py @@ -87,7 +87,7 @@ def get_tests(specfile): header_re = re.compile('#+ ') - with open(specfile, 'r', encoding='utf-8') as specf: + with open(specfile, 'r', encoding='utf-8', newline='\n') as specf: for line in specf: line_number = line_number + 1 l = line.strip() -- cgit v1.2.3