evergreen 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5868eb24860d9381de9919b737f6cadb715c4254
4
- data.tar.gz: 3246850546451e57d0a9dc59c421df029021592e
2
+ SHA256:
3
+ metadata.gz: 12054bebbd9a612514c67e0b3c3d07d57c01d39bb852dfffaecd5f083fe50317
4
+ data.tar.gz: 01fc5ea326d67512d3561dc1addbe0a7f2f344181fdcca58fc01a3197fc81e73
5
5
  SHA512:
6
- metadata.gz: a00970d4dc303e3e30098513711a130d52e1d5b966b5b78fc6ec6d09b0fa3232c587ddbe555da9e9e3e2324a417eb80aa8a7ceb71a39f03dfe5f1be1c085e96b
7
- data.tar.gz: 918d2d3b9f21a944eb6e7c99b2caef1abf56f7bfb16122dfeb3a36a9de61b0693583e08271afa98e090b4c2f6912204c9068f06a1d5ed0b2974d54f5129313d6
6
+ metadata.gz: 9b7a3ffcd02df22bc5a97469afbf91b9e36646d9090f8b0d568cb480e4cb80501d6f7487bc22328b280cf6d5e066ba52ddb0247cff3a2e7e421ee4849f57e1af
7
+ data.tar.gz: f9de56443457af813773800f5e74d8cc69bafc7fea8ee80f94505f195c649a3318ba3649c496e692d655a8738503ca587785622456cd46c181a4d5a722617240
data/README.rdoc CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  {<img src="https://travis-ci.org/abepetrillo/evergreen.png" />}[http://travis-ci.org/abepetrillo/evergreen]
4
4
  {<img src="https://coveralls.io/repos/abepetrillo/evergreen/badge.png" alt="Coverage Status" />}[https://coveralls.io/r/abepetrillo/evergreen]
5
+ {<img src="https://codeclimate.com/github/abepetrillo/evergreen/badges/gpa.svg" />}[https://codeclimate.com/github/abepetrillo/evergreen]
5
6
 
6
7
  "Because green is the new Blue(Ridge)"
7
8
 
@@ -1,6 +1,8 @@
1
1
  if(!this.JSON){this.JSON={};}
2
2
 
3
- var Evergreen = {};
3
+ var Evergreen = {
4
+ potentialConflicts: {}
5
+ };
4
6
 
5
7
  Evergreen.dots = ""
6
8
 
@@ -35,16 +37,37 @@ beforeEach(function() {
35
37
  document.getElementById('test').innerHTML = "";
36
38
  });
37
39
 
38
- var template = function(name) {
40
+ Evergreen.template = function(name) {
39
41
  beforeEach(function() {
40
42
  document.getElementById('test').innerHTML = Evergreen.templates[name]
41
43
  });
42
44
  };
43
45
 
44
- var require = function(file) {
46
+ Evergreen.require = function(file) {
45
47
  document.write('<script type="text/javascript" src="' + file + '"></script>');
46
48
  };
47
49
 
48
- var stylesheet = function(file) {
50
+ Evergreen.stylesheet = function(file) {
49
51
  document.write('<link rel="stylesheet" type="text/css" href="' + file + '"/>');
50
52
  };
53
+
54
+ Evergreen.defineGlobalMethods = function(){
55
+ this.potentialConflicts['require'] = window['require']
56
+ this.potentialConflicts['template'] = window['template']
57
+ this.potentialConflicts['stylesheet'] = window['stylesheet']
58
+
59
+ window.require = Evergreen.require
60
+ window.template = Evergreen.template
61
+ window.stylesheet = Evergreen.stylesheet
62
+ }
63
+
64
+
65
+
66
+ //Tells Evergreen to namespace functions instead of potentially over-riding existing ones
67
+ Evergreen.noConflict = function() {
68
+ window.require = this.potentialConflicts.require
69
+ window.template = this.potentialConflicts.template
70
+ window.stylesheet = this.potentialConflicts.stylesheet
71
+ }
72
+
73
+ Evergreen.defineGlobalMethods()
@@ -49,7 +49,7 @@ module Evergreen
49
49
 
50
50
  previous_results = ""
51
51
 
52
- Evergreen.timeout(300) do
52
+ Evergreen.timeout(Evergreen.spec_timeout, "#{spec.name} timed out!") do
53
53
  dots = session.evaluate_script('Evergreen.dots')
54
54
  io.print dots.sub(/^#{Regexp.escape(previous_results)}/, '')
55
55
  io.flush
@@ -30,7 +30,7 @@ module Evergreen
30
30
  end
31
31
 
32
32
  def templates
33
- Dir.glob(File.join(root, Evergreen.template_dir, '*')).map do |path|
33
+ Dir.glob(File.join(root, Evergreen.template_dir, '**/*')).map do |path|
34
34
  Template.new(self, File.basename(path))
35
35
  end
36
36
  end
@@ -1,3 +1,3 @@
1
1
  module Evergreen
2
- VERSION = '1.2.0'
2
+ VERSION = '1.3.0'
3
3
  end
data/lib/evergreen.rb CHANGED
@@ -17,7 +17,7 @@ module Evergreen
17
17
  autoload :Helper, 'evergreen/helper'
18
18
 
19
19
  class << self
20
- attr_accessor :driver, :root, :application, :public_dir, :spec_dir, :template_dir, :helper_dir, :mounted_at
20
+ attr_accessor :driver, :root, :application, :public_dir, :spec_dir, :template_dir, :helper_dir, :mounted_at, :spec_timeout
21
21
 
22
22
  def configure
23
23
  yield self
@@ -32,6 +32,7 @@ module Evergreen
32
32
  config.template_dir = 'spec/javascripts/templates'
33
33
  config.helper_dir = 'spec/javascripts/helpers'
34
34
  config.mounted_at = ""
35
+ config.spec_timeout = 300
35
36
  end
36
37
  end
37
38
  end
@@ -0,0 +1 @@
1
+ ../../spec
@@ -6,34 +6,34 @@ describe Evergreen::Application do
6
6
  it "should show a successful test run" do
7
7
  visit("/")
8
8
  click_link("testing_spec.js")
9
- page.should have_content("2 specs, 0 failures")
9
+ expect(page).to have_content "2 specs, 0 failures"
10
10
  end
11
11
 
12
12
  it "should show a successful test run for a coffeescript spec" do
13
13
  visit("/")
14
14
  click_link("coffeescript_spec.coffee")
15
- page.should have_content("2 specs, 0 failures")
15
+ expect(page).to have_content("2 specs, 0 failures")
16
16
  end
17
17
 
18
18
  it "should show errors for a failing spec" do
19
19
  visit("/")
20
20
  click_link("failing_spec.js")
21
- page.should have_content("2 specs, 1 failure")
22
- page.should have_content("Expected 'bar' to equal 'noooooo'.")
21
+ expect(page).to have_content("2 specs, 1 failure")
22
+ expect(page).to have_content("Expected 'bar' to equal 'noooooo'.")
23
23
  end
24
24
 
25
25
  it "should run all specs" do
26
26
  visit("/")
27
27
  click_link("All")
28
- page.should have_content("18 specs, 3 failures")
29
- page.should have_content("Expected 'bar' to equal 'noooooo'.")
28
+ expect(page).to have_content("18 specs, 3 failures")
29
+ expect(page).to have_content("Expected 'bar' to equal 'noooooo'.")
30
30
  end
31
31
 
32
32
  it "should run a spec inline" do
33
33
  visit("/")
34
34
  within('li', :text => 'testing_spec.js') do
35
35
  click_link("Run")
36
- page.should have_content('Pass')
36
+ expect(page).to have_content('Pass')
37
37
  end
38
38
  end
39
39
 
@@ -42,9 +42,9 @@ describe Evergreen::Application do
42
42
  within('li', :text => 'failing_spec.js') do
43
43
  click_link("Run")
44
44
  begin
45
- page.should have_content('Fail')
45
+ expect(page).to have_content('Fail')
46
46
  rescue # why you make me sad, Capybara webkit???
47
- page.should have_content('Fail')
47
+ expect(page).to have_content('Fail')
48
48
  end
49
49
  end
50
50
  end
data/spec/helper_spec.rb CHANGED
@@ -1,26 +1,36 @@
1
1
  require 'spec_helper'
2
- require 'rspec/its'
3
2
 
4
3
  describe Evergreen::Helper do
5
4
  let(:suite) { Evergreen::Suite.new }
6
5
  subject { Evergreen::Helper.new(suite, 'spec_helper.js') }
7
6
 
8
- its(:name) { should == 'spec_helper.js' }
9
- its(:root) { should == File.expand_path('suite1', File.dirname(__FILE__)) }
10
- its(:full_path) { should == File.expand_path("spec/javascripts/helpers/spec_helper.js", Evergreen.root) }
11
- its(:contents) { should =~ %r(var SpecHelper = { spec: 'helper' };) }
7
+
8
+ it 'has the corrent details' do
9
+ expect(subject.name).to eq 'spec_helper.js'
10
+ expect(subject.root).to eq File.expand_path('suite1', File.dirname(__FILE__))
11
+ expect(subject.full_path).to eq File.expand_path("spec/javascripts/helpers/spec_helper.js", Evergreen.root)
12
+ expect(subject.contents).to eq "var SpecHelper = { spec: 'helper' };\n"
13
+ end
12
14
 
13
15
  context "with coffeescript" do
14
16
  subject { Evergreen::Helper.new(suite, 'spec_helper.coffee') }
15
- its(:contents) { should =~ /window.CoffeeSpecHelper/ }
17
+ it 'load the coffeeScript helper' do
18
+ expect(subject.contents).to include 'window.CoffeeSpecHelper'
19
+ end
16
20
  end
17
21
 
18
- context "with existing spec file" do
19
- it { should exist }
20
- end
22
+ describe '.exists' do
23
+ context 'with existing spec file' do
24
+ it 'returns true' do
25
+ expect(subject.exist?).to eq true
26
+ end
27
+ end
21
28
 
22
- context "with missing spec file" do
23
- subject { Evergreen::Helper.new(suite, 'does_not_exist.js') }
24
- it { should_not exist }
29
+ context "with missing spec file" do
30
+ subject { Evergreen::Helper.new(suite, 'does_not_exist.js') }
31
+ it 'returns false' do
32
+ expect(subject.exist?).to eq false
33
+ end
34
+ end
25
35
  end
26
36
  end
data/spec/meta_spec.rb CHANGED
@@ -9,27 +9,27 @@ describe Evergreen::Runner do
9
9
 
10
10
  context "with transactions spec" do
11
11
  let(:template) { 'transactions_spec.js' }
12
- it { should pass }
12
+ it { is_expected.to pass }
13
13
  end
14
14
 
15
15
  context "with spec helper" do
16
16
  let(:template) { 'with_helper_spec.js' }
17
- it { should pass }
17
+ it { is_expected.to pass }
18
18
  end
19
19
 
20
20
  context "with template spec" do
21
21
  let(:template) { 'templates_spec.js' }
22
- it { should pass }
22
+ it { is_expected.to pass }
23
23
  end
24
24
 
25
25
  context "invalid coffee" do
26
26
  let(:template) { 'invalid_coffee_spec.coffee' }
27
- it { should_not pass }
27
+ it { is_expected.not_to pass }
28
28
  end
29
29
 
30
30
  context "with slow failing spec" do
31
31
  let(:template) { 'slow_spec.coffee' }
32
- it { should_not pass }
32
+ it { is_expected.not_to pass }
33
33
  end
34
34
  end
35
35
 
@@ -38,13 +38,27 @@ describe Evergreen::Runner do
38
38
 
39
39
  context "with awesome spec" do
40
40
  let(:template) { 'awesome_spec.js' }
41
- it { should pass }
41
+ it { is_expected.to pass }
42
42
  end
43
43
 
44
44
  context "with failing spec" do
45
45
  let(:template) { 'failing_spec.js' }
46
- it { should_not pass }
46
+ it { is_expected.not_to pass }
47
47
  end
48
48
  end
49
- end
50
49
 
50
+ context 'when noConflict is called via JS' do
51
+ before { Evergreen.root = File.expand_path('suite3', File.dirname(__FILE__)) }
52
+ let(:template) { 'awesome_spec.js' }
53
+ it 'does not over-ride existing methods in window' do
54
+ expect(subject).to pass
55
+ end
56
+
57
+ context 'and not using the Evergreen namespace' do
58
+ let(:template) { 'failing_spec.js' }
59
+ it 'fails' do
60
+ expect(subject).to_not pass
61
+ end
62
+ end
63
+ end
64
+ end
data/spec/runner_spec.rb CHANGED
@@ -10,8 +10,8 @@ describe Evergreen::Runner do
10
10
 
11
11
  describe 'the buffer' do
12
12
  subject { buffer.rewind; buffer.read }
13
- it { should include("Expected 'bar' to equal 'noooooo'") }
14
- it { should include("18 examples, 3 failures") }
13
+ it { is_expected.to include("Expected 'bar' to equal 'noooooo'") }
14
+ it { is_expected.to include("18 examples, 3 failures") }
15
15
  end
16
16
  end
17
17
 
@@ -22,9 +22,9 @@ describe Evergreen::Runner do
22
22
  describe 'the buffer' do
23
23
  subject { buffer.rewind; buffer.read }
24
24
 
25
- it { should include('.F') }
26
- it { should include("Expected 'bar' to equal 'noooooo'") }
27
- it { should include("2 examples, 1 failures") }
25
+ it { is_expected.to include('.F') }
26
+ it { is_expected.to include("Expected 'bar' to equal 'noooooo'") }
27
+ it { is_expected.to include("2 examples, 1 failures") }
28
28
  end
29
29
  end
30
30
  end
data/spec/spec_helper.rb CHANGED
@@ -21,6 +21,11 @@ Capybara.default_driver = TEST_DRIVER
21
21
 
22
22
  module EvergreenMatchers
23
23
  class PassSpec # :nodoc:
24
+
25
+ def description
26
+ 'Successfull if the runner manages to pass all the JS specs'
27
+ end
28
+
24
29
  def matches?(actual)
25
30
  @actual = actual
26
31
  @runner = Evergreen::Runner.new(StringIO.new).spec_runner(@actual)
@@ -31,7 +36,7 @@ module EvergreenMatchers
31
36
  "expected #{@actual.name} to pass, but it failed with:\n\n#{@runner.failure_messages}"
32
37
  end
33
38
 
34
- def negative_failure_message
39
+ def failure_message_when_negated
35
40
  "expected #{@actual.name} not to pass, but it did"
36
41
  end
37
42
  end
data/spec/spec_spec.rb CHANGED
@@ -4,24 +4,28 @@ describe Evergreen::Spec do
4
4
  let(:suite) { Evergreen::Suite.new }
5
5
  subject { Evergreen::Spec.new(suite, 'testing_spec.js') }
6
6
 
7
- its(:name) { should == 'testing_spec.js' }
8
- its(:root) { should == File.expand_path('suite1', File.dirname(__FILE__)) }
9
- its(:full_path) { should == File.expand_path("spec/javascripts/testing_spec.js", Evergreen.root) }
10
- its(:url) { should == "/run/testing_spec.js" }
11
- its(:contents) { should =~ /describe\('testing'/ }
7
+ it 'has the correct details' do
8
+ expect(subject.name).to eq 'testing_spec.js'
9
+ expect(subject.root).to eq File.expand_path('suite1', File.dirname(__FILE__))
10
+ expect(subject.full_path).to eq File.expand_path("spec/javascripts/testing_spec.js", Evergreen.root)
11
+ expect(subject.url).to eq "/run/testing_spec.js"
12
+ expect(subject.contents).to include "describe\('testing'"
13
+ end
12
14
 
13
15
  context "with coffeescript" do
14
16
  subject { Evergreen::Spec.new(suite, 'coffeescript_spec.coffee') }
15
- its(:contents) { should =~ /describe\('coffeescript', function/ }
17
+ it 'contains coffeescript' do
18
+ expect(subject.contents).to include "describe\('coffeescript', function"
19
+ end
16
20
  end
17
21
 
18
22
  context "with existing spec file" do
19
- it { should exist }
23
+ it { is_expected.to exist }
20
24
  end
21
25
 
22
26
  context "with missing spec file" do
23
27
  subject { Evergreen::Spec.new(suite, 'does_not_exist.js') }
24
- it { should_not exist }
28
+ it { is_expected.not_to exist }
25
29
  end
26
30
 
27
31
  end
@@ -0,0 +1 @@
1
+ var something = "The Foo";
@@ -0,0 +1,12 @@
1
+ Evergreen.require('/foo.js');
2
+
3
+ describe('awesome', function() {
4
+ Evergreen.template('foo.html');
5
+
6
+ it('requires public files', function() {
7
+ expect(something).toEqual('The Foo');
8
+ });
9
+ it('loads templates', function() {
10
+ expect(document.getElementById('foo').innerHTML).toEqual('The foo template');
11
+ });
12
+ });
@@ -0,0 +1,12 @@
1
+ require('/foo.js');
2
+
3
+ describe('awesome', function() {
4
+ template('foo.html');
5
+
6
+ it('requires public files', function() {
7
+ expect(something).toEqual('The Foo');
8
+ });
9
+ it('loads templates', function() {
10
+ expect(document.getElementById('foo').innerHTML).toEqual('The foo template');
11
+ });
12
+ });
@@ -0,0 +1,9 @@
1
+ Evergreen.noConflict();
2
+
3
+ require = function(file){
4
+ //console.log('custom require code')
5
+ }
6
+
7
+ template = function(file){
8
+ //console.log('custom template code')
9
+ }
@@ -0,0 +1 @@
1
+ <div id="foo">The foo template</div>
@@ -0,0 +1 @@
1
+ <div id="foo">The foo template</div>
data/spec/suite_spec.rb CHANGED
@@ -16,19 +16,19 @@ describe Evergreen::Suite do
16
16
 
17
17
  describe '#specs' do
18
18
  it "should find all specs recursively in the given root directory" do
19
- subject.specs.map(&:name).should include('testing_spec.js', 'foo_spec.js', 'bar_spec.js', 'libs/lucid_spec.js', 'models/game_spec.js')
19
+ expect(subject.specs.map(&:name)).to include('testing_spec.js', 'foo_spec.js', 'bar_spec.js', 'libs/lucid_spec.js', 'models/game_spec.js')
20
20
  end
21
21
  end
22
22
 
23
23
  describe '#templates' do
24
24
  it "should find all specs in the given root directory" do
25
- subject.templates.map(&:name).should include('one_template.html', 'another_template.html')
25
+ expect(subject.templates.map(&:name)).to include('one_template.html', 'another_template.html')
26
26
  end
27
27
  end
28
28
 
29
29
  describe '#spec_helpers' do
30
30
  it "should find all spec helpers in the given helpers directory" do
31
- subject.helpers.map(&:name).should include('spec_helper.js', 'spec_helper.coffee')
31
+ expect(subject.helpers.map(&:name)).to include('spec_helper.js', 'spec_helper.coffee')
32
32
  end
33
33
  end
34
34
  end
@@ -4,18 +4,26 @@ describe Evergreen::Template do
4
4
  let(:suite) { Evergreen::Suite.new }
5
5
  subject { Evergreen::Template.new(suite, 'one_template.html') }
6
6
 
7
- its(:name) { should == 'one_template.html' }
8
- its(:root) { should == File.expand_path('suite1', File.dirname(__FILE__)) }
9
- its(:full_path) { should == File.expand_path("spec/javascripts/templates/one_template.html", Evergreen.root) }
10
- its(:contents) { should =~ %r(<h1 id="from\-template">This is from the template</h1>) }
11
-
12
- context "with existing spec file" do
13
- it { should exist }
7
+ it 'has the correct details' do
8
+ expect(subject.name).to eq 'one_template.html'
9
+ expect(subject.root).to eq File.expand_path('suite1', File.dirname(__FILE__))
10
+ expect(subject.full_path).to eq File.expand_path("spec/javascripts/templates/one_template.html", Evergreen.root)
11
+ expect(subject.contents).to include '<h1 id="from-template">This is from the template</h1>'
14
12
  end
15
13
 
16
- context "with missing spec file" do
17
- subject { Evergreen::Template.new(suite, 'does_not_exist.html') }
18
- it { should_not exist }
14
+ describe '.exist?' do
15
+ context "with existing spec file" do
16
+ it 'returns true' do
17
+ expect(subject.exist?).to eq true
18
+ end
19
+ end
20
+
21
+ context "with missing spec file" do
22
+ subject { Evergreen::Template.new(suite, 'does_not_exist.html') }
23
+ it 'returns false' do
24
+ expect(subject.exist?).to eq false
25
+ end
26
+ end
19
27
  end
20
28
 
21
29
  end
@@ -25,6 +33,6 @@ describe Evergreen::Template, "escaping" do
25
33
  subject { Evergreen::Template.new(suite, 'escape.html') }
26
34
 
27
35
  it "escapes contents" do
28
- subject.escaped_contents.strip.should == %{"<scr" + "ipt>var foo = 0;</scr" + "ipt>\\n"}
36
+ expect(subject.escaped_contents.strip).to eq %{"<scr" + "ipt>var foo = 0;</scr" + "ipt>\\n"}
29
37
  end
30
38
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evergreen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Nicklas
8
- autorequire:
8
+ - Abe Petrillo
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-01-12 00:00:00.000000000 Z
12
+ date: 2023-04-18 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: capybara
@@ -42,14 +43,14 @@ dependencies:
42
43
  name: sinatra
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - "~>"
46
+ - - ">="
46
47
  - !ruby/object:Gem::Version
47
48
  version: '1.1'
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - "~>"
53
+ - - ">="
53
54
  - !ruby/object:Gem::Version
54
55
  version: '1.1'
55
56
  - !ruby/object:Gem::Dependency
@@ -86,42 +87,14 @@ dependencies:
86
87
  requirements:
87
88
  - - "~>"
88
89
  - !ruby/object:Gem::Version
89
- version: '2.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '2.0'
97
- - !ruby/object:Gem::Dependency
98
- name: rspec-its
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: therubyracer
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.9'
90
+ version: '3.2'
118
91
  type: :development
119
92
  prerelease: false
120
93
  version_requirements: !ruby/object:Gem::Requirement
121
94
  requirements:
122
95
  - - "~>"
123
96
  - !ruby/object:Gem::Version
124
- version: '0.9'
97
+ version: '3.2'
125
98
  - !ruby/object:Gem::Dependency
126
99
  name: rake
127
100
  requirement: !ruby/object:Gem::Requirement
@@ -217,6 +190,7 @@ files:
217
190
  - lib/jasmine/lib/jasmine-core/jasmine.css
218
191
  - lib/jasmine/lib/jasmine-core/jasmine.js
219
192
  - lib/jasmine/lib/jasmine-core/json2.js
193
+ - lib/jasmine/lib/jasmine-core/spec
220
194
  - lib/jasmine/lib/jasmine-core/version.rb
221
195
  - lib/jasmine/spec/console/ConsoleReporterSpec.js
222
196
  - lib/jasmine/spec/core/BaseSpec.js
@@ -336,12 +310,19 @@ files:
336
310
  - spec/suite2/spec/awesome_spec.js
337
311
  - spec/suite2/spec/failing_spec.js
338
312
  - spec/suite2/templates/foo.html
313
+ - spec/suite3/public/foo.js
314
+ - spec/suite3/spec/javascripts/awesome_spec.js
315
+ - spec/suite3/spec/javascripts/failing_spec.js
316
+ - spec/suite3/spec/javascripts/helpers/spec_helper.js
317
+ - spec/suite3/spec/javascripts/templates/foo.html
318
+ - spec/suite3/templates/foo.html
339
319
  - spec/suite_spec.rb
340
320
  - spec/template_spec.rb
341
- homepage: http://github.com/jnicklas/evergreen
342
- licenses: []
321
+ homepage: http://github.com/abepetrillo/evergreen
322
+ licenses:
323
+ - MIT
343
324
  metadata: {}
344
- post_install_message:
325
+ post_install_message:
345
326
  rdoc_options:
346
327
  - "--main"
347
328
  - README.rdoc
@@ -358,10 +339,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
358
339
  - !ruby/object:Gem::Version
359
340
  version: '0'
360
341
  requirements: []
361
- rubyforge_project: evergreen
362
- rubygems_version: 2.4.5
363
- signing_key:
342
+ rubygems_version: 3.3.26
343
+ signing_key:
364
344
  specification_version: 4
365
345
  summary: Run Jasmine JavaScript unit tests, integrate them into Ruby applications.
366
346
  test_files: []
367
- has_rdoc: