text: var test = require("tap").test
  
  var normalize = require("../")
  
  test("strict", function(t) {
    var threw
  
    try {
      threw = false
      normalize({name: "X"}, true)
    } catch (er) {
      threw = true
      t.equal(er.message, 'Invalid name: "X"')
    } finally {
      t.equal(threw, true)
    }
  
    try {
      threw = false
      normalize({name:" x "}, true)
    } catch (er) {
      threw = true
      t.equal(er.message, 'Invalid name: " x "')
    } finally {
      t.equal(threw, true)
    }
  
    try {
      threw = false
      normalize({name:"x",version:"01.02.03"}, true)
    } catch (er) {
      threw = true
      t.equal(er.message, 'Invalid version: "01.02.03"')
    } finally {
      t.equal(threw, true)
    }
  
    // these should not throw
    var slob = {name:" X ",version:"01.02.03",dependencies:{
      y:">01.02.03",
      z:"! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant"
    }}
    normalize(slob, false)
    t.same(slob,
           { name: 'X',
             version: '1.2.3',
             dependencies:
              { y: '>01.02.03',
                z: '! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant' },
             readme: 'ERROR: No README data found!',
             _id: 'X@1.2.3' })
  
    t.end()
  })
  