konacha 2.7.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.8.7
4
3
  - 1.9.3
5
4
  - 2.0.0
6
5
  gemfile:
@@ -10,8 +9,5 @@ before_script:
10
9
  - sh -e /etc/init.d/xvfb start
11
10
  - export DISPLAY=:99.0
12
11
  matrix:
13
- exclude:
14
- - gemfile: Gemfile-rails4
15
- rvm: 1.8.7
16
12
  allow_failures:
17
13
  - { gemfile: Gemfile-rails4 }
data/Gemfile CHANGED
@@ -1,5 +1,2 @@
1
1
  source 'https://rubygems.org'
2
2
  gemspec
3
-
4
- # https://github.com/jonleighton/poltergeist/issues/320
5
- gem 'faye-websocket', '~> 0.4.4'
@@ -5,6 +5,3 @@ gem "railties", github: "rails/rails"
5
5
  gem "activemodel", github: "rails/rails"
6
6
  gem "journey", github: "rails/journey"
7
7
  gem "sprockets-rails", github: "rails/sprockets-rails"
8
-
9
- # https://github.com/jonleighton/poltergeist/issues/320
10
- gem 'faye-websocket', '~> 0.4.4'
data/History.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # master
2
2
 
3
+ # 3.0.0
4
+
5
+ * Update mocha (1.10.0)
6
+ * Fix reporting of errors in asynchronous tests (#136)
7
+ * Add a Konacha.config option to set formatters (#137)
8
+ * Test against latest version of Poltergeist
9
+ * Ruby 1.8.7 is no longer supported
10
+
3
11
  # 2.7.0
4
12
 
5
13
  * Fix semantics of pending event for RSpec reporters (#131, #132)
data/README.md CHANGED
@@ -255,42 +255,10 @@ describe("templating", function() {
255
255
  });
256
256
  ```
257
257
 
258
- ## Upgrading from Konacha 1.x
258
+ ## Upgrading from Konacha 2.x
259
259
 
260
- ### Iframe
261
-
262
- As of Konacha 2.0, each test file is run inside an isolated iframe. For
263
- compatibility with Konacha 1.x, the iframe's `<body>` element will have
264
- `id="konacha"` set on it.
265
-
266
- Previously, all test files would run in the same environment. Thus, if only
267
- one test file pulled in an external library, all tests would be able to use
268
- it. Now test files are run in isolation. If you encounter an undefined
269
- JavaScript module in your test, you may be missing an explicit `//= require`
270
- call somewhere.
271
-
272
- ### Options
273
-
274
- In Konacha 1.x you would set `Konacha.mochaOptions` in `konacha_config.js`:
275
-
276
- ```javascript
277
- // Old syntax
278
- Konacha.mochaOptions.ignoreLeaks = true;
279
- ```
280
-
281
- The `konacha_config.js` file is no longer used by Konacha 2.0. Instead, call
282
- Mocha's own methods in [`spec_helper.js`](#spec-helper):
283
-
284
- ```javascript
285
- // New syntax
286
- mocha.ignoreLeaks();
287
- ```
288
-
289
- ### Global `mocha`
290
-
291
- Konacha 2.0 ships with an upgraded Mocha. Some objects that were previously
292
- available on the global `mocha` object might now be located on `Mocha`. If you
293
- get an error message to this effect, adjust your code accordingly.
260
+ The only backward-incompatible change in Konacha 3.0 is that Ruby 1.8.7 is
261
+ no longer supported. Please upgrade to 1.9.3 or 2.0.
294
262
 
295
263
  ## Contributing
296
264
 
@@ -5,6 +5,13 @@ window.Konacha = {
5
5
  }
6
6
  };
7
7
 
8
+ // Push errors to parent iframe.
9
+ window.onerror = function() {
10
+ if (parent.onerror) {
11
+ return parent.onerror.apply(parent, arguments);
12
+ }
13
+ };
14
+
8
15
  window.Mocha = Object.create(parent.Mocha);
9
16
  window.mocha = Object.create(parent.mocha);
10
17
 
@@ -17,7 +17,7 @@ the asset pipeline and engines.}
17
17
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
18
  gem.name = "konacha"
19
19
  gem.require_paths = ["lib"]
20
- gem.version = "2.7.0"
20
+ gem.version = "3.0.0"
21
21
  gem.license = "MIT"
22
22
 
23
23
  gem.add_dependency "railties", ">= 3.1", "< 5"
@@ -32,5 +32,6 @@ the asset pipeline and engines.}
32
32
  gem.add_development_dependency "coffee-script"
