feat: add displayLang test (#5495)
* feat(e2e): add language extension to setup This adds a slimmed-down version of the Spanish Language Pack and also adds a `languagepacks.json` to the e2e `workspaceDir` which allows use to run a test suite passing the `--locale es` flags to simulate a different display language. * feat: add e2e test for display language patch This tests loading code-server in Spanish using the `--locale` flag. * fixup!: use JSON.stringify for readability * fixup!: add comment about langaugepacks temp fix * fixup!: slim down translations * fixup!: slim down package.json for lang. ext
This commit is contained in:
parent
f9bfd58cf4
commit
8a227d9fa1
14
test/e2e/displayLang.test.ts
Normal file
14
test/e2e/displayLang.test.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import * as path from "path"
|
||||||
|
import { describe, test, expect } from "./baseFixture"
|
||||||
|
|
||||||
|
// Given a code-server environment with Spanish Language Pack extension installed
|
||||||
|
// and a languagepacks.json in the data-dir
|
||||||
|
describe("--locale es", ["--extensions-dir", path.join(__dirname, "./extensions"), "--locale", "es"], {}, () => {
|
||||||
|
test("should load code-server in Spanish", async ({ codeServerPage }) => {
|
||||||
|
// When
|
||||||
|
const visible = await codeServerPage.page.isVisible("text=Explorador")
|
||||||
|
|
||||||
|
// Then
|
||||||
|
expect(visible).toBe(true)
|
||||||
|
})
|
||||||
|
})
|
@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"name": "vscode-language-pack-es",
|
||||||
|
"displayName": "Spanish Language Pack for Visual Studio Code",
|
||||||
|
"description": "Language pack extension for Spanish",
|
||||||
|
"version": "1.70.0",
|
||||||
|
"publisher": "MS-CEINTL",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Microsoft/vscode-loc"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"vscode": "^1.70.0"
|
||||||
|
},
|
||||||
|
"categories": [
|
||||||
|
"Language Packs"
|
||||||
|
],
|
||||||
|
"contributes": {
|
||||||
|
"localizations": [
|
||||||
|
{
|
||||||
|
"languageId": "es",
|
||||||
|
"languageName": "Spanish",
|
||||||
|
"localizedLanguageName": "español",
|
||||||
|
"translations": [
|
||||||
|
{
|
||||||
|
"id": "vscode",
|
||||||
|
"path": "./translations/main.i18n.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"": [
|
||||||
|
"--------------------------------------------------------------------------------------------",
|
||||||
|
"Copyright (c) Microsoft Corporation. All rights reserved.",
|
||||||
|
"Licensed under the MIT License. See License.txt in the project root for license information.",
|
||||||
|
"--------------------------------------------------------------------------------------------",
|
||||||
|
"Do not edit this file. It is machine generated."
|
||||||
|
],
|
||||||
|
"version": "1.0.0",
|
||||||
|
"contents": {
|
||||||
|
"vs/workbench/contrib/files/browser/explorerViewlet": {
|
||||||
|
"explore": "Explorador"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -88,6 +88,30 @@ export class CodeServer {
|
|||||||
}),
|
}),
|
||||||
"utf8",
|
"utf8",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const extensionsDir = path.join(__dirname, "../extensions")
|
||||||
|
const languagepacksContent = {
|
||||||
|
es: {
|
||||||
|
hash: "8d919a946475223861fa0c62665a4c50",
|
||||||
|
extensions: [
|
||||||
|
{
|
||||||
|
extensionIdentifier: {
|
||||||
|
id: "ms-ceintl.vscode-language-pack-es",
|
||||||
|
uuid: "47e020a1-33db-4cc0-a1b4-42f97781749a",
|
||||||
|
},
|
||||||
|
version: "1.70.0",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
translations: {
|
||||||
|
vscode: `${extensionsDir}/ms-ceintl.vscode-language-pack-es-1.70.0/translations/main.i18n.json`,
|
||||||
|
},
|
||||||
|
label: "español",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOTE@jsjoeio - code-server should automatically generate the languagepacks.json for
|
||||||
|
// using different display languages. This is a temporary workaround until we fix that.
|
||||||
|
await fs.writeFile(path.join(dir, "languagepacks.json"), JSON.stringify(languagepacksContent))
|
||||||
return dir
|
return dir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user