{
  getCloseMatches,
  _countLeading,
  IS_LINE_JUNK,
  IS_CHARACTER_JUNK,
  _formatRangeUnified,
  unifiedDiff,
  _formatRangeContext
} = require '..'

suite 'global'

test '.getCloseMatches', ->
 getCloseMatches('appel', ['ape', 'apple', 'peach', 'puppy'])
   .should.eql ['apple', 'ape']
 
 KEYWORDS = require('coffee-script').RESERVED
 getCloseMatches('wheel', KEYWORDS).should.eql ['when', 'while']
 getCloseMatches('accost', KEYWORDS).should.eql ['const']

test '._countLeading', ->
  _countLeading('   abc', ' ').should.eql 3

test '.IS_LINE_JUNK', ->
  IS_LINE_JUNK('\n').should.be.true
  IS_LINE_JUNK('  #   \n').should.be.true
  IS_LINE_JUNK('hello\n').should.be.false

test '.IS_CHARACTER_JUNK', ->
  IS_CHARACTER_JUNK(' ').should.be.true
  IS_CHARACTER_JUNK('\t').should.be.true
  IS_CHARACTER_JUNK('\n').should.be.false
  IS_CHARACTER_JUNK('x').should.be.false

test '._formatRangeUnified', ->
  _formatRangeUnified(1, 2).should.eql '2'
  _formatRangeUnified(1, 3).should.eql '2,2'
  _formatRangeUnified(1, 4).should.eql '2,3'

test '.unifiedDiff', ->
  unifiedDiff('one two three four'.split(' '),
              'zero one tree four'.split(' '), {
                fromfile: 'Original'
                tofile: 'Current',
                fromfiledate: '2005-01-26 23:30:50',
                tofiledate: '2010-04-02 10:20:52',
                lineterm: ''
              }).should.eql [
    '--- Original\t2005-01-26 23:30:50',
    '+++ Current\t2010-04-02 10:20:52',
    '@@ -1,4 +1,4 @@',
    '+zero',
    ' one',
    '-two',
    '-three',
    '+tree',
    ' four'
  ]

test '._formatRangeContext', ->
  _formatRangeContext(1, 2).should.eql '2'
  _formatRangeContext(1, 3).should.eql '2,3'
  _formatRangeContext(1, 4).should.eql '2,4'
