forked from mirrors/gecko-dev
		
	Differential Revision: https://phabricator.services.mozilla.com/D45629 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
// These match what we add to IE via InsertIEHistory.exe.
 | 
						|
const TEST_ENTRIES = [
 | 
						|
  {
 | 
						|
    url: "http://www.mozilla.org/1",
 | 
						|
    title: "Mozilla HTTP Test",
 | 
						|
  },
 | 
						|
  {
 | 
						|
    url: "https://www.mozilla.org/2",
 | 
						|
    // Test character encoding with a fox emoji:
 | 
						|
    title: "Mozilla HTTPS Test 🦊",
 | 
						|
  },
 | 
						|
];
 | 
						|
 | 
						|
function insertIEHistory() {
 | 
						|
  let file = do_get_file("InsertIEHistory.exe", false);
 | 
						|
  let process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
 | 
						|
  process.init(file);
 | 
						|
 | 
						|
  let args = [];
 | 
						|
  process.run(true, args, args.length);
 | 
						|
 | 
						|
  Assert.ok(!process.isRunning, "Should be done running");
 | 
						|
  Assert.equal(process.exitValue, 0, "Check exit code");
 | 
						|
}
 | 
						|
 | 
						|
add_task(async function setup() {
 | 
						|
  await PlacesUtils.history.clear();
 | 
						|
 | 
						|
  insertIEHistory();
 | 
						|
 | 
						|
  registerCleanupFunction(async () => {
 | 
						|
    await PlacesUtils.history.clear();
 | 
						|
  });
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function test_IE_history() {
 | 
						|
  let migrator = await MigrationUtils.getMigrator("ie");
 | 
						|
  Assert.ok(await migrator.isSourceAvailable(), "Source is available");
 | 
						|
 | 
						|
  await promiseMigration(migrator, MigrationUtils.resourceTypes.HISTORY);
 | 
						|
 | 
						|
  for (let { url, title } of TEST_ENTRIES) {
 | 
						|
    let entry = await PlacesUtils.history.fetch(url, { includeVisits: true });
 | 
						|
    Assert.equal(entry.url, url, "Should have the correct URL");
 | 
						|
    Assert.equal(entry.title, title, "Should have the correct title");
 | 
						|
    Assert.ok(!!entry.visits.length, "Should have some visits");
 | 
						|
  }
 | 
						|
});
 |