xpcom/tests/TestArguments.cpp
author Doug Thayer <dothayer@mozilla.com>
Fri, 01 Mar 2019 18:29:09 +0000
changeset 520116 8b3fe0426ffc1b3a2ad044ef6cdde6c4f736f8e2
parent 507657 09c71a7cf75aeaf2963050e315276fb9a866fd62
permissions -rw-r--r--
Bug 1442694 - Fix failures due to removing selected tab r=Gijs This adds test which reproduce the failure as well as the fix. Essentially, if we hit the edited case in SessionStore with `tab` equal to `tabbrowser.tabs[t]`, we remove the tab and then try to pin it, which obviously blows up. Note: the additional method in SessionStore.jsm was largely to get around complexity requirements inside restoreWindow. Cleaner solutions welcome. Differential Revision: https://phabricator.services.mozilla.com/D21383

#include <string.h>

int main(int argc, char* argv[]) {
  if (argc != 9) return -1;

  if (strcmp("mozilla", argv[1]) != 0) return 1;
  if (strcmp("firefox", argv[2]) != 0) return 2;
  if (strcmp("thunderbird", argv[3]) != 0) return 3;
  if (strcmp("seamonkey", argv[4]) != 0) return 4;
  if (strcmp("foo", argv[5]) != 0) return 5;
  if (strcmp("bar", argv[6]) != 0) return 6;
  if (strcmp("argument with spaces", argv[7]) != 0) return 7;
  if (strcmp(R"("argument with quotes")", argv[8]) != 0) return 8;

  return 0;
}