aboutsummaryrefslogtreecommitdiff
path: root/node_modules/nomnom/test/usage.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/nomnom/test/usage.js')
-rw-r--r--node_modules/nomnom/test/usage.js121
1 files changed, 121 insertions, 0 deletions
diff --git a/node_modules/nomnom/test/usage.js b/node_modules/nomnom/test/usage.js
new file mode 100644
index 000000000..9a0817935
--- /dev/null
+++ b/node_modules/nomnom/test/usage.js
@@ -0,0 +1,121 @@
+var nomnom = require("../nomnom");
+
+function strip(str) {
+ return str.replace(/\s+/g, '');
+};
+
+var opts = {
+ apple: {
+ abbr: 'a',
+ help: 'how many apples'
+ },
+
+ banana: {
+ full: "b-nana"
+ },
+
+ carrot: {
+ string: '-c NUM, --carrots=NUM'
+ },
+
+ dill: {
+ metavar: 'PICKLE'
+ },
+
+ egg: {
+ position: 0,
+ help: 'robin'
+ }
+}
+
+var parser = nomnom().options(opts).help("all the best foods").scriptName("test").nocolors();
+
+var expected = "Usage:test[egg][options]eggrobinOptions:-a,--applehowmanyapples--b-nana-cNUM,--carrots=NUM--dillPICKLEallthebestfoods"
+
+exports.testH = function(test) {
+ test.expect(1);
+
+ parser.printer(function(string) {
+ test.equal(strip(string), expected)
+ test.done();
+ })
+ .nocolors()
+ .parse(["-h"]);
+}
+
+exports.testHelp = function(test) {
+ test.expect(1);
+
+ parser.printer(function(string) {
+ test.equal(strip(string), expected)
+ test.done();
+ })
+ .nocolors()
+ .parse(["--help"]);
+}
+
+exports.testScriptName = function(test) {
+ test.expect(1);
+
+ nomnom()
+ .script("test")
+ .printer(function(string) {
+ test.equal(strip(string),"Usage:test")
+ test.done();
+ })
+ .nocolors()
+ .parse(["-h"]);
+}
+
+exports.testUsage = function(test) {
+ test.expect(1);
+
+ parser
+ .usage("test usage")
+ .printer(function(string) {
+ test.equal(string, "test usage")
+ test.done();
+ })
+ .nocolors()
+ .parse(["--help"]);
+}
+
+exports.testHidden = function(test) {
+ test.expect(1);
+
+ nomnom().options({
+ file: {
+ hidden: true
+ }
+ })
+ .scriptName("test")
+ .printer(function(string) {
+ test.equal(strip("Usage:test[options]Options:"), strip(string))
+ test.done();
+ })
+ .nocolors()
+ .parse(["-h"]);
+}
+
+exports.testRequiredOptional = function(test) {
+ test.expect(1);
+
+ nomnom().options({
+ foo: {
+ position: 0,
+ required: true,
+ help: 'The foo'
+ },
+ bar: {
+ position: 1,
+ help: 'The bar'
+ }
+ })
+ .scriptName("test")
+ .printer(function(string) {
+ test.equal(strip("Usage:test<foo>[bar]fooThefoobarThebar"), strip(string))
+ test.done();
+ })
+ .nocolors()
+ .parse(["-h"]);
+}