Skip to content

Commit 6fa199a

Browse files
authored
Merge pull request #10 from JasonHonKL/dev/roadmap
Dev/roadmap
2 parents 903c04b + c0d75f2 commit 6fa199a

3 files changed

Lines changed: 42 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,13 @@ jobs:
2929
if: runner.os == 'Linux'
3030
run: |
3131
sudo apt-get update
32-
sudo apt-get install -y --no-install-recommends libssl-dev pkg-config
32+
sudo apt-get install -y --no-install-recommends libssl-dev pkg-config libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev libsoup-3.0-dev
33+
34+
- name: Install LLVM (macOS)
35+
if: runner.os == 'macOS'
36+
run: brew install llvm
3337

3438
- name: Run tests
39+
env:
40+
LIBCLANG_PATH: ${{ runner.os == 'macOS' && '/opt/homebrew/opt/llvm/lib' || '' }}
3541
run: cargo test --all-features

crates/pardus-core/src/js/bootstrap.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,40 @@ class Element {
335335
contains(token) {
336336
return self.className.split(/\s+/).includes(token);
337337
},
338+
replace(oldToken, newToken) {
339+
const current = self.className.split(/\s+/).filter(s => s);
340+
const idx = current.indexOf(oldToken);
341+
if (idx < 0) return false;
342+
current[idx] = newToken;
343+
self.className = current.join(' ');
344+
return true;
345+
},
346+
item(index) {
347+
const current = self.className.split(/\s+/).filter(s => s);
348+
return current[index] || null;
349+
},
350+
forEach(callback, thisArg) {
351+
const current = self.className.split(/\s+/).filter(s => s);
352+
current.forEach(callback, thisArg);
353+
},
354+
toString() {
355+
return self.className;
356+
},
338357
get length() {
339358
return self.className.split(/\s+/).filter(s => s).length;
359+
},
360+
[Symbol.iterator]() {
361+
const current = self.className.split(/\s+/).filter(s => s);
362+
return current[Symbol.iterator]();
363+
},
364+
values() {
365+
return self.className.split(/\s+/).filter(s => s).values();
366+
},
367+
keys() {
368+
return self.className.split(/\s+/).filter(s => s).keys();
369+
},
370+
entries() {
371+
return self.className.split(/\s+/).filter(s => s).entries();
340372
}
341373
};
342374
}

crates/pardus-core/src/js/bootstrap_readonly.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ class Element {
120120
const self = this;
121121
return {
122122
add() {}, remove() {}, toggle() { return false; }, contains(c) { return self.className.split(" ").includes(c); },
123+
replace() { return false; }, item(i) { return null; }, forEach() {}, toString() { return self.className; },
124+
values() { return [].values(); }, keys() { return [].keys(); }, entries() { return [].entries(); },
125+
[Symbol.iterator]() { return [][Symbol.iterator](); },
123126
get length() { return self.className.split(" ").filter(Boolean).length; },
124127
};
125128
}

0 commit comments

Comments
 (0)