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