mirror of
https://github.com/osnr/TabFS.git
synced 2024-06-10 09:52:21 +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
|
$ 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
|
### TODO: Manage tabs in Emacs dired
|
||||||
|
|
||||||
I do this
|
I do this
|
||||||
|
|
|
@ -326,6 +326,14 @@ router["/extensions"] = {
|
||||||
return { entries: [".", "..", ...infos.map(info => `${sanitize(info.name)}_${info.id}`)] };
|
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
|
// Ensure that there are routes for all ancestors. This algorithm is
|
||||||
// probably not correct, but whatever. I also think it would be
|
// 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 <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <wordexp.h>
|
||||||
|
|
||||||
int file_contents_equal(char* path, char* contents) {
|
int file_contents_equal(char* path, char* contents) {
|
||||||
// hehe: https://twitter.com/ianh_/status/1340450349065244675
|
// 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;
|
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
|
// integration tests
|
||||||
int main() {
|
int main() {
|
||||||
assert(system("echo about:blank > fs/mnt/tabs/create") == 0);
|
assert(system("echo about:blank > fs/mnt/tabs/create") == 0);
|
||||||
assert(file_contents_equal("fs/mnt/tabs/last-focused/url", "about:blank"));
|
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(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");
|
assert(1); printf("Done!\n");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue