Author: radu
Date: Sun Jul 28 11:56:34 2013
New Revision: 1507787

URL: http://svn.apache.org/r1507787
Log:
DMAP-27 - Fallback from alternate link to device group specific url not working

* allow fallback to device group url or to selectors based url if no alternate 
link exists for current detected device group

Modified:
    incubator/devicemap/trunk/browsermap/trunk/package.json
    incubator/devicemap/trunk/browsermap/trunk/src/main/js/bmap.js
    incubator/devicemap/trunk/browsermap/trunk/src/test/js/tests.js
    incubator/devicemap/trunk/browsermap/trunk/src/test/karma.conf.js

Modified: incubator/devicemap/trunk/browsermap/trunk/package.json
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/browsermap/trunk/package.json?rev=1507787&r1=1507786&r2=1507787&view=diff
==============================================================================
--- incubator/devicemap/trunk/browsermap/trunk/package.json (original)
+++ incubator/devicemap/trunk/browsermap/trunk/package.json Sun Jul 28 11:56:34 
2013
@@ -1,6 +1,6 @@
 {
   "name": "BrowserMap",
-  "version": "1.2.0",
+  "version": "1.3.0",
   "description": "YABFDL - yet another browser features detection library",
   "main": "index.js",
   "scripts": {

Modified: incubator/devicemap/trunk/browsermap/trunk/src/main/js/bmap.js
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/browsermap/trunk/src/main/js/bmap.js?rev=1507787&r1=1507786&r2=1507787&view=diff
==============================================================================
--- incubator/devicemap/trunk/browsermap/trunk/src/main/js/bmap.js (original)
+++ incubator/devicemap/trunk/browsermap/trunk/src/main/js/bmap.js Sun Jul 28 
11:56:34 2013
@@ -155,8 +155,6 @@
         var alternateSites = BrowserMap.getAllAlternateSites(),
             maxLinkScore = 0,
             alternateSite = null,
-            alternateSiteCandidate = null,
-            scoreForCurrentSite = 0,
             currentURL = window.location.href,
             currentURLParameters = 
BrowserMapUtil.Url.getURLParametersString(currentURL),
             i,
@@ -183,13 +181,6 @@
                 alternateSite = alternateSites[i];
                 maxLinkScore = linkScore;
             }
-            if (alternateSites[i].href == currentURL) {
-                scoreForCurrentSite = linkScore;
-                alternateSiteCandidate = alternateSites[i];
-            }
-        }
-        if (scoreForCurrentSite == maxLinkScore) {
-            alternateSite = alternateSiteCandidate;
         }
         return alternateSite;
     };

Modified: incubator/devicemap/trunk/browsermap/trunk/src/test/js/tests.js
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/browsermap/trunk/src/test/js/tests.js?rev=1507787&r1=1507786&r2=1507787&view=diff
==============================================================================
--- incubator/devicemap/trunk/browsermap/trunk/src/test/js/tests.js (original)
+++ incubator/devicemap/trunk/browsermap/trunk/src/test/js/tests.js Sun Jul 28 
11:56:34 2013
@@ -18,14 +18,13 @@
  */
 
 QUnit.begin(function() {
-    var currentURL = window.location.href,
-        headElement = document.getElementsByTagName('head')[0],
+    var headElement = document.getElementsByTagName('head')[0],
         headElementContent = headElement.innerHTML;
     headElementContent += '\
-        <link rel="canonical" href="' + currentURL + '">\
-        <link rel="alternate" data-bmap-devgroups="browser" hreflang="en" 
href="' + currentURL + '">\
-        <link rel="alternate" data-bmap-devgroups="browser" hreflang="de" 
href="' + currentURL + '">\
-        <link rel="alternate" data-bmap-devgroups="smartphone" hreflang="en" 
href="' + currentURL.replace('.html', '.smartphone.html') + '">\
+        <link rel="canonical" href="http://www.example.com/index.html";>\
+        <link rel="alternate" data-bmap-devgroups="browser" hreflang="en" 
href="http://www.example.com/index.html";>\
+        <link rel="alternate" data-bmap-devgroups="browser" hreflang="de" 
href="http://www.example.com/index.html";>\
+        <link rel="alternate" data-bmap-devgroups="smartphone" hreflang="en" 
href="http://www.example.com/index.smartphone.html";>\
         <meta name="browsermap.enabled" content="false">';
     headElement.innerHTML = headElementContent;
 });
