mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
160 lines
5.8 KiB
TypeScript
160 lines
5.8 KiB
TypeScript
declare function assertAny(a:any):any;
|
|
declare function assertBoolean(b:boolean):any;
|
|
declare function assertString(s:string):any;
|
|
declare function assertRangyRange(r:RangyRange):any;
|
|
declare function getRangyRange():RangyRange;
|
|
|
|
type TextRange = any; // ?
|
|
|
|
function testRangyStatic() {
|
|
rangy.addInitListener((rangy:RangyStatic) => {
|
|
});
|
|
|
|
rangy.createMissingNativeApi();
|
|
rangy.shim();
|
|
|
|
let nativeRange:Range|TextRange = rangy.createNativeRange(document);
|
|
nativeRange = rangy.createNativeRange(window);
|
|
nativeRange = rangy.createNativeRange(new HTMLIFrameElement);
|
|
nativeRange = rangy.createNativeRange();
|
|
|
|
let rangyRange:RangyRange = rangy.createRange(document);
|
|
rangyRange = rangy.createRange(window);
|
|
rangyRange = rangy.createRange(new HTMLIFrameElement);
|
|
rangyRange = rangy.createRange();
|
|
|
|
rangyRange = rangy.createRangyRange(document);
|
|
rangyRange = rangy.createRangyRange(window);
|
|
rangyRange = rangy.createRangyRange(new HTMLIFrameElement);
|
|
rangyRange = rangy.createRangyRange();
|
|
|
|
let nativeSelection:Selection = rangy.getNativeSelection(window);
|
|
nativeSelection = rangy.getNativeSelection();
|
|
|
|
let rangySelection:RangySelection = rangy.getSelection();
|
|
|
|
let initialized:boolean = rangy.initialized;
|
|
let supported:boolean = rangy.supported;
|
|
}
|
|
|
|
function testRangyRange() {
|
|
let rangyRange:RangyRange = rangy.createRange();
|
|
|
|
assertBoolean(rangyRange.canSurroundContents());
|
|
rangyRange.collapseAfter(new Node);
|
|
rangyRange.collapseBefore(new Node);
|
|
rangyRange.collapseToPoint(new Node, 23);
|
|
assertAny(rangyRange.compareNode(new Node));
|
|
assertBoolean(rangyRange.containsNode(new Node, true));
|
|
assertBoolean(rangyRange.containsNodeContents(new Node));
|
|
assertBoolean(rangyRange.containsNodeText(new Node));
|
|
assertBoolean(rangyRange.containsNodeText(new Node));
|
|
assertBoolean(rangyRange.containsRange(rangyRange));
|
|
assertBoolean(rangyRange.equals(rangyRange));
|
|
let bookmark:{start:number, end:number} = rangyRange.getBookmark();
|
|
bookmark = rangyRange.getBookmark(new Node);
|
|
let doc:Document = rangyRange.getDocument();
|
|
let nodes:Node[] = rangyRange.getNodes();
|
|
nodes = rangyRange.getNodes([new Node]);
|
|
nodes = rangyRange.getNodes([new Node], (node:Node) => true);
|
|
assertString(rangyRange.inspect());
|
|
assertRangyRange(rangyRange.intersection(rangyRange));
|
|
assertBoolean(rangyRange.intersectsOrTouchesRange(rangyRange));
|
|
assertBoolean(rangyRange.intersectsRange(rangyRange));
|
|
assertBoolean(rangyRange.isValid());
|
|
rangyRange.moveToBookmark({});
|
|
rangyRange.normalizeBoundaries();
|
|
rangyRange.refresh();
|
|
rangyRange.select();
|
|
rangyRange.setStartAndEnd(new Node, 23);
|
|
rangyRange.setStartAndEnd(new Node, 23, 42);
|
|
rangyRange.setStartAndEnd(new Node, 23, new Node, 42);
|
|
rangyRange.splitBoundaries();
|
|
assertString(rangyRange.toHtml());
|
|
assertRangyRange(rangyRange.union(rangyRange));
|
|
let characterRange: { start: number, end: number } = rangyRange.toCharacterRange(new Node);
|
|
let characterRange2: { start: number, end: number } = rangyRange.toCharacterRange(new Node, {})
|
|
}
|
|
|
|
function testSelection() {
|
|
let selection:RangySelection = rangy.getSelection();
|
|
|
|
selection.detach();
|
|
let ranges:RangyRange[] = selection.getAllRanges();
|
|
let range:RangyRange = selection.getRangeAt(0);
|
|
selection.getBookmark(new Node);
|
|
let nativeTextRange:TextRange = selection.getNativeTextRange();
|
|
assertString(selection.inspect());
|
|
assertBoolean(selection.isBackwards());
|
|
selection.moveToBookmark({});
|
|
var nativeSelection:Selection = selection.nativeSelection;
|
|
selection.refresh();
|
|
selection.refresh(true);
|
|
selection.restoreRanges({});
|
|
var object:Object = selection.saveRanges();
|
|
selection.setRanges(ranges);
|
|
selection.setSingleRange(getRangyRange());
|
|
assertString(selection.toHtml());
|
|
var node:Node = new Node();
|
|
object = selection.saveCharacterRanges(node, {});
|
|
selection.restoreCharacterRanges(node, object, {});
|
|
assertString(selection.toHtml());
|
|
let moved: number = selection.move('character', 1, {});
|
|
}
|
|
|
|
|
|
function testRangyClassApplier() {
|
|
function elementCreateFunction(element: Element, classApplier: RangyClassApplier): number {
|
|
return 1;
|
|
}
|
|
|
|
let options: RangyClassApplierOptions = {
|
|
elementTagName: 'span',
|
|
elementProperties: {
|
|
name: 'test-name',
|
|
disabled: 'true'
|
|
},
|
|
elementAttributes: {
|
|
id: 'test-id',
|
|
type: 'test-type'
|
|
},
|
|
ignoreWhiteSpace: false,
|
|
applyToEditableOnly: true,
|
|
tagNames: ["span", "b", "strong", "a"],
|
|
normalize: false,
|
|
onElementCreate: elementCreateFunction,
|
|
useExistingElements: false
|
|
};
|
|
|
|
let options2: RangyClassApplierOptions = {
|
|
tagNames: 'span, b, strong, a'
|
|
};
|
|
|
|
let classApplier: RangyClassApplier;
|
|
classApplier = rangy.createClassApplier('test', options, ['test1', 'test2']);
|
|
classApplier = rangy.createClassApplier('test', options, 'test1, test2');
|
|
|
|
let rangyRange: RangyRange = rangy.createRange();
|
|
|
|
classApplier.applyToSelection();
|
|
classApplier.applyToSelection(window);
|
|
classApplier.undoToSelection();
|
|
classApplier.undoToSelection(window);
|
|
assertBoolean(classApplier.isAppliedToSelection());
|
|
assertBoolean(classApplier.isAppliedToSelection(window));
|
|
classApplier.toggleSelection();
|
|
classApplier.toggleSelection(window);
|
|
classApplier.applyToRange(rangyRange);
|
|
classApplier.undoToRange(rangyRange);
|
|
assertBoolean(classApplier.isAppliedToRange(rangyRange));
|
|
classApplier.toggleRange(rangyRange);
|
|
classApplier.detach(document);
|
|
classApplier.detach(window);
|
|
classApplier.detach(new HTMLIFrameElement);
|
|
classApplier.detach();
|
|
|
|
let className: string = classApplier.className;
|
|
className = classApplier.cssClass;
|
|
|
|
}
|