forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* Any copyright is dedicated to the Public Domain.
 | 
						|
 * http://creativecommons.org/publicdomain/zero/1.0/
 | 
						|
 */
 | 
						|
"use strict";
 | 
						|
 | 
						|
// Cross-platform task scheduler tests.
 | 
						|
//
 | 
						|
// There's not much that can be done here without allowing the task to run, so this
 | 
						|
// only touches on the basics of argument checking. On platforms without a task
 | 
						|
// scheduler implementation, these interfaces currently do nothing else.
 | 
						|
 | 
						|
const { updateAppInfo } = ChromeUtils.importESModule(
 | 
						|
  "resource://testing-common/AppInfo.sys.mjs"
 | 
						|
);
 | 
						|
updateAppInfo();
 | 
						|
 | 
						|
const { TaskScheduler } = ChromeUtils.importESModule(
 | 
						|
  "resource://gre/modules/TaskScheduler.sys.mjs"
 | 
						|
);
 | 
						|
 | 
						|
registerCleanupFunction(async () => {
 | 
						|
  await TaskScheduler.deleteAllTasks();
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function test_gen() {
 | 
						|
  await TaskScheduler.registerTask(
 | 
						|
    "FOO",
 | 
						|
    "xyz",
 | 
						|
    TaskScheduler.MIN_INTERVAL_SECONDS,
 | 
						|
    {
 | 
						|
      disabled: true,
 | 
						|
    }
 | 
						|
  );
 | 
						|
 | 
						|
  Assert.equal(
 | 
						|
    await TaskScheduler.taskExists("FOO"),
 | 
						|
    true,
 | 
						|
    "Task should exist after we created it."
 | 
						|
  );
 | 
						|
 | 
						|
  await TaskScheduler.deleteTask("FOO");
 | 
						|
 | 
						|
  Assert.equal(
 | 
						|
    await TaskScheduler.taskExists("FOO"),
 | 
						|
    false,
 | 
						|
    "Task should not exist after we deleted it."
 | 
						|
  );
 | 
						|
 | 
						|
  await Assert.rejects(
 | 
						|
    TaskScheduler.registerTask("BAR", "123", 1, {
 | 
						|
      disabled: true,
 | 
						|
    }),
 | 
						|
    /Interval is too short/
 | 
						|
  );
 | 
						|
});
 |