@@ -86,7 +85,7 @@ test('url', function() {
     
deepEqual(BrowserMapUtil.Url.getSelectorsFromURL('http://www.example.com/index.html'),
 [], 'getSelectorsFromURL - no selectors');
     
strictEqual(BrowserMapUtil.Url.addSelectorsToURL('http://www.example.com/index.html',
 ['a', 'b']), 'http://www.example.com/index.a.b.html', 'addSelectorsToURL - two 
selectors');
     
strictEqual(BrowserMapUtil.Url.addSelectorsToURL('http://www.example.com/index.html',
 []), 'http://www.example.com/index.html', 'addSelectorsToURL - no selectors');
-    strictEqual(BrowserMapUtil.Url.getCanonicalURL(), window.location.href, 
'getCanonicalURL');
+    strictEqual(BrowserMapUtil.Url.getCanonicalURL(), 
'http://www.example.com/index.html', 'getCanonicalURL');
 });
 
 module('Array.indexOf polyfill');
@@ -96,18 +95,16 @@ test('Array.indexOf', function() {
 
 module('BrowserMap');
 test("getAllAlternateSites", function() {
-    var currentURL = window.location.href,
-        alternateSites = [
-            {href: currentURL, hreflang : 'en', devgroups : 'browser', id : 
''},
-            {href: currentURL, hreflang : 'de', devgroups : 'browser', id : 
''},
-            {href: window.location.href.replace(".html", ".smartphone.html"), 
hreflang : 'en', devgroups : 'smartphone', id : ''}
+    var alternateSites = [
+            {href: 'http://www.example.com/index.html', hreflang : 'en', 
devgroups : 'browser', id : ''},
+            {href: 'http://www.example.com/index.html', hreflang : 'de', 
devgroups : 'browser', id : ''},
+            {href: 'http://www.example.com/index.smartphone.html', hreflang : 
'en', devgroups : 'smartphone', id : ''}
         ];
     deepEqual(BrowserMap.getAllAlternateSites(), alternateSites);
 });
 test("getAlternateSite", function() {
     var filter = function(link) {return link.hreflang == 'de'};
-    var currentURL = window.location.href;
-    deepEqual(BrowserMap.getAlternateSite(['browser'], filter), {href: 
currentURL, hreflang : 'de', devgroups : 'browser', id : ''});
+    deepEqual(BrowserMap.getAlternateSite(['browser'], filter), {href: 
'http://www.example.com/index.html', hreflang : 'de', devgroups : 'browser', id 
: ''});
 });
 test("getDeviceGroupsInRankingOrder", function() {
     var expectedDgs = [
@@ -128,7 +125,8 @@ test("probe", function() {
     equal('number', typeof BrowserMap.probe('clientWidth'));
 });
 test("getNewURL", function() {
-    strictEqual(BrowserMap.getNewURL(window.location.href, ['smartphone'], 
['smartphone']), window.location.href.replace(".html", ".smartphone.html"));
+    strictEqual(BrowserMap.getNewURL('http://www.example.com/index.html', 
['smartphone'], ['smartphone']), 
'http://www.example.com/index.smartphone.html');
+    strictEqual(BrowserMap.getNewURL('http://www.example.com/index.html', 
['tablet'], ['tablet']), 'http://www.example.com/index.tablet.html');
 });
 test("isEnabled", function() {
     strictEqual(BrowserMap.isEnabled(), false);

Modified: incubator/devicemap/trunk/browsermap/trunk/src/test/karma.conf.js
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/browsermap/trunk/src/test/karma.conf.js?rev=1507787&r1=1507786&r2=1507787&view=diff
==============================================================================
--- incubator/devicemap/trunk/browsermap/trunk/src/test/karma.conf.js (original)
+++ incubator/devicemap/trunk/browsermap/trunk/src/test/karma.conf.js Sun Jul 
28 11:56:34 2013
@@ -53,7 +53,7 @@ junitReporter = {
 }
 
 // web server port
-port = 8081;
+port = 8080;
 
 
 // cli runner port


Reply via email to