--- /dev/null
+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()
+})