Code Duplication    Length = 38-42 lines in 2 locations

public/lib/CodeMirror/test/vim_test.js 2 locations

@@ 2658-2699 (lines=42) @@
2655
  });
2656
  helpers.doKeys(':');
2657
}, {value: ''});
2658
testVim('search_history', function(cm, vim, helpers) {
2659
  cm.openDialog = helpers.fakeOpenDialog('this');
2660
  helpers.doKeys('/');
2661
  cm.openDialog = helpers.fakeOpenDialog('checks');
2662
  helpers.doKeys('/');
2663
  cm.openDialog = helpers.fakeOpenDialog('search');
2664
  helpers.doKeys('/');
2665
  cm.openDialog = helpers.fakeOpenDialog('history');
2666
  helpers.doKeys('/');
2667
  cm.openDialog = helpers.fakeOpenDialog('checks');
2668
  helpers.doKeys('/');
2669
  var onKeyDown;
2670
  var onKeyUp;
2671
  var query = '';
2672
  var keyCodes = {
2673
    Up: 38,
2674
    Down: 40
2675
  };
2676
  cm.openDialog = function(template, callback, options) {
2677
    onKeyUp = options.onKeyUp;
2678
    onKeyDown = options.onKeyDown;
2679
  };
2680
  var close = function(newVal) {
2681
    if (typeof newVal == 'string') query = newVal;
2682
  }
2683
  helpers.doKeys('/');
2684
  onKeyDown({keyCode: keyCodes.Up}, query, close);
2685
  onKeyUp({keyCode: keyCodes.Up}, query, close);
2686
  eq(query, 'checks');
2687
  onKeyDown({keyCode: keyCodes.Up}, query, close);
2688
  onKeyUp({keyCode: keyCodes.Up}, query, close);
2689
  eq(query, 'history');
2690
  onKeyDown({keyCode: keyCodes.Up}, query, close);
2691
  onKeyUp({keyCode: keyCodes.Up}, query, close);
2692
  eq(query, 'search');
2693
  onKeyDown({keyCode: keyCodes.Up}, query, close);
2694
  onKeyUp({keyCode: keyCodes.Up}, query, close);
2695
  eq(query, 'this');
2696
  onKeyDown({keyCode: keyCodes.Down}, query, close);
2697
  onKeyUp({keyCode: keyCodes.Down}, query, close);
2698
  eq(query, 'search');
2699
}, {value: ''});
2700
testVim('exCommand_history', function(cm, vim, helpers) {
2701
  cm.openDialog = helpers.fakeOpenDialog('registers');
2702
  helpers.doKeys(':');
@@ 2700-2737 (lines=38) @@
2697
  onKeyUp({keyCode: keyCodes.Down}, query, close);
2698
  eq(query, 'search');
2699
}, {value: ''});
2700
testVim('exCommand_history', function(cm, vim, helpers) {
2701
  cm.openDialog = helpers.fakeOpenDialog('registers');
2702
  helpers.doKeys(':');
2703
  cm.openDialog = helpers.fakeOpenDialog('sort');
2704
  helpers.doKeys(':');
2705
  cm.openDialog = helpers.fakeOpenDialog('map');
2706
  helpers.doKeys(':');
2707
  cm.openDialog = helpers.fakeOpenDialog('invalid');
2708
  helpers.doKeys(':');
2709
  var onKeyDown;
2710
  var onKeyUp;
2711
  var input = '';
2712
  var keyCodes = {
2713
    Up: 38,
2714
    Down: 40,
2715
    s: 115
2716
  };
2717
  cm.openDialog = function(template, callback, options) {
2718
    onKeyUp = options.onKeyUp;
2719
    onKeyDown = options.onKeyDown;
2720
  };
2721
  var close = function(newVal) {
2722
    if (typeof newVal == 'string') input = newVal;
2723
  }
2724
  helpers.doKeys(':');
2725
  onKeyDown({keyCode: keyCodes.Up}, input, close);
2726
  eq(input, 'invalid');
2727
  onKeyDown({keyCode: keyCodes.Up}, input, close);
2728
  eq(input, 'map');
2729
  onKeyDown({keyCode: keyCodes.Up}, input, close);
2730
  eq(input, 'sort');
2731
  onKeyDown({keyCode: keyCodes.Up}, input, close);
2732
  eq(input, 'registers');
2733
  onKeyDown({keyCode: keyCodes.s}, '', close);
2734
  input = 's';
2735
  onKeyDown({keyCode: keyCodes.Up}, input, close);
2736
  eq(input, 'sort');
2737
}, {value: ''});
2738
testVim('search_clear', function(cm, vim, helpers) {
2739
  var onKeyDown;
2740
  var input = '';