packager-dsl 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,47 +1,47 @@
1
- require './spec/cli/context.rb'
2
- describe Packager::CLI do
3
- context '#validate' do
4
- include_context :cli
5
-
6
- it "handles nothing passed" do
7
- expect {
8
- cli.validate
9
- }.to raise_error(Thor::Error, "No filenames provided for validate")
10
- end
11
-
12
- it "handles a non-existent filename" do
13
- expect {
14
- cli.validate('foo')
15
- }.to raise_error(Thor::Error, "'foo' cannot be found")
16
- end
17
-
18
- it "handles an empty file" do
19
- FileUtils.touch('definition')
20
- expect {
21
- cli.validate('definition')
22
- }.to raise_error(Thor::Error, "'definition' produces nothing")
23
- end
24
-
25
- it "handles a bad file" do
26
- append_to_file('definition', 'package {}')
27
-
28
- expect {
29
- cli.validate('definition')
30
- }.to raise_error(Thor::Error, "'definition' has the following errors:\nEvery package must have a name")
31
- end
32
-
33
- it "handles a file that works" do
34
- append_to_file('definition', "
35
- package {
36
- name 'foo'
37
- version '0.0.1'
38
- type 'dir'
39
- }
40
- ")
41
-
42
- expect(
43
- capture(:stdout) { cli.validate('definition') }
44
- ).to eq("'definition' parses cleanly\n")
45
- end
46
- end
47
- end
1
+ require './spec/cli/context.rb'
2
+ describe Packager::CLI do
3
+ context '#validate' do
4
+ include_context :cli
5
+
6
+ it "handles nothing passed" do
7
+ expect {
8
+ cli.validate
9
+ }.to raise_error(Thor::Error, "No filenames provided for validate")
10
+ end
11
+
12
+ it "handles a non-existent filename" do
13
+ expect {
14
+ cli.validate('foo')
15
+ }.to raise_error(Thor::Error, "'foo' cannot be found")
16
+ end
17
+
18
+ it "handles an empty file" do
19
+ FileUtils.touch('definition')
20
+ expect {
21
+ cli.validate('definition')
22
+ }.to raise_error(Thor::Error, "'definition' produces nothing")
23
+ end
24
+
25
+ it "handles a bad file" do
26
+ append_to_file('definition', 'package {}')
27
+
28
+ expect {
29
+ cli.validate('definition')
30
+ }.to raise_error(Thor::Error, "'definition' has the following errors:\nEvery package must have a name")
31
+ end
32
+
33
+ it "handles a file that works" do
34
+ append_to_file('definition', "
35
+ package {
36
+ name 'foo'
37
+ version '0.0.1'
38
+ type 'dir'
39
+ }
40
+ ")
41
+
42
+ expect(
43
+ capture(:stdout) { cli.validate('definition') }
44
+ ).to eq("'definition' parses cleanly\n")
45
+ end
46
+ end
47
+ end
@@ -1,7 +1,7 @@
1
- describe Packager::CLI do
2
- it "displays the version" do
3
- expect(
4
- capture(:stdout) { Packager::CLI.start(['--version']) }
5
- ).to eq("#{Packager::VERSION}\n")
6
- end
7
- end
1
+ describe Packager::CLI do
2
+ it "displays the version" do
3
+ expect(
4
+ capture(:stdout) { Packager::CLI.start(['--version']) }
5
+ ).to eq("#{Packager::VERSION}\n")
6
+ end
7
+ end
@@ -1,16 +1,16 @@
1
- require './spec/dsl/context.rb'
2
- describe Packager::DSL do
3
- context "arguments" do
4
- include_context :dsl
5
-
6
- it "handles a name in the arguments" do
7
- items = parse_dsl {
8
- package 'foo' do
9
- version '0.0.1'
10
- type 'test'
11
- end
12
- }
13
- expect(items[0].name).to eq('foo')
14
- end
15
- end
16
- end
1
+ require './spec/dsl/context.rb'
2
+ describe Packager::DSL do
3
+ context "arguments" do
4
+ include_context :dsl
5
+
6
+ it "handles a name in the arguments" do
7
+ items = parse_dsl {
8
+ package 'foo' do
9
+ version '0.0.1'
10
+ type 'test'
11
+ end
12
+ }
13
+ expect(items[0].name).to eq('foo')
14
+ end
15
+ end
16
+ end
data/spec/dsl/context.rb CHANGED
@@ -1,5 +1,5 @@
1
- RSpec.shared_context :dsl do
2
- def parse_dsl(&block)
3
- Packager::DSL.execute_dsl(&block)
4
- end
5
- end
1
+ RSpec.shared_context :dsl do
2
+ def parse_dsl(&block)
3
+ Packager::DSL.execute_dsl(&block)
4
+ end
5
+ end
@@ -1,19 +1,19 @@
1
- require './spec/dsl/context.rb'
2
- describe Packager::DSL do
3
- context "default type" do
4
- include_context :dsl
5
-
6
- before(:all) { Packager::DSL.default_type('unknown') }
7
- after(:all) { Packager::DSL.default_type = nil }
8
-
9
- it "will use the default type" do
10
- items = parse_dsl {
11
- package {
12
- name 'foo'
13
- version '0.0.1'
14
- }
15
- }
16
- expect(items[0].type).to eq('unknown')
17
- end
18
- end
19
- end
1
+ require './spec/dsl/context.rb'
2
+ describe Packager::DSL do
3
+ context "default type" do
4
+ include_context :dsl
5
+
6
+ before(:all) { Packager::DSL.default_type('unknown') }
7
+ after(:all) { Packager::DSL.default_type = nil }
8
+
9
+ it "will use the default type" do
10
+ items = parse_dsl {
11
+ package {
12
+ name 'foo'
13
+ version '0.0.1'
14
+ }
15
+ }
16
+ expect(items[0].type).to eq('unknown')
17
+ end
18
+ end
19
+ end
@@ -1,62 +1,62 @@
1
- require './spec/dsl/context.rb'
2
- describe Packager::DSL do
3
- include_context :dsl
4
-
5
- context "requires" do
6
- it "handles a dependency" do
7
- items = parse_dsl {
8
- package {
9
- name 'foo'
10
- version '0.0.1'
11
- type 'test'
12
- requires 'foo'
13
- }
14
- }
15
- expect(items[0].requires).to be_instance_of(Array)
16
- expect(items[0].requires[0]).to eq('foo')
17
- end
18
-
19
- it "handles multiple dependencies" do
20
- items = parse_dsl {
21
- package {
22
- name 'foo'
23
- version '0.0.1'
24
- type 'test'
25
- requires 'foo', 'bar'
26
- requires 'baz'
27
- }
28
- }
29
- expect(items[0].requires).to be_instance_of(Array)
30
- expect(items[0].requires).to eq([ 'foo', 'bar', 'baz' ])
31
- end
32
- end
33
-
34
- context "provides" do
35
- it "handles a provides" do
36
- items = parse_dsl {
37
- package {
38
- name 'foo'
39
- version '0.0.1'
40
- type 'test'
41
- provides 'foo'
42
- }
43
- }
44
- expect(items[0].provides).to be_instance_of(Array)
45
- expect(items[0].provides[0]).to eq('foo')
46
- end
47
-
48
- it "handles multiple dependencies" do
49
- items = parse_dsl {
50
- package {
51
- name 'foo'
52
- version '0.0.1'
53
- type 'test'
54
- provides 'foo', 'bar'
55
- provides 'baz'
56
- }
57
- }
58
- expect(items[0].provides).to be_instance_of(Array)
59
- expect(items[0].provides).to eq([ 'foo', 'bar', 'baz' ])
60
- end
61
- end
62
- end
1
+ require './spec/dsl/context.rb'
2
+ describe Packager::DSL do
3
+ include_context :dsl
4
+
5
+ context "requires" do
6
+ it "handles a dependency" do
7
+ items = parse_dsl {
8
+ package {
9
+ name 'foo'
10
+ version '0.0.1'
11
+ type 'test'
12
+ requires 'foo'
13
+ }
14
+ }
15
+ expect(items[0].requires).to be_instance_of(Array)
16
+ expect(items[0].requires[0]).to eq('foo')
17
+ end
18
+
19
+ it "handles multiple dependencies" do
20
+ items = parse_dsl {
21
+ package {
22
+ name 'foo'
23
+ version '0.0.1'
24
+ type 'test'
25
+ requires 'foo', 'bar'
26
+ requires 'baz'
27
+ }
28
+ }
29
+ expect(items[0].requires).to be_instance_of(Array)
30
+ expect(items[0].requires).to eq([ 'foo', 'bar', 'baz' ])
31
+ end
32
+ end
33
+
34
+ context "provides" do
35
+ it "handles a provides" do
36
+ items = parse_dsl {
37
+ package {
38
+ name 'foo'
39
+ version '0.0.1'
40
+ type 'test'
41
+ provides 'foo'
42
+ }
43
+ }
44
+ expect(items[0].provides).to be_instance_of(Array)
45
+ expect(items[0].provides[0]).to eq('foo')
46
+ end
47
+
48
+ it "handles multiple dependencies" do
49
+ items = parse_dsl {
50
+ package {
51
+ name 'foo'
52
+ version '0.0.1'
53
+ type 'test'
54
+ provides 'foo', 'bar'
55
+ provides 'baz'
56
+ }
57
+ }
58
+ expect(items[0].provides).to be_instance_of(Array)
59
+ expect(items[0].provides).to eq([ 'foo', 'bar', 'baz' ])
60
+ end
61
+ end
62
+ end
@@ -1,48 +1,48 @@
1
- require './spec/dsl/context.rb'
2
- describe Packager::DSL do
3
- context "error handling" do
4
- include_context :dsl
5
-
6
- it "reject an empty package" do
7
- expect {
8
- parse_dsl { package {} }
9
- }.to raise_error("Every package must have a name")
10
- end
11
-
12
- it "reject a package without a name" do
13
- expect {
14
- parse_dsl { package { version '0.0.1' } }
15
- }.to raise_error("Every package must have a name")
16
- end
17
-
18
- context "for versions" do
19
- it "reject a package without a version" do
20
- expect {
21
- parse_dsl { package { name 'foo' } }
22
- }.to raise_error("Every package must have a version")
23
- end
24
-
25
- it "rejects a package with a bad version" do
26
- expect {
27
- parse_dsl {
28
- package {
29
- name 'foo'
30
- version 'b'
31
- }
32
- }
33
- }.to raise_error("'b' is not a legal version string")
34
- end
35
- end
36
-
37
- it "rejects a package without a type" do
38
- expect {
39
- parse_dsl {
40
- package {
41
- name 'foo'
42
- version '0.0.1'
43
- }
44
- }
45
- }.to raise_error("Every package must have a type")
46
- end
47
- end
48
- end
1
+ require './spec/dsl/context.rb'
2
+ describe Packager::DSL do
3
+ context "error handling" do
4
+ include_context :dsl
5
+
6
+ it "reject an empty package" do
7
+ expect {
8
+ parse_dsl { package {} }
9
+ }.to raise_error("Every package must have a name")
10
+ end
11
+
12
+ it "reject a package without a name" do
13
+ expect {
14
+ parse_dsl { package { version '0.0.1' } }
15
+ }.to raise_error("Every package must have a name")
16
+ end
17
+
18
+ context "for versions" do
19
+ it "reject a package without a version" do
20
+ expect {
21
+ parse_dsl { package { name 'foo' } }
22
+ }.to raise_error("Every package must have a version")
23
+ end
24
+
25
+ it "rejects a package with a bad version" do
26
+ expect {
27
+ parse_dsl {
28
+ package {
29
+ name 'foo'
30
+ version 'b'
31
+ }
32
+ }
33
+ }.to raise_error("'b' is not a legal version string")
34
+ end
35
+ end
36
+
37
+ it "rejects a package without a type" do
38
+ expect {
39
+ parse_dsl {
40
+ package {
41
+ name 'foo'
42
+ version '0.0.1'
43
+ }
44
+ }
45
+ }.to raise_error("Every package must have a type")
46
+ end
47
+ end
48
+ end
@@ -1,46 +1,46 @@
1
- require './spec/dsl/context.rb'
2
- describe Packager::DSL do
3
- context "files" do
4
- include_context :dsl
5
-
6
- it "handles one file" do
7
- items = parse_dsl {
8
- package {
9
- name 'foo'
10
- version '0.0.1'
11
- type 'test'
12
- file {
13
- source 'foo'
14
- dest 'bar'
15
- }
16
- }
17
- }
18
- expect(items[0].files).to be_instance_of(Array)
19
- expect(items[0].files[0].source).to eq('foo')
20
- expect(items[0].files[0].dest).to eq('bar')
21
- end
22
-
23
- it "handles two files" do
24
- items = parse_dsl {
25
- package {
26
- name 'foo'
27
- version '0.0.1'
28
- type 'test'
29
- file {
30
- source 'foo'
31
- dest 'bar'
32
- }
33
- files {
34
- source 'foo2'
35
- dest 'bar2'
36
- }
37
- }
38
- }
39
- expect(items[0].files).to be_instance_of(Array)
40
- expect(items[0].files[0].source).to eq('foo')
41
- expect(items[0].files[0].dest).to eq('bar')
42
- expect(items[0].files[1].source).to eq('foo2')
43
- expect(items[0].files[1].dest).to eq('bar2')
44
- end
45
- end
46
- end
1
+ require './spec/dsl/context.rb'
2
+ describe Packager::DSL do
3
+ context "files" do
4
+ include_context :dsl
5
+
6
+ it "handles one file" do
7
+ items = parse_dsl {
8
+ package {
9
+ name 'foo'
10
+ version '0.0.1'
11
+ type 'test'
12
+ file {
13
+ source 'foo'
14
+ dest 'bar'
15
+ }
16
+ }
17
+ }
18
+ expect(items[0].files).to be_instance_of(Array)
19
+ expect(items[0].files[0].source).to eq('foo')
20
+ expect(items[0].files[0].dest).to eq('bar')
21
+ end
22
+
23
+ it "handles two files" do
24
+ items = parse_dsl {
25
+ package {
26
+ name 'foo'
27
+ version '0.0.1'
28
+ type 'test'
29
+ file {
30
+ source 'foo'
31
+ dest 'bar'
32
+ }
33
+ files {
34
+ source 'foo2'
35
+ dest 'bar2'
36
+ }
37
+ }
38
+ }
39
+ expect(items[0].files).to be_instance_of(Array)
40
+ expect(items[0].files[0].source).to eq('foo')
41
+ expect(items[0].files[0].dest).to eq('bar')
42
+ expect(items[0].files[1].source).to eq('foo2')
43
+ expect(items[0].files[1].dest).to eq('bar2')
44
+ end
45
+ end
46
+ end