vows = require 'vows'
assert = require 'assert'
console.log(__dirname)
helper = require '../build/default/helper'

test_email_values = (tests) ->
    context =
        topic: ->
            helper.parse_author(this.context.name)
        "test values": tests

suite = vows.describe("test helpers").addBatch [
    'test email parser:':
        "bla blubb <iae@com.com>": test_email_values (p) ->
            assert.equal p.email, "iae@com.com"
            assert.equal p.name, "bla blubb"
        "bla <my+test@is.strange> blubb": test_email_values (p) ->
            assert.equal p.email, "my+test@is.strange"
            assert.equal p.name, "bla blubb"
        "<my+test@is.strange> blubb": test_email_values (p) ->
            assert.equal p.email, "my+test@is.strange"
            assert.equal p.name, "blubb"
        "only.a@email.address": test_email_values (p) ->
            assert.equal p.email, "only.a@email.address"
            assert.equal p.name, "only.a@email.address"
        "My name is gaga": test_email_values (p) ->
            assert.equal p.email, null
            assert.equal p.name, "My name is gaga"
        "+ ian/a e_ e.\` @ eg3ma eae lo": test_email_values (p) ->
            assert.equal p.email, null
            assert.equal p.name, "+ ian/a e_ e.\` @ eg3ma eae lo"
        "Hal   some \t space\there": test_email_values (p) ->
            assert.equal p.email, null
            assert.equal p.name, "Hal some space here"
        "<bla.arna@blaubb.com": test_email_values (p) ->
            assert.equal p.email, "bla.arna@blaubb.com"
            assert.equal p.name, "bla.arna@blaubb.com"
]
    
suite.export(module)
