Skip to content

Commit 30431a3

Browse files
committed
Gem-ize jasmine
[Finishes #13128217]
1 parent e4e9b51 commit 30431a3

29 files changed

+16171
-233
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,7 @@ site/
55
.bundle/
66
.pairs
77
.rvmrc
8+
*.gem
9+
.bundle
10+
Gemfile.lock
11+
pkg/*

Gemfile

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
source :rubygems
2-
3-
gem "json_pure", "~>1.4.3"
4-
gem "frank"
5-
gem "term-ansicolor"
6-
gem "ragaskar-jsdoc_helper"
7-
gem "rake", "0.8.7"
2+
gem "term-ansicolor", :require => "term/ansicolor"
3+
gemspec

Gemfile.lock

-35
This file was deleted.

Rakefile

+5-88
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
require 'json'
2-
require 'tilt'
3-
require 'term/ansicolor'
1+
require "bundler"
2+
Bundler::GemHelper.install_tasks
3+
require "term/ansicolor"
4+
require "json"
5+
require "tilt"
46

57
Dir["#{File.dirname(__FILE__)}/tasks/**/*.rb"].each do |file|
68
require file
@@ -25,88 +27,3 @@ class String
2527
end
2628

2729
Term::ANSIColor.coloring = STDOUT.isatty
28-
29-
#namespace :jasmine do
30-
#
31-
# desc 'Prepares for distribution'
32-
# task :dist => ['jasmine:build',
33-
# 'jasmine:doc',
34-
# 'jasmine:build_pages',
35-
# 'jasmine:build_example_project',
36-
# 'jasmine:fill_index_downloads']
37-
#
38-
# end
39-
#
40-
# downloads_file = 'pages/download.html'
41-
# task :need_pages_submodule do
42-
# unless File.exist?(downloads_file)
43-
# raise "Jasmine pages submodule isn't present. Run git submodule update --init"
44-
# end
45-
# end
46-
#
47-
# desc "Build the Github pages HTML"
48-
# task :build_pages => :need_pages_submodule do
49-
# Dir.chdir("pages") do
50-
# FileUtils.rm_r('pages_output') if File.exist?('pages_output')
51-
# Dir.chdir('pages_source') do
52-
# system("frank export ../pages_output")
53-
# end
54-
# puts "\nCopying Frank output to the root of the gh-pages branch\n\n"
55-
# system("cp -r pages_output/* .")
56-
# end
57-
# end
58-
#
59-
# desc "Build jasmine documentation"
60-
# task :doc => :need_pages_submodule do
61-
# puts 'Creating Jasmine Documentation'
62-
# require 'rubygems'
63-
# require 'jsdoc_helper'
64-
#
65-
# FileUtils.rm_r "pages/jsdoc", :force => true
66-
#
67-
# JsdocHelper::Rake::Task.new(:lambda_jsdoc) do |t|
68-
# t[:files] = jasmine_sources << jasmine_html_sources
69-
# t[:options] = "-a"
70-
# t[:out] = "pages/jsdoc"
71-
# # JsdocHelper bug: template must be relative to the JsdocHelper gem, ick
72-
# t[:template] = File.join("../".*(100), Dir::getwd, "jsdoc-template")
73-
# end
74-
# Rake::Task[:lambda_jsdoc].invoke
75-
# end
76-
#
77-
# desc "Build example project"
78-
# task :build_example_project => :need_pages_submodule do
79-
# require 'tmpdir'
80-
#
81-
# temp_dir = File.join(Dir.tmpdir, 'jasmine-standalone-project')
82-
# puts "Building Example Project in #{temp_dir}"
83-
# FileUtils.rm_r temp_dir if File.exist?(temp_dir)
84-
# Dir.mkdir(temp_dir)
85-
#
86-
# root = File.expand_path(File.dirname(__FILE__))
87-
# FileUtils.cp_r File.join(root, 'example/.'), File.join(temp_dir)
88-
# substitute_jasmine_version(File.join(temp_dir, "SpecRunner.html"))
89-
#
90-
# lib_dir = File.join(temp_dir, "lib/jasmine-#{jasmine_version}")
91-
# FileUtils.mkdir_p(lib_dir)
92-
# {
93-
# "lib/jasmine.js" => "jasmine.js",
94-
# "lib/jasmine-html.js" => "jasmine-html.js",
95-
# "src/html/jasmine.css" => "jasmine.css",
96-
# "MIT.LICENSE" => "MIT.LICENSE"
97-
# }.each_pair do |src, dest|
98-
# FileUtils.cp(File.join(root, src), File.join(lib_dir, dest))
99-
# end
100-
#
101-
# dist_dir = File.join(root, 'pages/downloads')
102-
# zip_file_name = File.join(dist_dir, "jasmine-standalone-#{jasmine_version}.zip")
103-
# puts "Zipping Example Project and moving to #{zip_file_name}"
104-
# FileUtils.mkdir(dist_dir) unless File.exist?(dist_dir)
105-
# if File.exist?(zip_file_name)
106-
# puts "WARNING!!! #{zip_file_name} already exists!"
107-
# FileUtils.rm(zip_file_name)
108-
# end
109-
# exec "cd #{temp_dir} && zip -r #{zip_file_name} . -x .[a-zA-Z0-9]*"
110-
# end
111-
#
112-
#end

cruise_config.rb

-21
This file was deleted.

jasmine-core.gemspec

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# -*- encoding: utf-8 -*-
2+
$:.push File.expand_path("../lib", __FILE__)
3+
require "jasmine-core/version"
4+
5+
Gem::Specification.new do |s|
6+
s.name = "jasmine-core"
7+
s.version = Jasmine::Core::VERSION
8+
s.platform = Gem::Platform::RUBY
9+
s.authors = ["Rajan Agaskar", "Davis Frank", "Christian Williams"]
10+
s.summary = %q{JavaScript BDD framework}
11+
s.description = %q{Test your JavaScript without any framework dependencies, in any environment, and with a nice descriptive syntax.}
12+
s.email = %q{jasmine-js@googlegroups.com}
13+
s.homepage = "http://pivotal.github.com/jasmine"
14+
s.rubyforge_project = "jasmine-core"
15+
16+
s.files = Dir.glob("./lib/**/*")
17+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18+
s.require_paths = ["lib"]
19+
s.add_development_dependency "term-ansicolor"
20+
s.add_development_dependency "json_pure", ">= 1.4.3"
21+
s.add_development_dependency "frank"
22+
s.add_development_dependency "ragaskar-jsdoc_helper"
23+
end

lib/jasmine-core.rb

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module Jasmine
2+
module Core
3+
class << self
4+
def path
5+
File.join(File.dirname(__FILE__), "jasmine-core")
6+
end
7+
8+
def js_files
9+
(["jasmine.js"] + Dir.glob(File.join(path, "*.js"))).map { |f| File.basename(f) }.uniq
10+
end
11+
12+
def css_files
13+
Dir.glob(File.join(path, "*.css")).map { |f| File.basename(f) }
14+
end
15+
end
16+
end
17+
end
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

lib/jasmine.js renamed to lib/jasmine-core/jasmine.js

+10-10
Original file line numberDiff line numberDiff line change
@@ -735,16 +735,17 @@ jasmine.Env.prototype.version = function () {
735735
* @returns string containing jasmine version build info, if set.
736736
*/
737737
jasmine.Env.prototype.versionString = function() {
738-
if (!jasmine.version_) {
738+
if (jasmine.version_) {
739+
var version = this.version();
740+
var versionString = version.major + "." + version.minor + "." + version.build;
741+
if (version.release_candidate) {
742+
versionString += ".rc" + version.release_candidate
743+
}
744+
versionString += " revision " + version.revision
745+
return versionString;
746+
} else {
739747
return "version unknown";
740748
}
741-
742-
var version = this.version();
743-
var dotted_version = version.major + "." + version.minor + "." + version.build;
744-
if (version.rc) {
745-
dotted_version += ".rc" + version.rc;
746-
}
747-
return dotted_version + " revision " + version.revision;
748749
};
749750

750751
/**
@@ -2471,6 +2472,5 @@ jasmine.version_= {
24712472
"major": 1,
24722473
"minor": 1,
24732474
"build": 0,
2474-
"revision": 1308288921,
2475-
"rc": 1
2475+
"revision": 1308358300
24762476
};
File renamed without changes.

lib/jasmine-core/version.rb

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module Jasmine
2+
module Core
3+
require 'json'
4+
VERSION_HASH = JSON.parse(File.new(File.join(File.dirname(__FILE__), "..", "..", "src", "version.json")).read);
5+
VERSION = "#{VERSION_HASH['major']}.#{VERSION_HASH['minor']}.#{VERSION_HASH['build']}"
6+
VERSION << ".rc#{VERSION_HASH['release_candidate']}" if VERSION_HASH['release_candidate']
7+
end
8+
end

spec/core/EnvSpec.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,10 @@ describe("jasmine.Env", function() {
6464
"major": 1,
6565
"minor": 9,
6666
"build": 7,
67+
"release_candidate": "1",
6768
"revision": 8
6869
};
69-
expect(env.versionString()).toEqual("1.9.7 revision 8");
70+
expect(env.versionString()).toEqual("1.9.7.rc1 revision 8");
7071
});
7172

7273
it("should return a nice string when version is unknown", function() {

spec/node_suite.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var path = require('path');
66
// undefined = "diz be undefined yo";
77

88

9-
var jasmineGlobals = require('../lib/jasmine.js');
9+
var jasmineGlobals = require('../lib/jasmine-core/jasmine.js');
1010
for (var k in jasmineGlobals) {
1111
global[k] = jasmineGlobals[k];
1212
}
@@ -124,4 +124,4 @@ jasmine.executeSpecs(domIndependentSpecs, function(runner, log) {
124124
} else {
125125
process.exit(1);
126126
}
127-
}, isVerbose, showColors);
127+
}, isVerbose, showColors);

spec/runner.html

+27-27
Original file line numberDiff line numberDiff line change
@@ -6,42 +6,42 @@
66

77
<link rel="shortcut icon" type="image/png" href="../images/jasmine_favicon.png">
88

9-
<link href="../lib/jasmine.css" rel="stylesheet"/>
10-
<script type="text/javascript" src="../lib/jasmine.js"></script>
9+
<link href="../lib/jasmine-core/jasmine.css" rel="stylesheet"/>
10+
<script type="text/javascript" src="../lib/jasmine-core/jasmine.js"></script>
1111
<script type="text/javascript">
1212
// yes, really keep this here to keep us honest, but only for jasmine's own runner! [xw]
1313
undefined = "diz be undefined yo";
1414
</script>
1515

1616

1717
<!-- include source files here... -->
18-
<script type="text/javascript" src="../src/html/TrivialReporter.js"></script>
19-
<script type="text/javascript" src="../src/console/ConsoleReporter.js"></script>
18+
<script type="text/javascript" src=".././src/html/TrivialReporter.js"></script>
19+
<script type="text/javascript" src=".././src/console/ConsoleReporter.js"></script>
2020

2121
<!-- include spec files here... -->
22-
<script type="text/javascript" src="../spec/core/BaseSpec.js"></script>
23-
<script type="text/javascript" src="../spec/core/CustomMatchersSpec.js"></script>
24-
<script type="text/javascript" src="../spec/core/EnvSpec.js"></script>
25-
<script type="text/javascript" src="../spec/core/ExceptionsSpec.js"></script>
26-
<script type="text/javascript" src="../spec/core/JsApiReporterSpec.js"></script>
27-
<script type="text/javascript" src="../spec/core/MatchersSpec.js"></script>
28-
<script type="text/javascript" src="../spec/core/MockClockSpec.js"></script>
29-
<script type="text/javascript" src="../spec/core/MultiReporterSpec.js"></script>
30-
<script type="text/javascript" src="../spec/core/NestedResultsSpec.js"></script>
31-
<script type="text/javascript" src="../spec/core/PrettyPrintSpec.js"></script>
32-
<script type="text/javascript" src="../spec/core/QueueSpec.js"></script>
33-
<script type="text/javascript" src="../spec/core/ReporterSpec.js"></script>
34-
<script type="text/javascript" src="../spec/core/RunnerSpec.js"></script>
35-
<script type="text/javascript" src="../spec/core/SpecRunningSpec.js"></script>
36-
<script type="text/javascript" src="../spec/core/SpecSpec.js"></script>
37-
<script type="text/javascript" src="../spec/core/SpySpec.js"></script>
38-
<script type="text/javascript" src="../spec/core/SuiteSpec.js"></script>
39-
<script type="text/javascript" src="../spec/core/UtilSpec.js"></script>
40-
<script type="text/javascript" src="../spec/core/WaitsForBlockSpec.js"></script>
41-
<script type="text/javascript" src="../spec/html/MatchersHtmlSpec.js"></script>
42-
<script type="text/javascript" src="../spec/html/PrettyPrintHtmlSpec.js"></script>
43-
<script type="text/javascript" src="../spec/html/TrivialReporterSpec.js"></script>
44-
<script type="text/javascript" src="../spec/console/ConsoleReporterSpec.js"></script>
22+
<script type="text/javascript" src=".././spec/core/BaseSpec.js"></script>
23+
<script type="text/javascript" src=".././spec/core/CustomMatchersSpec.js"></script>
24+
<script type="text/javascript" src=".././spec/core/EnvSpec.js"></script>
25+
<script type="text/javascript" src=".././spec/core/ExceptionsSpec.js"></script>
26+
<script type="text/javascript" src=".././spec/core/JsApiReporterSpec.js"></script>
27+
<script type="text/javascript" src=".././spec/core/MatchersSpec.js"></script>
28+
<script type="text/javascript" src=".././spec/core/MockClockSpec.js"></script>
29+
<script type="text/javascript" src=".././spec/core/MultiReporterSpec.js"></script>
30+
<script type="text/javascript" src=".././spec/core/NestedResultsSpec.js"></script>
31+
<script type="text/javascript" src=".././spec/core/PrettyPrintSpec.js"></script>
32+
<script type="text/javascript" src=".././spec/core/QueueSpec.js"></script>
33+
<script type="text/javascript" src=".././spec/core/ReporterSpec.js"></script>
34+
<script type="text/javascript" src=".././spec/core/RunnerSpec.js"></script>
35+
<script type="text/javascript" src=".././spec/core/SpecRunningSpec.js"></script>
36+
<script type="text/javascript" src=".././spec/core/SpecSpec.js"></script>
37+
<script type="text/javascript" src=".././spec/core/SpySpec.js"></script>
38+
<script type="text/javascript" src=".././spec/core/SuiteSpec.js"></script>
39+
<script type="text/javascript" src=".././spec/core/UtilSpec.js"></script>
40+
<script type="text/javascript" src=".././spec/core/WaitsForBlockSpec.js"></script>
41+
<script type="text/javascript" src=".././spec/html/MatchersHtmlSpec.js"></script>
42+
<script type="text/javascript" src=".././spec/html/PrettyPrintHtmlSpec.js"></script>
43+
<script type="text/javascript" src=".././spec/html/TrivialReporterSpec.js"></script>
44+
<script type="text/javascript" src=".././spec/console/ConsoleReporterSpec.js"></script>
4545

4646
<script type="text/javascript">
4747
(function() {

src/core/Env.js

+9-8
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,17 @@ jasmine.Env.prototype.version = function () {
5151
* @returns string containing jasmine version build info, if set.
5252
*/
5353
jasmine.Env.prototype.versionString = function() {
54-
if (!jasmine.version_) {
54+
if (jasmine.version_) {
55+
var version = this.version();
56+
var versionString = version.major + "." + version.minor + "." + version.build;
57+
if (version.release_candidate) {
58+
versionString += ".rc" + version.release_candidate
59+
}
60+
versionString += " revision " + version.revision
61+
return versionString;
62+
} else {
5563
return "version unknown";
5664
}
57-
58-
var version = this.version();
59-
var dotted_version = version.major + "." + version.minor + "." + version.build;
60-
if (version.rc) {
61-
dotted_version += ".rc" + version.rc;
62-
}
63-
return dotted_version + " revision " + version.revision;
6465
};
6566

6667
/**

src/version.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@ jasmine.version_= {
22
"major": 1,
33
"minor": 1,
44
"build": 0,
5-
"revision": 1308288921,
6-
"rc": 1
5+
"revision": 1308358300
76
};

0 commit comments

Comments
 (0)