var tap = require("tap")
  , test = tap.test
  , semver = require("./semver.js")
  , eq = semver.eq
  , gt = semver.gt
  , lt = semver.lt
  , neq = semver.neq
  , cmp = semver.cmp
  , gte = semver.gte
  , lte = semver.lte
  , satisfies = semver.satisfies
  , validRange = semver.validRange
  , inc = semver.inc
  , replaceStars = semver.replaceStars
  , toComparators = semver.toComparators

tap.plan(8)

test("\ncomparison tests", function (t) {
; [ ["0.0.0", "0.0.0foo"]
  , ["0.0.1", "0.0.0"]
  , ["1.0.0", "0.9.9"]
  , ["0.10.0", "0.9.0"]
  , ["0.99.0", "0.10.0"]
  , ["2.0.0", "1.2.3"]
  , ["v0.0.0", "0.0.0foo"]
  , ["v0.0.1", "0.0.0"]
  , ["v1.0.0", "0.9.9"]
  , ["v0.10.0", "0.9.0"]
  , ["v0.99.0", "0.10.0"]
  , ["v2.0.0", "1.2.3"]
  , ["0.0.0", "v0.0.0foo"]
  , ["0.0.1", "v0.0.0"]
  , ["1.0.0", "v0.9.9"]
  , ["0.10.0", "v0.9.0"]
  , ["0.99.0", "v0.10.0"]
  , ["2.0.0", "v1.2.3"]
  , ["1.2.3", "1.2.3-asdf"]
  , ["1.2.3-4", "1.2.3"]
  , ["1.2.3-4-foo", "1.2.3"]
  , ["1.2.3-5", "1.2.3-5-foo"]
  , ["1.2.3-5", "1.2.3-4"]
  , ["1.2.3-5-foo", "1.2.3-5-Foo"]
  ].forEach(function (v) {
    var v0 = v[0]
      , v1 = v[1]
    t.ok(gt(v0, v1), "gt('"+v0+"', '"+v1+"')")
    t.ok(lt(v1, v0), "lt('"+v1+"', '"+v0+"')")
    t.ok(!gt(v1, v0), "!gt('"+v1+"', '"+v0+"')")
    t.ok(!lt(v0, v1), "!lt('"+v0+"', '"+v1+"')")
    t.ok(eq(v0, v0), "eq('"+v0+"', '"+v0+"')")
    t.ok(eq(v1, v1), "eq('"+v1+"', '"+v1+"')")
    t.ok(neq(v0, v1), "neq('"+v0+"', '"+v1+"')")
    t.ok(cmp(v1, "==", v1), "cmp('"+v1+"' == '"+v1+"')")
    t.ok(cmp(v0, ">=", v1), "cmp('"+v0+"' >= '"+v1+"')")
    t.ok(cmp(v1, "<=", v0), "cmp('"+v1+"' <= '"+v0+"')")
    t.ok(cmp(v0, "!=", v1), "cmp('"+v0+"' != '"+v1+"')")
  })
  t.end()
})

