Added hotkeys + updated dependencies & webpack5 + humanetech badge (#15)
* Added language & theme switch hotkeys * Hotkeys testing * Language switch when equal * Shortcut keys changed * Dependencies updated & upgraded to webpack5 * Added HumaneTech badge * Disabled FLoC
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import faker from "faker";
|
||||
import { replaceBoth, retrieveFiltered, CheckType, LangType } from "../../utils/language";
|
||||
import { languages, exceptions, mappings } from "../../utils/languages.json";
|
||||
|
||||
@@ -36,16 +35,13 @@ describe("replaceBoth", () => {
|
||||
});
|
||||
|
||||
describe("retrieveFiltered", () => {
|
||||
const filteredEntries = (langType: LangType, current: string) => (
|
||||
Object.entries(languages).filter(([code]) => !Object.keys(exceptions[langType]).includes(code) && code !== current)
|
||||
const filteredEntries = (langType: LangType) => (
|
||||
Object.entries(languages).filter(([code]) => !Object.keys(exceptions[langType]).includes(code))
|
||||
);
|
||||
|
||||
it("filters by exceptions & by opposite values", () => {
|
||||
const source = faker.random.locale();
|
||||
const target = faker.random.locale();
|
||||
|
||||
const { sourceLangs, targetLangs } = retrieveFiltered(source, target);
|
||||
expect(sourceLangs).toStrictEqual(filteredEntries("source", target));
|
||||
expect(targetLangs).toStrictEqual(filteredEntries("target", source));
|
||||
it("filters by exceptions", () => {
|
||||
const { sourceLangs, targetLangs } = retrieveFiltered();
|
||||
expect(sourceLangs).toStrictEqual(filteredEntries("source"));
|
||||
expect(targetLangs).toStrictEqual(filteredEntries("target"));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -32,6 +32,24 @@ it("changes all fields", () => {
|
||||
expect(res).toStrictEqual(state);
|
||||
});
|
||||
|
||||
it("switches target on source change", () => {
|
||||
const state = {
|
||||
...initialState,
|
||||
source: "es",
|
||||
target: "ca"
|
||||
};
|
||||
|
||||
const res = langReducer(state, {
|
||||
type: Actions.SET_FIELD,
|
||||
payload: {
|
||||
key: "source",
|
||||
value: state.target
|
||||
}
|
||||
});
|
||||
expect(res.source).toStrictEqual(state.target);
|
||||
expect(res.target).toStrictEqual(state.source);
|
||||
});
|
||||
|
||||
it("switches the languages & the translations", () => {
|
||||
const state = {
|
||||
...initialState,
|
||||
|
||||
Reference in New Issue
Block a user