From c24ed707ef7ed89e312912d577b489cfd527eb26 Mon Sep 17 00:00:00 2001 From: erwanlr Date: Fri, 5 Dec 2014 18:11:49 +0100 Subject: [PATCH] Improves plugin/theme version detection by looking at the "Version: "- Fixes #732 --- lib/common/models/wp_item/versionable.rb | 2 +- .../wp_item/versionable/wp-photo-plus-5.1.15.txt | 9 +++++++++ spec/shared_examples/wp_item_versionable.rb | 15 ++++++++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 spec/samples/common/models/wp_item/versionable/wp-photo-plus-5.1.15.txt diff --git a/lib/common/models/wp_item/versionable.rb b/lib/common/models/wp_item/versionable.rb index 7562b43a..4b61d323 100755 --- a/lib/common/models/wp_item/versionable.rb +++ b/lib/common/models/wp_item/versionable.rb @@ -13,7 +13,7 @@ class WpItem # This check is needed because readme_url can return nil if has_readme? response = Browser.get(readme_url) - @version = response.body[%r{stable tag: #{WpVersion.version_pattern}}i, 1] + @version = response.body[%r{(?:stable tag|version): #{WpVersion.version_pattern}}i, 1] end end @version diff --git a/spec/samples/common/models/wp_item/versionable/wp-photo-plus-5.1.15.txt b/spec/samples/common/models/wp_item/versionable/wp-photo-plus-5.1.15.txt new file mode 100644 index 00000000..02ab07f1 --- /dev/null +++ b/spec/samples/common/models/wp_item/versionable/wp-photo-plus-5.1.15.txt @@ -0,0 +1,9 @@ +=== WP Photo Album Plus === +Contributors: opajaap +Tags: photo, album, photoalbum, gallery, slideshow, sidebar widget, photowidget, photoblog, widget, qtranslate, cubepoints, multisite, network, lightbox, comment, watermark, iptc, exif, responsive, mobile +Stable tag: trunk +Version: 5.1.15 +Author: J.N. Breetvelt +Author URI: http://www.opajaap.nl/ +Requires at least: 3.1 +Tested up to: 3.7.1 \ No newline at end of file diff --git a/spec/shared_examples/wp_item_versionable.rb b/spec/shared_examples/wp_item_versionable.rb index 81a7c68f..d9e4c47f 100644 --- a/spec/shared_examples/wp_item_versionable.rb +++ b/spec/shared_examples/wp_item_versionable.rb @@ -27,9 +27,18 @@ shared_examples 'WpItem::Versionable' do end context 'when the version is valid' do - it 'returns it' do - @file = '/simple-login-lockdown-0.4.txt' - @expected = '0.4' + context 'when leaked from the stable tag' do + it 'returns it' do + @file = '/simple-login-lockdown-0.4.txt' + @expected = '0.4' + end + end + + context 'when leaked from the version' do + it 'returns it' do + @file = '/wp-photo-plus-5.1.15.txt' + @expected = '5.1.15' + end end end end