Release v0.6.43: fix forwarded input and verify snippet pastes
This commit is contained in:
@@ -517,6 +517,24 @@ int main(int argc, char **argv)
|
||||
auto encoded = ks::encodeClip(clip);
|
||||
require(ks::decodeClip(encoded).text() == clip.text(), "clipboard Unicode roundtrip");
|
||||
require(ks::decodeClip(encoded).formats[1].name == L"HTML Format", "registered format identity");
|
||||
auto selection = ks::textClip(L";pa");
|
||||
selection.formats.push_back({0, L"vscode-editor-data", {1, 2, 3}});
|
||||
auto relayed = selection;
|
||||
relayed.formats.front().data.resize(128, 0xab);
|
||||
std::reverse(relayed.formats.begin(), relayed.formats.end());
|
||||
require(ks::selectionClipboardIdentity(selection) == ks::selectionClipboardIdentity(relayed),
|
||||
"clipboard relay tolerates Unicode allocation slack and format order");
|
||||
relayed.formats.front().data[0] ^= 1;
|
||||
require(ks::selectionClipboardIdentity(selection) != ks::selectionClipboardIdentity(relayed),
|
||||
"clipboard relay rejects changed editor metadata");
|
||||
relayed = selection;
|
||||
relayed.formats.pop_back();
|
||||
require(ks::selectionClipboardIdentity(selection) != ks::selectionClipboardIdentity(relayed),
|
||||
"clipboard relay rejects missing editor metadata");
|
||||
relayed = selection;
|
||||
relayed.formats.front() = ks::textClip(L";pb").formats.front();
|
||||
require(ks::selectionClipboardIdentity(selection) != ks::selectionClipboardIdentity(relayed),
|
||||
"clipboard relay rejects changed Unicode text");
|
||||
auto encrypted = ks::protect(encoded);
|
||||
require(encrypted != encoded, "history ciphertext differs");
|
||||
require(ks::unprotect(encrypted) == encoded, "Windows DPAPI roundtrip");
|
||||
|
||||
Reference in New Issue
Block a user