33
33
  gem.add_development_dependency "ejs"
34
34
  gem.add_development_dependency "tzinfo"
35
- gem.add_development_dependency "poltergeist", "~> 1.0.2"
35
+ gem.add_development_dependency "selenium-webdriver"
36
+ gem.add_development_dependency "poltergeist", "~> 1.3.0"
36
37
  end
@@ -29,7 +29,7 @@ module Konacha
29
29
  yield config
30
30
  end
31
31
 
32
- delegate :port, :spec_dir, :spec_matcher, :application, :driver, :runner_port, :to => :config
32
+ delegate :port, :spec_dir, :spec_matcher, :application, :driver, :runner_port, :formatters, :to => :config
33
33
 
34
34
  def spec_root
35
35
  File.join(Rails.root, config.spec_dir)
@@ -20,6 +20,16 @@ module Konacha
20
20
  end
21
21
  end
22
22
 
23
+ def self.formatters
24
+ if ENV['FORMAT']
25
+ ENV['FORMAT'].split(',').map do |string|
26
+ eval(string).new(STDOUT)
27
+ end
28
+ else
29
+ [Konacha::Formatter.new(STDOUT)]
30
+ end
31
+ end
32
+
23
33
  initializer "konacha.environment" do |app|
24
34
  options = app.config.konacha
25
35
 
@@ -31,6 +41,7 @@ module Konacha
31
41
  options.stylesheets ||= %w(application)
32
42
  options.verbose ||= false
33
43
  options.runner_port ||= nil
44
+ options.formatters ||= self.class.formatters
34
45
 
35
46
  app.config.assets.paths << app.root.join(options.spec_dir).to_s
36
47
  end
@@ -11,7 +11,7 @@ module Konacha
11
11
 
12
12
  def initialize(session = nil)
13
13
  @session = session
14
- @reporter = Konacha::Reporter.new(*formatters)
14
+ @reporter = Konacha::Reporter.new(*Konacha.formatters)
15
15
  end
16
16
 
17
17
  def run(path = '/')
@@ -40,16 +40,5 @@ module Konacha
40
40
  def session
41
41
  @session ||= Capybara::Session.new(Konacha.driver, Konacha.application)
42
42
  end
43
-
44
- private
45
- def formatters
46
- if ENV['FORMAT']
47
- ENV['FORMAT'].split(',').map do |string|
48
- eval(string).new(STDOUT)
49
- end
50
- else
51
- [Konacha::Formatter.new(STDOUT)]
52
- end
53
- end
54
43
  end
55
44
  end
@@ -8,4 +8,13 @@ describe("failure", function(){
8
8
  // throwing real Error objects.
9
9
  throw new Error("this one errors out");
10
10
  });
11
+
12
+ it("errors asynchronously", function(done) {
13
+ setTimeout(function() {
14
+ (2 + 2).should.equal(5);
15
+ }, 0);
16
+ setTimeout(function() {
17
+ done();
18
+ }, 10);
19
+ });
11
20
  });
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ describe Konacha::Engine do
4
+ describe ".formatters" do
5
+ it "defaults to a Konacha::Formatter pointing to STDOUT" do
6
+ Konacha::Formatter.should_receive(:new).with(STDOUT) { :formatter }
7
+ Konacha::Engine.formatters.should == [:formatter]
8
+ end
9
+
10
+ context "with a FORMAT environment variable" do
11
+ before do
12
+ class TestFormatter
13
+ def initialize(io)
14
+ end
15
+ end
16
+ ENV['FORMAT'] = 'Konacha::Formatter,TestFormatter'
17
+ end
18
+
19
+ after do
20
+ Object.send(:remove_const, :TestFormatter)
21
+ ENV.delete('FORMAT')
22
+ end
23
+
24
+ it "creates the specified formatters" do
25
+ Konacha::Formatter.should_receive(:new).with(STDOUT) { :formatter }
26
+ TestFormatter.should_receive(:new).with(STDOUT) { :test_formatter }
27
+ Konacha::Engine.formatters.should == [:formatter, :test_formatter]
28
+ end
29
+ end
30
+ end
31
+ end
@@ -3,25 +3,12 @@ require 'spec_helper'
3
3
  describe Konacha::Runner do
4
4
  before do
5
5
  Konacha.mode = :runner