test("\nequality tests", function (t) {
; [ ["1.2.3", "v1.2.3"]
  , ["1.2.3", "=1.2.3"]
  , ["1.2.3", "v 1.2.3"]
  , ["1.2.3", "= 1.2.3"]
  , ["1.2.3", " v1.2.3"]
  , ["1.2.3", " =1.2.3"]
  , ["1.2.3", " v 1.2.3"]
  , ["1.2.3", " = 1.2.3"]
  , ["1.2.3-0", "v1.2.3-0"]
  , ["1.2.3-0", "=1.2.3-0"]
  , ["1.2.3-0", "v 1.2.3-0"]
  , ["1.2.3-0", "= 1.2.3-0"]
  , ["1.2.3-0", " v1.2.3-0"]
  , ["1.2.3-0", " =1.2.3-0"]
  , ["1.2.3-0", " v 1.2.3-0"]
  , ["1.2.3-0", " = 1.2.3-0"]
  , ["1.2.3-01", "v1.2.3-1"]
  , ["1.2.3-01", "=1.2.3-1"]
  , ["1.2.3-01", "v 1.2.3-1"]
  , ["1.2.3-01", "= 1.2.3-1"]
  , ["1.2.3-01", " v1.2.3-1"]
  , ["1.2.3-01", " =1.2.3-1"]
  , ["1.2.3-01", " v 1.2.3-1"]
  , ["1.2.3-01", " = 1.2.3-1"]
  , ["1.2.3beta", "v1.2.3beta"]
  , ["1.2.3beta", "=1.2.3beta"]
  , ["1.2.3beta", "v 1.2.3beta"]
  , ["1.2.3beta", "= 1.2.3beta"]
  , ["1.2.3beta", " v1.2.3beta"]
  , ["1.2.3beta", " =1.2.3beta"]
  , ["1.2.3beta", " v 1.2.3beta"]
  , ["1.2.3beta", " = 1.2.3beta"]
  ].forEach(function (v) {
    var v0 = v[0]
      , v1 = v[1]
    t.ok(eq(v0, v1), "eq('"+v0+"', '"+v1+"')")
    t.ok(!neq(v0, v1), "!neq('"+v0+"', '"+v1+"')")
    t.ok(cmp(v0, "==", v1), "cmp("+v0+"=="+v1+")")
    t.ok(!cmp(v0, "!=", v1), "!cmp("+v0+"!="+v1+")")
    t.ok(!cmp(v0, "===", v1), "!cmp("+v0+"==="+v1+")")
    t.ok(cmp(v0, "!==", v1), "cmp("+v0+"!=="+v1+")")
    t.ok(!gt(v0, v1), "!gt('"+v0+"', '"+v1+"')")
    t.ok(gte(v0, v1), "gte('"+v0+"', '"+v1+"')")
    t.ok(!lt(v0, v1), "!lt('"+v0+"', '"+v1+"')")
    t.ok(lte(v0, v1), "lte('"+v0+"', '"+v1+"')")
  })
  t.end()
})


test("\nrange tests", function (t) {
; [ ["1.0.0 - 2.0.0", "1.2.3"]
  , ["1.0.0", "1.0.0"]
  , [">=*", "0.2.4"]
  , ["", "1.0.0"]
  , ["*", "1.2.3"]
  , ["*", "v1.2.3-foo"]
  , [">=1.0.0", "1.0.0"]
  , [">=1.0.0", "1.0.1"]
  , [">=1.0.0", "1.1.0"]
  , [">1.0.0", "1.0.1"]
  , [">1.0.0", "1.1.0"]
  , ["<=2.0.0", "2.0.0"]
  , ["<=2.0.0", "1.9999.9999"]
  , ["<=2.0.0", "0.2.9"]
  , ["<2.0.0", "1.9999.9999"]
  , ["<2.0.0", "0.2.9"]
  , [">= 1.0.0", "1.0.0"]
  , [">=  1.0.0", "1.0.1"]
  , [">=   1.0.0", "1.1.0"]
  , ["> 1.0.0", "1.0.1"]
  , [">  1.0.0", "1.1.0"]
  , ["<=   2.0.0", "2.0.0"]
  , ["<= 2.0.0", "1.9999.9999"]
  , ["<=  2.0.0", "0.2.9"]
  , ["<    2.0.0", "1.9999.9999"]
  , ["<\t2.0.0", "0.2.9"]
  , [">=0.1.97", "v0.1.97"]
  , [">=0.1.97", "0.1.97"]
  , ["0.1.20 || 1.2.4", "1.2.4"]
  , [">=0.2.3 || <0.0.1", "0.0.0"]
  , [">=0.2.3 || <0.0.1", "0.2.3"]
  , [">=0.2.3 || <0.0.1", "0.2.4"]
  , ["||", "1.3.4"]
  , ["2.x.x", "2.1.3"]
  , ["1.2.x", "1.2.3"]
  , ["1.2.x || 2.x", "2.1.3"]
  , ["1.2.x || 2.x", "1.2.3"]
  , ["x", "1.2.3"]
  , ["2.*.*", "2.1.3"]
  , ["1.2.*", "1.2.3"]
  , ["1.2.* || 2.*", "2.1.3"]
  , ["1.2.* || 2.*", "1.2.3"]
  , ["*", "1.2.3"]
  , ["2", "2.1.2"]
  , ["2.3", "2.3.1"]
  , ["~2.4", "2.4.0"] // >=2.4.0 <2.5.0
  , ["~2.4", "2.4.5"]
  , ["~>3.2.1", "3.2.2"] // >=3.2.1 <3.3.0
  , ["~1", "1.2.3"] // >=1.0.0 <2.0.0
  , ["~>1", "1.2.3"]
  , ["~> 1", "1.2.3"]
  , ["~1.0", "1.0.2"] // >=1.0.0 <1.1.0
  , ["~ 1.0", "1.0.2"]
  , [">=1", "1.0.0"]
  , [">= 1", "1.0.0"]
  , ["<1.2", "1.1.1"]
  , ["< 1.2", "1.1.1"]
  , ["1", "1.0.0beta"]
  , ["~v0.5.4-pre", "0.5.5"]
  , ["~v0.5.4-pre", "0.5.4"]
  , ["=0.7.x", "0.7.2"]
  , [">=0.7.x", "0.7.2"]
  , ["=0.7.x", "0.7.0-asdf"]
  , [">=0.7.x", "0.7.0-asdf"]
  , ["<=0.7.x", "0.6.2"]
  ].forEach(function (v) {
    t.ok(satisfies(v[1], v[0]), v[0]+" satisfied by "+v[1])
  })
  t.end()
})

