mirror of
https://github.com/osnr/TabFS.git
synced 2024-05-19 14:06:34 +02:00
extensions/*/enabled is readable (+ test that works)
This commit is contained in:
parent
e6f9ce7437
commit
35214c9698
|
@ -60,6 +60,14 @@ $ echo remove | tee -a mnt/tabs/by-title/*Stack_Overflow*/control
|
|||
$ cat mnt/tabs/by-id/*/text > text.txt
|
||||
```
|
||||
|
||||
### TODO: Reload an extension when you edit its source code
|
||||
|
||||
Making anohter extension?
|
||||
|
||||
SO post.
|
||||
|
||||
We can subsume that.
|
||||
|
||||
### TODO: Manage tabs in Emacs dired
|
||||
|
||||
I do this
|
||||
|
|
|
@ -326,6 +326,14 @@ router["/extensions"] = {
|
|||
return { entries: [".", "..", ...infos.map(info => `${sanitize(info.name)}_${info.id}`)] };
|
||||
}
|
||||
};
|
||||
router["/extensions/*/enabled"] = defineFile(async path => {
|
||||
const parts = pathComponent(path, -2).split('_'); const extensionId = parts[parts.length - 1];
|
||||
const info = await browser.management.get(extensionId);
|
||||
return String(info.enabled);
|
||||
|
||||
}, async (path, buf) => {
|
||||
await browser.management.setEnabled();
|
||||
});
|
||||
|
||||
// Ensure that there are routes for all ancestors. This algorithm is
|
||||
// probably not correct, but whatever. I also think it would be
|
||||
|
|
10
test.c
10
test.c
|
@ -6,6 +6,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <wordexp.h>
|
||||
|
||||
int file_contents_equal(char* path, char* contents) {
|
||||
// hehe: https://twitter.com/ianh_/status/1340450349065244675
|
||||
|
@ -14,12 +15,19 @@ int file_contents_equal(char* path, char* contents) {
|
|||
return system("[ \"$contents\" == \"$(cat \"$path\")\" ]") == 0;
|
||||
}
|
||||
|
||||
char* expand(char* phrase) {
|
||||
wordexp_t result; assert(wordexp(phrase, &result, 0) == 0);
|
||||
return result.we_wordv[0];
|
||||
}
|
||||
|
||||
// integration tests
|
||||
int main() {
|
||||
assert(system("echo about:blank > fs/mnt/tabs/create") == 0);
|
||||
assert(file_contents_equal("fs/mnt/tabs/last-focused/url", "about:blank"));
|
||||
assert(system("file fs/mnt/tabs/last-focused/screenshot.png") == 0);
|
||||
/* assert(system("file fs/mnt/tabs/last-focused/screenshot.png") == 0); */
|
||||
assert(system("echo remove > fs/mnt/tabs/last-focused/control") == 0);
|
||||
|
||||
assert(file_contents_equal(expand("fs/mnt/extensions/TabFS*/enabled"), "true"));
|
||||
|
||||
assert(1); printf("Done!\n");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue