From 0a19f2f51c79b865fd9223d501e75239c8e2b3f3 Mon Sep 17 00:00:00 2001 From: Gordon Stanton Date: Tue, 2 Feb 2016 18:02:03 +1100 Subject: [PATCH 1/6] Initial Travis config --- .travis.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..52c661796 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,40 @@ +sudo: required +dist: trusty +language: cpp +compiler: +- gcc +before_install: +# for gcc with C++11 support +- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test +- sudo apt-get -qq update +install: +# install GTest and GMock +- sudo apt-get -qq install libgtest-dev +- "cd /usr/src/gtest && sudo cmake . && sudo cmake --build . && sudo mv libg* /usr/local/lib/ ; cd -" +- sudo apt-get -qq install google-mock +- "cd /usr/src/gmock && sudo cmake . && sudo cmake --build . && sudo mv libg* /usr/local/lib/ ; cd -" +# update to gcc with C++11 support +- sudo apt-get -qq install gcc-4.9 g++-4.9 +- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 90 +- sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90 +- sudo apt-get -qq install libtest-simple-perl +- sudo apt-get -qq install libtest-harness-perl +- sudo apt-get -qq install appconfig-perl +# install latest LCOV (1.9 was failing) +- cd ${TRAVIS_BUILD_DIR} +- wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz +- tar xf lcov_1.11.orig.tar.gz +- sudo make -C lcov-1.11/ install +- gem install coveralls-lcov +- lcov --version +- g++ --version +before_script: +- cd ${TRAVIS_BUILD_DIR} +# init coverage to 0 (optional) +- lcov --directory . --zerocounters +script: +- cd ${TRAVIS_BUILD_DIR} +# Check that this works this way +- perl Makefile.PL TT_XS_ENABLE=y TT_XS_DEFAULT=y TT_ACCEPT=y +- make +- make test From 4393742b90fe19164e2249bba8d69d9714241786 Mon Sep 17 00:00:00 2001 From: Gordon Stanton Date: Tue, 2 Feb 2016 18:30:00 +1100 Subject: [PATCH 2/6] Added missing dependencies --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 52c661796..4dd5f58d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,9 @@ install: - sudo apt-get -qq install libtest-simple-perl - sudo apt-get -qq install libtest-harness-perl - sudo apt-get -qq install appconfig-perl +- sudo apt-get -qq install libcgi-pm-perl +- sudo apt-get -qq install libimage-size-perl +- sudo apt-get -qq install libpod-pom-perl # install latest LCOV (1.9 was failing) - cd ${TRAVIS_BUILD_DIR} - wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz From 169ebc97eb0980b3988bcaff1982e288b802a96f Mon Sep 17 00:00:00 2001 From: Gordon Stanton Date: Tue, 2 Feb 2016 20:06:39 +1100 Subject: [PATCH 3/6] url2 test was stashed --- MANIFEST | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MANIFEST b/MANIFEST index 64ab5f31e..78b3d8eca 100644 --- a/MANIFEST +++ b/MANIFEST @@ -216,7 +216,6 @@ t/tiedhash.t t/try.t t/unicode.t t/url.t -t/url2.t t/vars.t t/varsv1.t t/view.t @@ -231,6 +230,7 @@ t/zz-pmv.t t/zz-pod-coverage.t t/zz-pod-kwalitee.t t/zz-stash-xs-leak.t +t/zz-url2.t TODO xs/Makefile.PL xs/MANIFEST From 8aa93a5374985bc7dcda69cc4fb8a76d29bceec9 Mon Sep 17 00:00:00 2001 From: ozcoder Date: Wed, 3 Feb 2016 00:30:55 +1100 Subject: [PATCH 4/6] Make sure update runs --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4dd5f58d9..2f7e7f291 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ compiler: before_install: # for gcc with C++11 support - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test -- sudo apt-get -qq update +- sudo apt-get update install: # install GTest and GMock - sudo apt-get -qq install libgtest-dev From ece57c03874b748ebe37390b4003163e525e65c5 Mon Sep 17 00:00:00 2001 From: ozcoder Date: Wed, 3 Feb 2016 00:54:13 +1100 Subject: [PATCH 5/6] Oops wrong package name --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2f7e7f291..c4506c077 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ install: - sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90 - sudo apt-get -qq install libtest-simple-perl - sudo apt-get -qq install libtest-harness-perl -- sudo apt-get -qq install appconfig-perl +- sudo apt-get -qq install libappconfig-perl - sudo apt-get -qq install libcgi-pm-perl - sudo apt-get -qq install libimage-size-perl - sudo apt-get -qq install libpod-pom-perl From 73e1c0fd4905eea4ce35b100892478968a88a3d2 Mon Sep 17 00:00:00 2001 From: Gordon Stanton Date: Fri, 5 Feb 2016 14:18:40 +1100 Subject: [PATCH 6/6] Make truncate Character Entity Reference aware - fixes bug #95707 --- lib/Template/Filters.pm | 10 +++++++++- lib/Template/Manual/Filters.pod | 2 +- t/filter.t | 13 +++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/lib/Template/Filters.pm b/lib/Template/Filters.pm index 6e6767f40..888d324ff 100644 --- a/lib/Template/Filters.pm +++ b/lib/Template/Filters.pm @@ -564,8 +564,16 @@ sub truncate_filter_factory { $len = $TRUNCATE_LENGTH unless defined $len; $char = $TRUNCATE_ADDON unless defined $char; - # Length of char is the minimum length my $lchar = length $char; + my $extra = $char; + my $CER = '[:#_A-Za-z][:A-Za-z0-9\-\_]+'; + + if ($char =~ /\&($CER;)/) { + $extra =~ s,\&($CER;),_,g; + $lchar = length $extra; + } + + # Length of char is the minimum length if ($len < $lchar) { $char = substr($char, 0, $len); $lchar = $len; diff --git a/lib/Template/Manual/Filters.pod b/lib/Template/Manual/Filters.pod index f9863be6b..f93d69e83 100644 --- a/lib/Template/Manual/Filters.pod +++ b/lib/Template/Manual/Filters.pod @@ -323,7 +323,7 @@ second argument. Output: - I have much to say… + I have much to say on this… =head1 repeat(iterations) diff --git a/t/filter.t b/t/filter.t index e962dcccf..13dbc2225 100644 --- a/t/filter.t +++ b/t/filter.t @@ -975,3 +975,16 @@ foo(bar) [% "foo(bar)" | uri %] -- expect -- foo(bar) + +-- test -- +[% "I have much to say on this matter that has previously + been said on more than one occasion." | truncate(27,"…") %] +-- expect -- +I have much to say on this… + +-- test -- +[% "I have much to say on this matter that has previously + been said on more than one occasion." | truncate(27,"…") %] +-- expect -- +I have much to say on this… +