forked from mirrors/gecko-dev
		
	# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D36056 --HG-- extra : source : 2616392f26053ee376b9126fbca696de5d4bb15b
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var InlineSpellChecker;
 | 
						|
var SpellCheckHelper;
 | 
						|
 | 
						|
function test() {
 | 
						|
  let tempScope = {};
 | 
						|
  ChromeUtils.import(
 | 
						|
    "resource://gre/modules/InlineSpellChecker.jsm",
 | 
						|
    tempScope
 | 
						|
  );
 | 
						|
  InlineSpellChecker = tempScope.InlineSpellChecker;
 | 
						|
  SpellCheckHelper = tempScope.SpellCheckHelper;
 | 
						|
 | 
						|
  ok(InlineSpellChecker, "InlineSpellChecker class exists");
 | 
						|
  for (var fname in tests) {
 | 
						|
    tests[fname]();
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
var tests = {
 | 
						|
  testFlagsForInputs() {
 | 
						|
    const HTML_NS = "http://www.w3.org/1999/xhtml";
 | 
						|
    const {
 | 
						|
      INPUT,
 | 
						|
      EDITABLE,
 | 
						|
      TEXTINPUT,
 | 
						|
      NUMERIC,
 | 
						|
      PASSWORD,
 | 
						|
      SPELLCHECKABLE,
 | 
						|
    } = SpellCheckHelper;
 | 
						|
    const kExpectedResults = {
 | 
						|
      text: INPUT | EDITABLE | TEXTINPUT | SPELLCHECKABLE,
 | 
						|
      password: INPUT | EDITABLE | TEXTINPUT | PASSWORD,
 | 
						|
      search: INPUT | EDITABLE | TEXTINPUT | SPELLCHECKABLE,
 | 
						|
      url: INPUT | EDITABLE | TEXTINPUT,
 | 
						|
      tel: INPUT | EDITABLE | TEXTINPUT,
 | 
						|
      email: INPUT | EDITABLE | TEXTINPUT,
 | 
						|
      number: INPUT | EDITABLE | TEXTINPUT | NUMERIC,
 | 
						|
      checkbox: INPUT,
 | 
						|
      radio: INPUT,
 | 
						|
    };
 | 
						|
 | 
						|
    for (let [type, expectedFlags] of Object.entries(kExpectedResults)) {
 | 
						|
      let input = document.createElementNS(HTML_NS, "input");
 | 
						|
      input.type = type;
 | 
						|
      let actualFlags = SpellCheckHelper.isEditable(input, window);
 | 
						|
      is(
 | 
						|
        actualFlags,
 | 
						|
        expectedFlags,
 | 
						|
        `For input type "${type}" expected flags ${"0x" +
 | 
						|
          expectedFlags.toString(16)}; ` +
 | 
						|
          `got ${"0x" + actualFlags.toString(16)}`
 | 
						|
      );
 | 
						|
    }
 | 
						|
  },
 | 
						|
};
 |