From 1880ebb50f1251489ec7fffe155b4e7cc1856471 Mon Sep 17 00:00:00 2001 From: Farid Neshat Date: Wed, 12 Mar 2014 20:44:15 +0800 Subject: [PATCH] Fix ConfigParser.getPreference error + tests Was getting the following error: ReferenceError: a is not defined at Object.ConfigParser.getPreference (/home/alfred/repos/cordova-cli/src/ConfigParser.js:88:23) --- spec/ConfigParser.spec.js | 8 ++++++++ src/ConfigParser.js | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/spec/ConfigParser.spec.js b/spec/ConfigParser.spec.js index da05ef850..1faec88b2 100644 --- a/spec/ConfigParser.spec.js +++ b/spec/ConfigParser.spec.js @@ -72,5 +72,13 @@ describe('config.xml parser', function () { expect(cfg.name()).toEqual('this.is.bat.country'); }); }); + describe('preference', function() { + it('should get value of existing preference', function() { + expect(cfg.getPreference('fullscreen')).toEqual('true'); + }); + it('should get undefined as non existing preference', function() { + expect(cfg.getPreference('zimzooo!')).toEqual(undefined); + }); + }); }); }); diff --git a/src/ConfigParser.js b/src/ConfigParser.js index eae230b71..36adc0c2d 100644 --- a/src/ConfigParser.js +++ b/src/ConfigParser.js @@ -82,12 +82,12 @@ ConfigParser.prototype = { getPreference: function(name) { var preferences = this.doc.findall('preference'); var ret = null; - for (var i = 0, ii = preferences.length; i < ii; ++i) { + preferences.forEach(function (preference) { // Take the last one that matches. - if (preferences[i].attrib.name.toLowerCase() === name) { - ret = a.attrib.value; + if (preference.attrib.name.toLowerCase() === name) { + ret = preference.attrib.value; } - } + }); return ret; }, write:function() {