6
- STDOUT.stub(:puts)
7
6
  end
8
- describe ".new" do
9
-
10
- before do
11
- class TestFormatter
12
- def initialize(io)
13
- end
14
- end
15
- ENV['FORMAT'] = 'Konacha::Formatter,TestFormatter'
16
- end
17
-
18
- after do
19
- Object.send(:remove_const, :TestFormatter)
20
- ENV.delete('FORMAT')
21
- end
22
7
 
23
- it "initializes a reporter with formatters named by the FORMAT environment variable" do
24
- Konacha::Reporter.should_receive(:new).with(instance_of(Konacha::Formatter), instance_of(TestFormatter))
8
+ describe ".new" do
9
+ it 'creates a reporter with formatters returned by Konacha.formatters' do
10
+ Konacha.should_receive(:formatters) { :formatters }
11
+ Konacha::Reporter.should_receive(:new).with(:formatters)
25
12
  described_class.new
26
13
  end
27
14
 
@@ -43,6 +30,7 @@ describe Konacha::Runner do
43
30
  before do
44
31
  Konacha.configure do |config|
45
32
  config.driver = driver
33
+ config.formatters = [Konacha::Formatter.new(StringIO.new)]
46
34
  end
47
35
  end
48
36
 
@@ -101,6 +89,20 @@ describe Konacha::Runner do
101
89
  'error' => {'message' => 'this one errors out', 'name' => 'Error'}}}
102
90
  end
103
91
 
92
+ let(:error_async) do
93
+ {'event' => 'fail',
94
+ 'type' => 'test',
95
+ 'data' => {
96
+ 'title' => 'errors asynchronously',
97
+ 'fullTitle' => 'failure errors asynchronously',
98
+ 'parentFullTitle' => 'failure',
99
+ 'status' => 'failed',
100
+ 'path' => 'failing_spec.js',
101
+ # Accept anything for 'message' since async errors have URLs, which
102
+ # vary on every run, and line #, which may change in Chai releases.
103
+ 'error' => {'message' => anything(), 'name' => 'Error'}}}
104
+ end
105
+
104
106
  let(:pass) do
