bdd-lazy-var
Advanced tools
Comparing version
@@ -329,3 +329,3 @@ (function (global, factory) { | ||
var parse_message = function parseMessage(fn) { | ||
function parseMessage(fn) { | ||
var matches = fn.toString().match(/is\.expected\.(\s+(?=\.)|.)+/g); | ||
@@ -339,10 +339,24 @@ | ||
var body = matches.reduce(function (message, chunk) { | ||
return message.concat(chunk.trim().slice(prefixLength).replace(/[\s.]+/g, ' ').replace(/([a-z])([A-Z])/g, function (_, before, letter) { | ||
return before + " " + letter.toLowerCase(); | ||
}).replace(/ and /g, ', ')); | ||
var cleanChunk = chunk.trim().slice(prefixLength).replace(/[\s.]+/g, ' '); | ||
var humanized = humanize(cleanChunk).replace(/ and /g, ', '); | ||
message.push(humanized); | ||
return message; | ||
}, []); | ||
return "is expected " + body.join(', '); | ||
} | ||
function humanize(value) { | ||
return value.replace(/([a-z])([A-Z])/g, function (_, before, letter) { | ||
return before + " " + letter.toLowerCase(); | ||
}); | ||
} | ||
var parse_message = { | ||
parseMessage: parseMessage, | ||
humanize: humanize | ||
}; | ||
var Metadata$2 = metadata.Metadata; | ||
var parseMessage$1 = parse_message.parseMessage, | ||
humanize$1 = parse_message.humanize; | ||
@@ -402,3 +416,5 @@ var _interface = function _interface(context, tracker, options) { | ||
function includeExamplesFor(name) { | ||
function includeExamplesFor(nameOrFn) { | ||
var meta = Metadata$2.ensureDefinedOn(tracker.currentlyDefinedSuite); | ||
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { | ||
@@ -408,13 +424,18 @@ args[_key2 - 1] = arguments[_key2]; | ||
Metadata$2.ensureDefinedOn(tracker.currentlyDefinedSuite).runExamplesFor(name, args); | ||
if (typeof nameOrFn === 'function') { | ||
nameOrFn.apply(void 0, args); | ||
} else { | ||
meta.runExamplesFor(nameOrFn, args); | ||
} | ||
} | ||
function itBehavesLike(name) { | ||
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { | ||
args[_key3 - 1] = arguments[_key3]; | ||
function itBehavesLike() { | ||
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
args[_key3] = arguments[_key3]; | ||
} | ||
context.describe("behaves like " + name, function () { | ||
args.unshift(name); | ||
includeExamplesFor.apply(tracker.currentlyDefinedSuite, args); | ||
var nameOrFn = args[0]; | ||
var title = typeof nameOrFn === 'function' ? humanize$1(nameOrFn.name || 'this') : nameOrFn; | ||
context.describe("behaves like " + title, function () { | ||
includeExamplesFor.apply(void 0, args); | ||
}); | ||
@@ -425,3 +446,3 @@ } | ||
return function its(prop, messageOrAssert, fn) { | ||
var _ref = typeof messageOrAssert === 'function' ? [parse_message(messageOrAssert), messageOrAssert] : [messageOrAssert, fn], | ||
var _ref = typeof messageOrAssert === 'function' ? [parseMessage$1(messageOrAssert), messageOrAssert] : [messageOrAssert, fn], | ||
message = _ref[0], | ||
@@ -450,3 +471,3 @@ assert = _ref[1]; | ||
if (typeof args[0] === 'function') { | ||
args.unshift(parse_message(args[0])); | ||
args.unshift(parseMessage$1(args[0])); | ||
} | ||
@@ -453,0 +474,0 @@ |
@@ -329,3 +329,3 @@ (function (global, factory) { | ||
var parse_message = function parseMessage(fn) { | ||
function parseMessage(fn) { | ||
var matches = fn.toString().match(/is\.expected\.(\s+(?=\.)|.)+/g); | ||
@@ -339,10 +339,24 @@ | ||
var body = matches.reduce(function (message, chunk) { | ||
return message.concat(chunk.trim().slice(prefixLength).replace(/[\s.]+/g, ' ').replace(/([a-z])([A-Z])/g, function (_, before, letter) { | ||
return before + " " + letter.toLowerCase(); | ||
}).replace(/ and /g, ', ')); | ||
var cleanChunk = chunk.trim().slice(prefixLength).replace(/[\s.]+/g, ' '); | ||
var humanized = humanize(cleanChunk).replace(/ and /g, ', '); | ||
message.push(humanized); | ||
return message; | ||
}, []); | ||
return "is expected " + body.join(', '); | ||
} | ||
function humanize(value) { | ||
return value.replace(/([a-z])([A-Z])/g, function (_, before, letter) { | ||
return before + " " + letter.toLowerCase(); | ||
}); | ||
} | ||
var parse_message = { | ||
parseMessage: parseMessage, | ||
humanize: humanize | ||
}; | ||
var Metadata$2 = metadata.Metadata; | ||
var parseMessage$1 = parse_message.parseMessage, | ||
humanize$1 = parse_message.humanize; | ||
@@ -402,3 +416,5 @@ var _interface = function _interface(context, tracker, options) { | ||
function includeExamplesFor(name) { | ||
function includeExamplesFor(nameOrFn) { | ||
var meta = Metadata$2.ensureDefinedOn(tracker.currentlyDefinedSuite); | ||
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { | ||
@@ -408,13 +424,18 @@ args[_key2 - 1] = arguments[_key2]; | ||
Metadata$2.ensureDefinedOn(tracker.currentlyDefinedSuite).runExamplesFor(name, args); | ||
if (typeof nameOrFn === 'function') { | ||
nameOrFn.apply(void 0, args); | ||
} else { | ||
meta.runExamplesFor(nameOrFn, args); | ||
} | ||
} | ||
function itBehavesLike(name) { | ||
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { | ||
args[_key3 - 1] = arguments[_key3]; | ||
function itBehavesLike() { | ||
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
args[_key3] = arguments[_key3]; | ||
} | ||
context.describe("behaves like " + name, function () { | ||
args.unshift(name); | ||
includeExamplesFor.apply(tracker.currentlyDefinedSuite, args); | ||
var nameOrFn = args[0]; | ||
var title = typeof nameOrFn === 'function' ? humanize$1(nameOrFn.name || 'this') : nameOrFn; | ||
context.describe("behaves like " + title, function () { | ||
includeExamplesFor.apply(void 0, args); | ||
}); | ||
@@ -425,3 +446,3 @@ } | ||
return function its(prop, messageOrAssert, fn) { | ||
var _ref = typeof messageOrAssert === 'function' ? [parse_message(messageOrAssert), messageOrAssert] : [messageOrAssert, fn], | ||
var _ref = typeof messageOrAssert === 'function' ? [parseMessage$1(messageOrAssert), messageOrAssert] : [messageOrAssert, fn], | ||
message = _ref[0], | ||
@@ -450,3 +471,3 @@ assert = _ref[1]; | ||
if (typeof args[0] === 'function') { | ||
args.unshift(parse_message(args[0])); | ||
args.unshift(parseMessage$1(args[0])); | ||
} | ||
@@ -453,0 +474,0 @@ |
49
index.js
@@ -329,3 +329,3 @@ (function (global, factory) { | ||
var parse_message = function parseMessage(fn) { | ||
function parseMessage(fn) { | ||
var matches = fn.toString().match(/is\.expected\.(\s+(?=\.)|.)+/g); | ||
@@ -339,10 +339,24 @@ | ||
var body = matches.reduce(function (message, chunk) { | ||
return message.concat(chunk.trim().slice(prefixLength).replace(/[\s.]+/g, ' ').replace(/([a-z])([A-Z])/g, function (_, before, letter) { | ||
return before + " " + letter.toLowerCase(); | ||
}).replace(/ and /g, ', ')); | ||
var cleanChunk = chunk.trim().slice(prefixLength).replace(/[\s.]+/g, ' '); | ||
var humanized = humanize(cleanChunk).replace(/ and /g, ', '); | ||
message.push(humanized); | ||
return message; | ||
}, []); | ||
return "is expected " + body.join(', '); | ||
} | ||
function humanize(value) { | ||
return value.replace(/([a-z])([A-Z])/g, function (_, before, letter) { | ||
return before + " " + letter.toLowerCase(); | ||
}); | ||
} | ||
var parse_message = { | ||
parseMessage: parseMessage, | ||
humanize: humanize | ||
}; | ||
var Metadata$2 = metadata.Metadata; | ||
var parseMessage$1 = parse_message.parseMessage, | ||
humanize$1 = parse_message.humanize; | ||
@@ -402,3 +416,5 @@ var _interface = function _interface(context, tracker, options) { | ||
function includeExamplesFor(name) { | ||
function includeExamplesFor(nameOrFn) { | ||
var meta = Metadata$2.ensureDefinedOn(tracker.currentlyDefinedSuite); | ||
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { | ||
@@ -408,13 +424,18 @@ args[_key2 - 1] = arguments[_key2]; | ||
Metadata$2.ensureDefinedOn(tracker.currentlyDefinedSuite).runExamplesFor(name, args); | ||
if (typeof nameOrFn === 'function') { | ||
nameOrFn.apply(void 0, args); | ||
} else { | ||
meta.runExamplesFor(nameOrFn, args); | ||
} | ||
} | ||
function itBehavesLike(name) { | ||
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { | ||
args[_key3 - 1] = arguments[_key3]; | ||
function itBehavesLike() { | ||
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
args[_key3] = arguments[_key3]; | ||
} | ||
context.describe("behaves like " + name, function () { | ||
args.unshift(name); | ||
includeExamplesFor.apply(tracker.currentlyDefinedSuite, args); | ||
var nameOrFn = args[0]; | ||
var title = typeof nameOrFn === 'function' ? humanize$1(nameOrFn.name || 'this') : nameOrFn; | ||
context.describe("behaves like " + title, function () { | ||
includeExamplesFor.apply(void 0, args); | ||
}); | ||
@@ -425,3 +446,3 @@ } | ||
return function its(prop, messageOrAssert, fn) { | ||
var _ref = typeof messageOrAssert === 'function' ? [parse_message(messageOrAssert), messageOrAssert] : [messageOrAssert, fn], | ||
var _ref = typeof messageOrAssert === 'function' ? [parseMessage$1(messageOrAssert), messageOrAssert] : [messageOrAssert, fn], | ||
message = _ref[0], | ||
@@ -450,3 +471,3 @@ assert = _ref[1]; | ||
if (typeof args[0] === 'function') { | ||
args.unshift(parse_message(args[0])); | ||
args.unshift(parseMessage$1(args[0])); | ||
} | ||
@@ -453,0 +474,0 @@ |
@@ -5,6 +5,8 @@ interface GetLazyVar { | ||
type AnyFunction = (...args: any[]) => any; | ||
export const get: GetLazyVar; | ||
export function def(name: string, implementation: () => any): void; | ||
export function sharedExamplesFor(summary: string, implementation: (...vars: any[]) => void): void; | ||
export function itBehavesLike(summary: string, ...vars: any[]): void; | ||
export function includeExamplesFor(summary: string, ...vars: any[]): void; | ||
export function itBehavesLike(summary: string | AnyFunction, ...vars: any[]): void; | ||
export function includeExamplesFor(summary: string | AnyFunction, ...vars: any[]): void; |
{ | ||
"name": "bdd-lazy-var", | ||
"version": "2.5.5", | ||
"version": "2.6.0", | ||
"author": "Sergii Stotskyi", | ||
@@ -33,2 +33,4 @@ "description": "Provides \"ui\" for testing frameworks such as mocha/jasmine which allows to define lazy variables and subjects", | ||
"@babel/preset-env": "^7.3.1", | ||
"@semantic-release/changelog": "^5.0.1", | ||
"@semantic-release/git": "^9.0.0", | ||
"babel-plugin-transform-object-assign": "^6.22.0", | ||
@@ -51,3 +53,4 @@ "chai": "^4.1.2", | ||
"rollup-plugin-commonjs": "^10.0.0", | ||
"rollup-plugin-inject": "^3.0.0" | ||
"rollup-plugin-inject": "^3.0.0", | ||
"semantic-release": "^17.3.0" | ||
}, | ||
@@ -82,3 +85,5 @@ "scripts": { | ||
"build": "npm run build.ui && npm run build.global-ui && npm run build.getter-ui", | ||
"lint": "eslint --fix lib" | ||
"lint": "eslint --fix lib", | ||
"prerelease": "NODE_ENV=production npm run build", | ||
"release": "semantic-release" | ||
}, | ||
@@ -105,3 +110,16 @@ "jest": { | ||
"interface.d.ts" | ||
] | ||
], | ||
"release": { | ||
"branches": [ | ||
"master" | ||
], | ||
"plugins": [ | ||
"@semantic-release/commit-analyzer", | ||
"@semantic-release/release-notes-generator", | ||
"@semantic-release/changelog", | ||
"@semantic-release/npm", | ||
"@semantic-release/git", | ||
"@semantic-release/github" | ||
] | ||
} | ||
} |
95423
2.49%14
7.69%1937
2.92%25
13.64%