mirror of
https://github.com/appium/appium.git
synced 2026-02-13 21:39:49 -06:00
Merge pull request #3333 from jdeff/fix_localizable_strings_issue
Fix for #3325. localizableStrings is no longer an array
This commit is contained in:
@@ -256,8 +256,8 @@ iOSController.getLocalizedStringForSelector = function (selector) {
|
||||
var newSelector = selector;
|
||||
|
||||
var strings = this.localizableStrings;
|
||||
if (strings && strings.length >= 1) {
|
||||
var localizedSelector = strings[0][selector];
|
||||
if (strings) {
|
||||
var localizedSelector = strings[selector];
|
||||
if (localizedSelector) {
|
||||
newSelector = localizedSelector;
|
||||
} else {
|
||||
|
||||
BIN
test/fixtures/localization_tests/StubApp.app/en.lproj/InfoPlist.strings
vendored
Normal file
BIN
test/fixtures/localization_tests/StubApp.app/en.lproj/InfoPlist.strings
vendored
Normal file
Binary file not shown.
BIN
test/fixtures/localization_tests/StubApp.app/en.lproj/Localizable.strings
vendored
Normal file
BIN
test/fixtures/localization_tests/StubApp.app/en.lproj/Localizable.strings
vendored
Normal file
Binary file not shown.
@@ -41,7 +41,7 @@ describe('ios-controller', function () {
|
||||
});
|
||||
describe('when there are localizableStrings', function () {
|
||||
beforeEach(function () {
|
||||
var locString = [{'someSelector': 'localSelector'}];
|
||||
var locString = {'someSelector': 'localSelector'};
|
||||
controller.localizableStrings = locString;
|
||||
});
|
||||
afterEach(function () {
|
||||
|
||||
66
test/unit/ios-device-specs.js
Normal file
66
test/unit/ios-device-specs.js
Normal file
@@ -0,0 +1,66 @@
|
||||
// Run with mocha by installing dev deps: npm install --dev
|
||||
// more docs on writing tests with mocha can be found here:
|
||||
// http://visionmedia.github.com/mocha/
|
||||
"use strict";
|
||||
|
||||
require('chai');
|
||||
|
||||
var path = require('path')
|
||||
, _ = require('underscore')
|
||||
, IOS = require('../../lib/devices/ios/ios.js');
|
||||
|
||||
describe('IOS', function () {
|
||||
var device;
|
||||
|
||||
beforeEach(function () {
|
||||
device = new IOS();
|
||||
});
|
||||
|
||||
describe('#proxy()', function () {
|
||||
beforeEach(function () {
|
||||
// we'd like to test ios.proxy; mock instruments
|
||||
device.commandProxy = {};
|
||||
device.commandProxy.sendCommand = function (cmd, cb) {
|
||||
// let's pretend we've got some latency here.
|
||||
var to = Math.round(Math.random() * 10);
|
||||
setTimeout(function () { cb([cmd, to]); }, to);
|
||||
};
|
||||
});
|
||||
|
||||
return it('should execute one command at a time keeping the seq right', function (done) {
|
||||
var intercept = []
|
||||
, iterations = 100
|
||||
, check = function (err, result) {
|
||||
intercept.push(result);
|
||||
if (intercept.length >= iterations) {
|
||||
for (var x = 0; x < iterations; x++) {
|
||||
intercept[x][0].should.equal('' + x);
|
||||
}
|
||||
done();
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < iterations; i++) {
|
||||
device.proxy("" + i, check);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe('#parseLocalizableStrings()', function () {
|
||||
var stubApp = path.resolve(__dirname, '../fixtures/localization_tests/StubApp.app');
|
||||
|
||||
beforeEach(function () {
|
||||
_.extend(device.args, {
|
||||
language : 'en'
|
||||
, app : stubApp
|
||||
});
|
||||
});
|
||||
|
||||
it('should return a dictionary', function (done) {
|
||||
device.parseLocalizableStrings(function () {
|
||||
device.localizableStrings.should.eql({ 'main.button.computeSum' : 'Compute Sum' });
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -6,45 +6,14 @@
|
||||
var chai = require('chai')
|
||||
, should = chai.should()
|
||||
, getAppium = require('../../lib/appium.js')
|
||||
, path = require('path')
|
||||
, mock = require('../helpers/mock.js')
|
||||
, IOS = require('../../lib/devices/ios/ios.js');
|
||||
, IOS = require('../../lib/devices/ios/ios.js')
|
||||
, path = require('path');
|
||||
|
||||
mock.noop(IOS.prototype, 'start');
|
||||
mock.noop(IOS.prototype, 'stop');
|
||||
mock.noop(IOS.prototype, 'configureApp');
|
||||
|
||||
describe('IOS', function () {
|
||||
// we'd like to test ios.proxy; mock instruments
|
||||
var inst = new IOS({});
|
||||
inst.commandProxy = {};
|
||||
inst.commandProxy.sendCommand = function (cmd, cb) {
|
||||
// let's pretend we've got some latency here.
|
||||
var to = Math.round(Math.random() * 10);
|
||||
setTimeout(function () { cb([cmd, to]); }, to);
|
||||
};
|
||||
|
||||
describe('#proxy()', function () {
|
||||
return it('should execute one command at a time keeping the seq right', function (done) {
|
||||
var intercept = []
|
||||
, iterations = 100
|
||||
, check = function (err, result) {
|
||||
intercept.push(result);
|
||||
if (intercept.length >= iterations) {
|
||||
for (var x = 0; x < iterations; x++) {
|
||||
intercept[x][0].should.equal('' + x);
|
||||
}
|
||||
done();
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < iterations; i++) {
|
||||
inst.proxy("" + i, check);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('Appium', function () {
|
||||
var intercept = []
|
||||
, logPath = path.resolve(__dirname, "../../../appium.log")
|
||||
|
||||
Reference in New Issue
Block a user