appium-adb 14.1.11 → 14.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/build/lib/tools/keyboard-commands.d.ts +0 -1
- package/build/lib/tools/keyboard-commands.d.ts.map +1 -1
- package/build/lib/tools/keyboard-commands.js +5 -12
- package/build/lib/tools/keyboard-commands.js.map +1 -1
- package/lib/tools/keyboard-commands.ts +5 -15
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [14.2.0](https://github.com/appium/appium-adb/compare/v14.1.11...v14.2.0) (2026-02-01)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* allow single quotes and double quotes to coexist in inputText value ([#862](https://github.com/appium/appium-adb/issues/862)) ([2c8f3d2](https://github.com/appium/appium-adb/commit/2c8f3d2db8eb0f0bfc9e637c41fbe9c6e5719e9d))
|
|
6
|
+
|
|
1
7
|
## [14.1.11](https://github.com/appium/appium-adb/compare/v14.1.10...v14.1.11) (2026-01-28)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -64,7 +64,6 @@ export declare function defaultIME(this: ADB): Promise<string | null>;
|
|
|
64
64
|
* Noop if the text is empty.
|
|
65
65
|
*
|
|
66
66
|
* @param text - The actual text to be sent.
|
|
67
|
-
* @throws {Error} If it is impossible to escape the given string
|
|
68
67
|
*/
|
|
69
68
|
export declare function inputText(this: ADB, text: string | number): Promise<void>;
|
|
70
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard-commands.d.ts","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keyboard-commands.d.ts","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAK9C;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBxF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAY7E;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOhE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO9D;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWlE;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/E;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA6BjG"}
|
|
@@ -15,7 +15,6 @@ exports.defaultIME = defaultIME;
|
|
|
15
15
|
exports.inputText = inputText;
|
|
16
16
|
exports.runInImeContext = runInImeContext;
|
|
17
17
|
const logger_js_1 = require("../logger.js");
|
|
18
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
19
18
|
const asyncbox_1 = require("asyncbox");
|
|
20
19
|
const bluebird_1 = __importDefault(require("bluebird"));
|
|
21
20
|
const KEYCODE_ESC = 111;
|
|
@@ -157,24 +156,18 @@ async function defaultIME() {
|
|
|
157
156
|
* Noop if the text is empty.
|
|
158
157
|
*
|
|
159
158
|
* @param text - The actual text to be sent.
|
|
160
|
-
* @throws {Error} If it is impossible to escape the given string
|
|
161
159
|
*/
|
|
162
160
|
async function inputText(text) {
|
|
163
161
|
if (text === '') {
|
|
164
162
|
return;
|
|
165
163
|
}
|
|
166
164
|
const originalStr = `${text}`;
|
|
167
|
-
const escapedText = originalStr.replace(/\$/g, '\\$').replace(/ /g, '%s');
|
|
168
|
-
let args = ['input', 'text', originalStr];
|
|
169
165
|
// https://stackoverflow.com/questions/25791423/adb-shell-input-text-does-not-take-ampersand-character/25791498
|
|
170
|
-
const adbInputEscapePattern = /[()<>|;&*\\~^"']/g;
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
const q = originalStr.includes('"') ? `'` : '"';
|
|
176
|
-
args = [`input text ${q}${escapedText}${q}`];
|
|
177
|
-
}
|
|
166
|
+
const adbInputEscapePattern = /[()<>|;&*\\~^"'$`]/g;
|
|
167
|
+
const escapedText = originalStr.replace(adbInputEscapePattern, '\\$&').replace(/ /g, '%s');
|
|
168
|
+
// https://stackoverflow.com/questions/44338191/android-adb-shell-input-text-apostrophe-signal
|
|
169
|
+
const q = "''";
|
|
170
|
+
const args = ['input', 'text', `${q}${escapedText}${q}`];
|
|
178
171
|
await this.shell(args);
|
|
179
172
|
}
|
|
180
173
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard-commands.js","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"keyboard-commands.js","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {log} from '../logger.js';
|
|
2
|
-
import _ from 'lodash';
|
|
3
2
|
import {waitForCondition} from 'asyncbox';
|
|
4
3
|
import B from 'bluebird';
|
|
5
4
|
import type {ADB} from '../adb.js';
|
|
@@ -152,7 +151,6 @@ export async function defaultIME(this: ADB): Promise<string | null> {
|
|
|
152
151
|
* Noop if the text is empty.
|
|
153
152
|
*
|
|
154
153
|
* @param text - The actual text to be sent.
|
|
155
|
-
* @throws {Error} If it is impossible to escape the given string
|
|
156
154
|
*/
|
|
157
155
|
export async function inputText(this: ADB, text: string | number): Promise<void> {
|
|
158
156
|
if (text === '') {
|
|
@@ -160,19 +158,12 @@ export async function inputText(this: ADB, text: string | number): Promise<void>
|
|
|
160
158
|
}
|
|
161
159
|
|
|
162
160
|
const originalStr = `${text}`;
|
|
163
|
-
const escapedText = originalStr.replace(/\$/g, '\\$').replace(/ /g, '%s');
|
|
164
|
-
let args: string[] = ['input', 'text', originalStr];
|
|
165
161
|
// https://stackoverflow.com/questions/25791423/adb-shell-input-text-does-not-take-ampersand-character/25791498
|
|
166
|
-
const adbInputEscapePattern = /[()<>|;&*\\~^"']/g;
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
);
|
|
172
|
-
}
|
|
173
|
-
const q = originalStr.includes('"') ? `'` : '"';
|
|
174
|
-
args = [`input text ${q}${escapedText}${q}`];
|
|
175
|
-
}
|
|
162
|
+
const adbInputEscapePattern = /[()<>|;&*\\~^"'$`]/g;
|
|
163
|
+
const escapedText = originalStr.replace(adbInputEscapePattern, '\\$&').replace(/ /g, '%s');
|
|
164
|
+
// https://stackoverflow.com/questions/44338191/android-adb-shell-input-text-apostrophe-signal
|
|
165
|
+
const q = "''";
|
|
166
|
+
const args = ['input', 'text', `${q}${escapedText}${q}`];
|
|
176
167
|
await this.shell(args);
|
|
177
168
|
}
|
|
178
169
|
|
|
@@ -233,4 +224,3 @@ function getIMEListFromOutput(stdout: string): string[] {
|
|
|
233
224
|
}
|
|
234
225
|
|
|
235
226
|
// #endregion
|
|
236
|
-
|