test("\nnegative range tests", function (t) {
; [ ["1.0.0 - 2.0.0", "2.2.3"]
  , ["1.0.0", "1.0.1"]
  , [">=1.0.0", "0.0.0"]
  , [">=1.0.0", "0.0.1"]
  , [">=1.0.0", "0.1.0"]
  , [">1.0.0", "0.0.1"]
  , [">1.0.0", "0.1.0"]
  , ["<=2.0.0", "3.0.0"]
  , ["<=2.0.0", "2.9999.9999"]
  , ["<=2.0.0", "2.2.9"]
  , ["<2.0.0", "2.9999.9999"]
  , ["<2.0.0", "2.2.9"]
  , [">=0.1.97", "v0.1.93"]
  , [">=0.1.97", "0.1.93"]
  , ["0.1.20 || 1.2.4", "1.2.3"]
  , [">=0.2.3 || <0.0.1", "0.0.3"]
  , [">=0.2.3 || <0.0.1", "0.2.2"]
  , ["2.x.x", "1.1.3"]
  , ["2.x.x", "3.1.3"]
  , ["1.2.x", "1.3.3"]
  , ["1.2.x || 2.x", "3.1.3"]
  , ["1.2.x || 2.x", "1.1.3"]
  , ["2.*.*", "1.1.3"]
  , ["2.*.*", "3.1.3"]
  , ["1.2.*", "1.3.3"]
  , ["1.2.* || 2.*", "3.1.3"]
  , ["1.2.* || 2.*", "1.1.3"]
  , ["2", "1.1.2"]
  , ["2.3", "2.4.1"]
  , ["~2.4", "2.5.0"] // >=2.4.0 <2.5.0
  , ["~2.4", "2.3.9"]
  , ["~>3.2.1", "3.3.2"] // >=3.2.1 <3.3.0
  , ["~>3.2.1", "3.2.0"] // >=3.2.1 <3.3.0
  , ["~1", "0.2.3"] // >=1.0.0 <2.0.0
  , ["~>1", "2.2.3"]
  , ["~1.0", "1.1.0"] // >=1.0.0 <1.1.0
  , ["<1", "1.0.0"]
  , [">=1.2", "1.1.1"]
  , ["1", "2.0.0beta"]
  , ["~v0.5.4-beta", "0.5.4-alpha"]
  , ["<1", "1.0.0beta"]
  , ["< 1", "1.0.0beta"]
  , ["=0.7.x", "0.8.2"]
  , [">=0.7.x", "0.6.2"]
  , ["<=0.7.x", "0.7.2"]
  ].forEach(function (v) {
    t.ok(!satisfies(v[1], v[0]), v[0]+" not satisfied by "+v[1])
  })
  t.end()
})

test("\nincrement versions test", function (t) {
; [ [ "1.2.3",   "major", "2.0.0"   ]
  , [ "1.2.3",   "minor", "1.3.0"   ]
  , [ "1.2.3",   "patch", "1.2.4"   ]
  , [ "1.2.3",   "build", "1.2.3-1" ]
  , [ "1.2.3-4", "build", "1.2.3-5" ]
  , [ "1.2.3tag",    "major", "2.0.0"   ]
  , [ "1.2.3-tag",   "major", "2.0.0"   ]
  , [ "1.2.3tag",    "build", "1.2.3-1" ]
  , [ "1.2.3-tag",   "build", "1.2.3-1" ]
  , [ "1.2.3-4-tag", "build", "1.2.3-5" ]
  , [ "1.2.3-4tag",  "build", "1.2.3-5" ]
  , [ "1.2.3", "fake",  null ]
  , [ "fake",  "major", null ]
  ].forEach(function (v) {
    t.equal(inc(v[0], v[1]), v[2], "inc("+v[0]+", "+v[1]+") === "+v[2])
  })

  t.end()
})

