File: Speedtest.dart

package info (click to toggle)
qt6-webengine 6.10.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,671,016 kB
  • sloc: cpp: 22,197,192; ansic: 7,781,909; javascript: 3,732,826; asm: 884,326; python: 854,764; xml: 640,231; java: 234,410; sh: 105,601; objc: 99,884; perl: 72,440; cs: 49,062; sql: 44,944; makefile: 25,638; fortran: 24,137; pascal: 23,962; tcl: 9,609; yacc: 8,631; php: 6,473; lisp: 4,674; lex: 1,327; ruby: 914; awk: 339; csh: 120; sed: 36
file content (38 lines) | stat: -rw-r--r-- 1,262 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import 'dart:html';
import '../DiffMatchPatch.dart';

// Compile with:
// dart2js -O4 --out=Speedtest.dart.js Speedtest.dart

void launch(Event e) {
  HtmlElement input1 = document.getElementById('text1');
  HtmlElement input2 = document.getElementById('text2');
  String text1 = input1.text;
  String text2 = input2.text;

  DiffMatchPatch dmp = new DiffMatchPatch();
  dmp.Diff_Timeout = 0.0;

  // No warmup loop since it risks triggering an 'unresponsive script' dialog.
  DateTime date_start = new DateTime.now();
  List<Diff> d = dmp.diff_main(text1, text2, false);
  DateTime date_end = new DateTime.now();

  var ds = dmp.diff_prettyHtml(d);
  document.getElementById('outputdiv').setInnerHtml(
      '$ds<BR>Time: ${date_end.difference(date_start)} (h:mm:ss.mmm)',
      validator: new TrustedNodeValidator());
}

void main() {
  document.getElementById('launch').addEventListener('click', launch);
  document.getElementById('outputdiv').setInnerHtml('');
}

/// A NodeValidator which allows any contents.
/// The default validator strips 'style' attributes.
class TrustedNodeValidator implements NodeValidator {
  bool allowsElement(Element element) => true;
  bool allowsAttribute(Element element, String attributeName, String value)
      => true;
}