105
107
  {'event' => 'pass',
106
108
  'type' => 'test',
@@ -134,6 +136,7 @@ describe Konacha::Runner do
134
136
  subject.reporter.should_receive(:process_mocha_event).with(test)
135
137
  subject.reporter.should_receive(:process_mocha_event).with(failure)
136
138
  subject.reporter.should_receive(:process_mocha_event).with(error)
139
+ subject.reporter.should_receive(:process_mocha_event).with(error_async)
137
140
  subject.reporter.should_receive(:process_mocha_event).with(pass)
138
141
  subject.reporter.should_receive(:process_mocha_event).with(pending)
139
142
  subject.reporter.should_receive(:process_mocha_event).with(end_event)
@@ -21,6 +21,13 @@ Capybara.configure do |config|
21
21
  config.app = Konacha.application
22
22
  end
23
23
 
24
+ Capybara.register_driver :poltergeist do |app|
25
+ # Work around a bug in PhantomJS where `return true` from a
26
+ # window.onerror handler does not prevent an uncaught exception
27
+ # from being reported to Ruby.
28
+ Capybara::Poltergeist::Driver.new(app, :js_errors => false)
29
+ end
30
+
24
31
  module Konacha
25
32
  module FeatureSpec
26
33
  def app
@@ -1053,7 +1053,7 @@ var Suite = require('../suite')
1053
1053
  module.exports = function(suite){
1054
1054
  var suites = [suite];
1055
1055
 
1056
- suite.on('pre-require', function(context){
1056
+ suite.on('pre-require', function(context, file, mocha){
1057
1057
 
1058
1058
  /**
1059
1059
  * Execute before running tests.
@@ -1095,6 +1095,16 @@ module.exports = function(suite){
1095
1095
  if (suites.length > 1) suites.shift();
1096
1096
  var suite = Suite.create(suites[0], title);
1097
1097
  suites.unshift(suite);
1098
+ return suite;
1099
+ };
1100
+
1101
+ /**
1102
+ * Exclusive test-case.
1103
+ */
1104
+
1105
+ context.suite.only = function(title, fn){
1106
+ var suite = context.suite(title, fn);
1107
+ mocha.grep(suite.fullTitle());
1098
1108
  };
1099
1109
 
1100
1110
  /**
@@ -1104,7 +1114,26 @@ module.exports = function(suite){
1104
1114
  */
1105
1115
 
1106
1116
  context.test = function(title, fn){
1107
- suites[0].addTest(new Test(title, fn));
1117
+ var test = new Test(title, fn);
1118
+ suites[0].addTest(test);
1119
+ return test;
1120
+ };
1121
+
1122
+ /**
1123
+ * Exclusive test-case.
1124
+ */
1125
+
1126
+ context.test.only = function(title, fn){
1127
+ var test = context.test(title, fn);
1128
+ mocha.grep(test.fullTitle());
1129
+ };
1130
+
1131
+ /**
1132
+ * Pending test case.
1133
+ */
1134
+
1135
+ context.test.skip = function(title){
1136
+ context.test(title);
1108
1137
  };
1109
1138
  });
1110
1139
  };
@@ -1815,10 +1844,7 @@ exports.list = function(failures){
1815
1844
 
1816
1845
  // actual / expected diff
1817
1846
  if ('string' == typeof actual && 'string' == typeof expected) {
1818
- var len = Math.max(actual.length, expected.length);
1819
-
1820
- if (len < 20) msg = errorDiff(err, 'Chars', escape);
1821
- else msg = errorDiff(err, 'Words', escape);
1847
+ msg = errorDiff(err, 'Words', escape);
1822
1848
 
1823
1849
  // linenos
1824
1850
  var lines = msg.split('\n');
@@ -4583,6 +4609,8 @@ Runner.prototype.run = function(fn){
4583
4609
 
4584
4610
  function filterLeaks(ok, globals) {
4585
4611
  return filter(globals, function(key){
4612
+ // Firefox and Chrome exposes iframes as index inside the window object
4613
+ if (/^d+/.test(key)) return false;
4586
4614
  var matched = filter(ok, function(ok){
4587
4615
  if (~ok.indexOf('*')) return 0 == key.indexOf(ok.split('*')[0]);
4588
4616
  // Opera and IE expose global variables for HTML element IDs (issue #243)
@@ -5224,6 +5252,17 @@ exports.highlightTags = function(name) {
5224
5252
  };
5225
5253
 
5226
5254
  }); // module: utils.js
5255
+
5256
+ /**
5257
+ * Save timer references to avoid Sinon interfering (see GH-237).
5258
+ */
5259
+
5260
+ var Date = window.Date;
5261
+ var setTimeout = window.setTimeout;
5262
+ var setInterval = window.setInterval;
5263
+ var clearTimeout = window.clearTimeout;
5264
+ var clearInterval = window.clearInterval;
5265
+
5227
5266
  /**
5228
5267
  * Node shims.
5229
5268
  *
@@ -5233,7 +5272,7 @@ exports.highlightTags = function(name) {
5233
5272
  * the browser.
5234
5273
  */
5235
5274
 
5236
- process = {};
5275
+ var process = {};
5237
5276
  process.exit = function(status){};
5238
5277
  process.stdout = {};
5239
5278
  global = window;
@@ -5260,79 +5299,75 @@ process.on = function(e, fn){
5260
5299
  }
5261
5300
  };
5262
5301
 
5263
- // boot
5264
- ;(function(){
5265
-
5266
- /**
5267
- * Expose mocha.
5268
- */
5302
+ /**
5303
+ * Expose mocha.
5304
+ */
5269
5305
 
5270
- var Mocha = window.Mocha = require('mocha'),
5271
- mocha = window.mocha = new Mocha({ reporter: 'html' });
5306
+ var Mocha = window.Mocha = require('mocha'),
5307
+ mocha = window.mocha = new Mocha({ reporter: 'html' });
5272
5308
 
5273
- var immediateQueue = []
5274
- , immediateTimeout;
5309
+ var immediateQueue = []
5310
+ , immediateTimeout;
5275
5311
 
5276
- function timeslice() {
5277
- var immediateStart = new Date().getTime();
5278
- while (immediateQueue.length && (new Date().getTime() - immediateStart) < 100) {
5279
- immediateQueue.shift()();
5280
- }
5281
- if (immediateQueue.length) {
5282
- immediateTimeout = setTimeout(timeslice, 0);
5283
- } else {
5284
- immediateTimeout = null;
5285
- }
5312
+ function timeslice() {
5313
+ var immediateStart = new Date().getTime();
5314
+ while (immediateQueue.length && (new Date().getTime() - immediateStart) < 100) {
5315
+ immediateQueue.shift()();
5316
+ }
5317
+ if (immediateQueue.length) {
5318
+ immediateTimeout = setTimeout(timeslice, 0);
5319
+ } else {
5320
+ immediateTimeout = null;
5286
5321
  }
5322
+ }
5287
5323
 
5288
- /**
5289
- * High-performance override of Runner.immediately.
5290
- */
5324
+ /**
5325
+ * High-performance override of Runner.immediately.
5326
+ */
5291
5327
 
5292
- Mocha.Runner.immediately = function(callback) {
5293
- immediateQueue.push(callback);
5294
- if (!immediateTimeout) {
5295
- immediateTimeout = setTimeout(timeslice, 0);
5296
- }
5297
- };
5328
+ Mocha.Runner.immediately = function(callback) {
5329
+ immediateQueue.push(callback);
5330
+ if (!immediateTimeout) {
5331
+ immediateTimeout = setTimeout(timeslice, 0);
5332
+ }
5333
+ };
5298
5334
 
5299
- /**
5300
- * Override ui to ensure that the ui functions are initialized.
5301
- * Normally this would happen in Mocha.prototype.loadFiles.
5302
- */
5335
+ /**
5336
+ * Override ui to ensure that the ui functions are initialized.
5337
+ * Normally this would happen in Mocha.prototype.loadFiles.
5338
+ */
5303
5339
 
5304
- mocha.ui = function(ui){
5305
- Mocha.prototype.ui.call(this, ui);
5306
- this.suite.emit('pre-require', window, null, this);
5307
- return this;
5308
- };
5340
+ mocha.ui = function(ui){
5341
+ Mocha.prototype.ui.call(this, ui);
5342
+ this.suite.emit('pre-require', window, null, this);
5343
+ return this;
5344
+ };
5309
5345
 
5310
- /**
5311
- * Setup mocha with the given setting options.
5312
- */
5346
+ /**
5347
+ * Setup mocha with the given setting options.
5348
+ */
5313
5349
 
5314
- mocha.setup = function(opts){
5315
- if ('string' == typeof opts) opts = { ui: opts };
5316
- for (var opt in opts) this[opt](opts[opt]);
5317
- return this;
5318
- };
5350
+ mocha.setup = function(opts){
5351
+ if ('string' == typeof opts) opts = { ui: opts };
5352
+ for (var opt in opts) this[opt](opts[opt]);
5353
+ return this;
5354
+ };
5319
5355
 
5320
- /**
5321
- * Run mocha, returning the Runner.
5322
- */
5356
+ /**
5357
+ * Run mocha, returning the Runner.
5358
+ */
5323
5359
 
5324
- mocha.run = function(fn){
5325
- var options = mocha.options;
5326
- mocha.globals('location');
5360
+ mocha.run = function(fn){
5361
+ var options = mocha.options;
5362
+ mocha.globals('location');
5327
5363
 
5328
- var query = Mocha.utils.parseQuery(window.location.search || '');
5329
- if (query.grep) mocha.grep(query.grep);
5330
- if (query.invert) mocha.invert();
5364
+ var query = Mocha.utils.parseQuery(window.location.search || '');
5365
+ if (query.grep) mocha.grep(query.grep);
5366
+ if (query.invert) mocha.invert();
5331
5367
 
5332
- return Mocha.prototype.run.call(mocha, function(){
5333
- Mocha.utils.highlightTags('code');
5334
- if (fn) fn();
5335
- });
5336
- };
5337
- })();
5368
+ return Mocha.prototype.run.call(mocha, function(){
5369
+ Mocha.utils.highlightTags('code');
5370
+ if (fn) fn();
5371
+ });
5372
+ };
5338
5373
  })();
@@ -1,8 +1,12 @@
1
1
  @charset "utf-8";
2
2
 
3
3
  body {
4
+ margin:0;
5
+ }
6
+
7
+ #mocha {
4
8
  font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
5
- padding: 60px 50px;
9
+ margin: 60px 50px;
6
10
  }
7
11
 
8
12
  #mocha ul, #mocha li {
@@ -38,7 +42,7 @@ body {
38
42
  font-size: .8em;
39
43
  }
40
44
 
41
- .hidden {
45
+ #mocha .hidden {
42
46
  display: none;
43
47
  }
44
48
 
@@ -59,7 +63,7 @@ body {
59
63
 
60
64
  #mocha .test.pending:hover h2::after {
61
65
  content: '(pending)';
62
- font-family: arial;
66
+ font-family: arial, sans-serif;
63
67
  }
64
68
 
65
69
  #mocha .test.pass.medium .duration {
@@ -185,7 +189,7 @@ body {
185
189
 
186
190
  #mocha-error {
187
191
  color: #c00;
188
- font-size: 1.5 em;
192
+ font-size: 1.5em;
189
193
  font-weight: 100;
190
194
  letter-spacing: 1px;
191
195
  }
@@ -229,18 +233,18 @@ body {
229
233
  height: 40px;
230
234
  }
231
235
 
232
- code .comment { color: #ddd }
233
- code .init { color: #2F6FAD }
234
- code .string { color: #5890AD }
235
- code .keyword { color: #8A6343 }
236
- code .number { color: #2F6FAD }
236
+ #mocha code .comment { color: #ddd }
237
+ #mocha code .init { color: #2F6FAD }
238
+ #mocha code .string { color: #5890AD }
239
+ #mocha code .keyword { color: #8A6343 }
240
+ #mocha code .number { color: #2F6FAD }
237
241
 
238
242
  @media screen and (max-device-width: 480px) {
239
- body {
240
- padding: 60px 0px;
243
+ #mocha {
244
+ margin: 60px 0px;
241
245
  }
242
246
 
243
- #stats {
247
+ #mocha #stats {
244
248
  position: absolute;
245
249
  }
246
250
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: konacha
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 3.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-06 00:00:00.000000000 Z
12
+ date: 2013-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
@@ -199,6 +199,22 @@ dependencies:
199
199
  - - ! '>='
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
+ - !ruby/object:Gem::Dependency
203
+ name: selenium-webdriver
204
+ requirement: !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ! '>='
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ type: :development
211
+ prerelease: false
212
+ version_requirements: !ruby/object:Gem::Requirement
213
+ none: false
214
+ requirements:
215
+ - - ! '>='
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
202
218
  - !ruby/object:Gem::Dependency
203
219
  name: poltergeist
204
220
  requirement: !ruby/object:Gem::Requirement
@@ -206,7 +222,7 @@ dependencies:
206
222
  requirements:
207
223
  - - ~>
208
224
  - !ruby/object:Gem::Version
209
- version: 1.0.2
225
+ version: 1.3.0
210
226
  type: :development
211
227
  prerelease: false
212
228
  version_requirements: !ruby/object:Gem::Requirement
@@ -214,7 +230,7 @@ dependencies:
214
230
  requirements:
215
231
  - - ~>
216
232
  - !ruby/object:Gem::Version
217
- version: 1.0.2
233
+ version: 1.3.0
218
234
  description: ! 'Konacha is a Rails engine that allows you to test your JavaScript
219
235
  with the
220
236
 
@@ -297,6 +313,7 @@ files:
297
313
  - spec/dummy/spec/javascripts/templates/hello.jst.ejs
298
314
  - spec/dummy/spec/javascripts/templating_spec.js
299
315
  - spec/dummy/spec/javascripts/ui_spec.js
316
+ - spec/engine_spec.rb
300
317
  - spec/error_handling_spec.rb
301
318
  - spec/formatter_spec.rb
302
319
  - spec/konacha_spec.rb
@@ -326,18 +343,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
326
343
  - - ! '>='
327
344
  - !ruby/object:Gem::Version
328
345
  version: '0'
329
- segments:
330
- - 0
331
- hash: 3177740356204652019
332
346
  required_rubygems_version: !ruby/object:Gem::Requirement
333
347
  none: false
334
348
  requirements:
335
349
  - - ! '>='
336
350
  - !ruby/object:Gem::Version
337
351
  version: '0'
338
- segments:
339
- - 0
340
- hash: 3177740356204652019
341
352
  requirements: []
342
353
  rubyforge_project:
343
354
  rubygems_version: 1.8.23
@@ -377,6 +388,7 @@ test_files:
377
388
  - spec/dummy/spec/javascripts/templates/hello.jst.ejs
378
389
  - spec/dummy/spec/javascripts/templating_spec.js
379
390
  - spec/dummy/spec/javascripts/ui_spec.js
391
+ - spec/engine_spec.rb
380
392
  - spec/error_handling_spec.rb
381
393
  - spec/formatter_spec.rb
382
394
  - spec/konacha_spec.rb