test("\nreplace stars test", function (t) {
; [ [ "", "" ]
  , [ "*", "" ]
  , [ "> *", "" ]
  , [ "<*", "" ]
  , [ " >=  *", "" ]
  , [ "* || 1.2.3", " || 1.2.3" ]
  ].forEach(function (v) {
    t.equal(replaceStars(v[0]), v[1], "replaceStars("+v[0]+") === "+v[1])
  })

  t.end()
})

test("\nvalid range test", function (t) {
; [ ["1.0.0 - 2.0.0", ">=1.0.0 <=2.0.0"]
  , ["1.0.0", "1.0.0"]
  , [">=*", ""]
  , ["", ""]
  , ["*", ""]
  , ["*", ""]
  , [">=1.0.0", ">=1.0.0"]
  , [">1.0.0", ">1.0.0"]
  , ["<=2.0.0", "<=2.0.0"]
  , ["1", ">=1.0.0- <2.0.0-"]
  , ["<=2.0.0", "<=2.0.0"]
  , ["<=2.0.0", "<=2.0.0"]
  , ["<2.0.0", "<2.0.0"]
  , ["<2.0.0", "<2.0.0"]
  , [">= 1.0.0", ">=1.0.0"]
  , [">=  1.0.0", ">=1.0.0"]
  , [">=   1.0.0", ">=1.0.0"]
  , ["> 1.0.0", ">1.0.0"]
  , [">  1.0.0", ">1.0.0"]
  , ["<=   2.0.0", "<=2.0.0"]
  , ["<= 2.0.0", "<=2.0.0"]
  , ["<=  2.0.0", "<=2.0.0"]
  , ["<    2.0.0", "<2.0.0"]
  , ["<	2.0.0", "<2.0.0"]
  , [">=0.1.97", ">=0.1.97"]
  , [">=0.1.97", ">=0.1.97"]
  , ["0.1.20 || 1.2.4", "0.1.20||1.2.4"]
  , [">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1"]
  , [">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1"]
  , [">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1"]
  , ["||", "||"]
  , ["2.x.x", ">=2.0.0- <3.0.0-"]
  , ["1.2.x", ">=1.2.0- <1.3.0-"]
  , ["1.2.x || 2.x", ">=1.2.0- <1.3.0-||>=2.0.0- <3.0.0-"]
  , ["1.2.x || 2.x", ">=1.2.0- <1.3.0-||>=2.0.0- <3.0.0-"]
  , ["x", ""]
  , ["2.*.*", null]
  , ["1.2.*", null]
  , ["1.2.* || 2.*", null]
  , ["1.2.* || 2.*", null]
  , ["*", ""]
  , ["2", ">=2.0.0- <3.0.0-"]
  , ["2.3", ">=2.3.0- <2.4.0-"]
  , ["~2.4", ">=2.4.0- <2.5.0-"]
  , ["~2.4", ">=2.4.0- <2.5.0-"]
  , ["~>3.2.1", ">=3.2.1- <3.3.0-"]
  , ["~1", ">=1.0.0- <2.0.0-"]
  , ["~>1", ">=1.0.0- <2.0.0-"]
  , ["~> 1", ">=1.0.0- <2.0.0-"]
  , ["~1.0", ">=1.0.0- <1.1.0-"]
  , ["~ 1.0", ">=1.0.0- <1.1.0-"]
  , ["<1", "<1.0.0-"]
  , ["< 1", "<1.0.0-"]
  , [">=1", ">=1.0.0-"]
  , [">= 1", ">=1.0.0-"]
  , ["<1.2", "<1.2.0-"]
  , ["< 1.2", "<1.2.0-"]
  , ["1", ">=1.0.0- <2.0.0-"]
  ].forEach(function (v) {
    t.equal(validRange(v[0]), v[1], "validRange("+v[0]+") === "+v[1])
  })

  t.end()
})

test("\ncomparators test", function (t) {
; [ ["1.0.0 - 2.0.0", [[">=1.0.0", "<=2.0.0"]] ]
  , ["1.0.0", [["1.0.0"]] ]
  , [">=*", [[">=0.0.0-"]] ]
  , ["", [[""]]]
  , ["*", [[""]] ]
  , ["*", [[""]] ]
  , [">=1.0.0", [[">=1.0.0"]] ]
  , [">=1.0.0", [[">=1.0.0"]] ]
  , [">=1.0.0", [[">=1.0.0"]] ]
  , [">1.0.0", [[">1.0.0"]] ]
  , [">1.0.0", [[">1.0.0"]] ]
  , ["<=2.0.0", [["<=2.0.0"]] ]
  , ["1", [[">=1.0.0-", "<2.0.0-"]] ]
  , ["<=2.0.0", [["<=2.0.0"]] ]
  , ["<=2.0.0", [["<=2.0.0"]] ]
  , ["<2.0.0", [["<2.0.0"]] ]
  , ["<2.0.0", [["<2.0.0"]] ]
  , [">= 1.0.0", [[">=1.0.0"]] ]
  , [">=  1.0.0", [[">=1.0.0"]] ]
  , [">=   1.0.0", [[">=1.0.0"]] ]
  , ["> 1.0.0", [[">1.0.0"]] ]
  , [">  1.0.0", [[">1.0.0"]] ]
  , ["<=   2.0.0", [["<=2.0.0"]] ]
  , ["<= 2.0.0", [["<=2.0.0"]] ]
  , ["<=  2.0.0", [["<=2.0.0"]] ]
  , ["<    2.0.0", [["<2.0.0"]] ]
  , ["<\t2.0.0", [["<2.0.0"]] ]
  , [">=0.1.97", [[">=0.1.97"]] ]
  , [">=0.1.97", [[">=0.1.97"]] ]
  , ["0.1.20 || 1.2.4", [["0.1.20"], ["1.2.4"]] ]
  , [">=0.2.3 || <0.0.1", [[">=0.2.3"], ["<0.0.1"]] ]
  , [">=0.2.3 || <0.0.1", [[">=0.2.3"], ["<0.0.1"]] ]
  , [">=0.2.3 || <0.0.1", [[">=0.2.3"], ["<0.0.1"]] ]
  , ["||", [[""], [""]] ]
  , ["2.x.x", [[">=2.0.0-", "<3.0.0-"]] ]
  , ["1.2.x", [[">=1.2.0-", "<1.3.0-"]] ]
  , ["1.2.x || 2.x", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
  , ["1.2.x || 2.x", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
  , ["x", [[""]] ]
  , ["2.*.*", [[">=2.0.0-", "<3.0.0-"]] ]
  , ["1.2.*", [[">=1.2.0-", "<1.3.0-"]] ]
  , ["1.2.* || 2.*", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
  , ["1.2.* || 2.*", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
  , ["*", [[""]] ]
  , ["2", [[">=2.0.0-", "<3.0.0-"]] ]
  , ["2.3", [[">=2.3.0-", "<2.4.0-"]] ]
  , ["~2.4", [[">=2.4.0-", "<2.5.0-"]] ]
  , ["~2.4", [[">=2.4.0-", "<2.5.0-"]] ]
  , ["~>3.2.1", [[">=3.2.1-", "<3.3.0-"]] ]
  , ["~1", [[">=1.0.0-", "<2.0.0-"]] ]
  , ["~>1", [[">=1.0.0-", "<2.0.0-"]] ]
  , ["~> 1", [[">=1.0.0-", "<2.0.0-"]] ]
  , ["~1.0", [[">=1.0.0-", "<1.1.0-"]] ]
  , ["~ 1.0", [[">=1.0.0-", "<1.1.0-"]] ]
  , ["<1", [["<1.0.0-"]] ]
  , ["< 1", [["<1.0.0-"]] ]
  , [">=1", [[">=1.0.0-"]] ]
  , [">= 1", [[">=1.0.0-"]] ]
  , ["<1.2", [["<1.2.0-"]] ]
  , ["< 1.2", [["<1.2.0-"]] ]
  , ["1", [[">=1.0.0-", "<2.0.0-"]] ]
  ].forEach(function (v) {
    t.equivalent(toComparators(v[0]), v[1], "toComparators("+v[0]+") === "+JSON.stringify(v[1]))
  })

  t.end()
})
