mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 15:40:22 +00:00
Uses the Jasmine syntax for tests, ex:
describe('widgets', function() {
it('should verify that basic widgets work', function(){
navigateTo('widgets.html');
input('text.basic').enter('Carlos');
expect(binding('text.basic')).toEqual('Carlos');
input('text.basic').enter('Carlos Santana');
expect(binding('text.basic')).not().toEqual('Carlos Boozer');
input('text.password').enter('secret');
expect(binding('text.password')).toEqual('secret');
expect(binding('text.hidden')).toEqual('hiddenValue');
expect(binding('gender')).toEqual('male');
input('gender').select('female');
expect(binding('gender')).toEqual('female');
});
});
Note: To create new UI's implement the interface shown in angular.scenario.ui.Html.
160 lines
3.6 KiB
Ruby
160 lines
3.6 KiB
Ruby
include FileUtils
|
|
|
|
ANGULAR = [
|
|
'src/Angular.js',
|
|
'src/JSON.js',
|
|
'src/Compiler.js',
|
|
'src/Scope.js',
|
|
'src/Injector.js',
|
|
'src/Parser.js',
|
|
'src/Resource.js',
|
|
'src/Browser.js',
|
|
'src/jqLite.js',
|
|
'src/apis.js',
|
|
'src/filters.js',
|
|
'src/formatters.js',
|
|
'src/validators.js',
|
|
'src/services.js',
|
|
'src/directives.js',
|
|
'src/markups.js',
|
|
'src/widgets.js',
|
|
'src/AngularPublic.js',
|
|
]
|
|
|
|
ANGULAR_SCENARIO = [
|
|
'src/scenario/Scenario.js',
|
|
'src/scenario/Application.js',
|
|
'src/scenario/Describe.js',
|
|
'src/scenario/Future.js',
|
|
'src/scenario/HtmlUI.js',
|
|
'src/scenario/Describe.js',
|
|
'src/scenario/Runner.js',
|
|
'src/scenario/SpecRunner.js',
|
|
'src/scenario/dsl.js',
|
|
'src/scenario/matchers.js',
|
|
]
|
|
|
|
GENERATED_FILES = [
|
|
'angular-debug.js',
|
|
'angular-minified.js',
|
|
'angular-minified.map',
|
|
'angular-scenario.js',
|
|
]
|
|
|
|
task :default => [:compile, :test]
|
|
|
|
desc 'Generate Externs'
|
|
task :compile_externs do
|
|
out = File.new("externs.js", "w")
|
|
|
|
out.write("function jQuery(){};\n")
|
|
file = File.new("lib/jquery/jquery-1.4.2.js", "r")
|
|
while (line = file.gets)
|
|
if line =~ /^\s*(\w+)\s*:\s*function.*$/
|
|
out.write("jQuery.#{$1}=function(){};\n")
|
|
end
|
|
end
|
|
file.close
|
|
out.write("jQuery.scope=function(){};\n")
|
|
out.write("jQuery.controller=function(){};\n")
|
|
|
|
out.close
|
|
end
|
|
|
|
desc 'Clean Generated Files'
|
|
task :clean do
|
|
GENERATED_FILES.each do |file|
|
|
`rm #{file}`
|
|
end
|
|
end
|
|
|
|
desc 'Compile Scenario'
|
|
task :compile_scenario do
|
|
|
|
deps = [
|
|
'lib/jquery/jquery-1.4.2.js',
|
|
'src/scenario/angular.prefix',
|
|
ANGULAR,
|
|
ANGULAR_SCENARIO,
|
|
'src/scenario/angular.suffix',
|
|
]
|
|
css = %x(cat css/angular-scenario.css)
|
|
concat = 'cat ' + deps.flatten.join(' ')
|
|
f = File.new("angular-scenario.js", 'w')
|
|
f.write(%x{#{concat}})
|
|
f.write('document.write(\'<style type="text/css">\n')
|
|
f.write(css.gsub(/'/, "\\'").gsub(/\n/, "\\n"));
|
|
f.write('\n</style>\');')
|
|
f.close
|
|
end
|
|
|
|
desc 'Compile JavaScript'
|
|
task :compile => [:compile_externs, :compile_scenario] do
|
|
|
|
deps = [
|
|
'src/angular.prefix',
|
|
ANGULAR,
|
|
'src/angular.suffix',
|
|
]
|
|
f = File.new("angular-debug.js", 'w')
|
|
concat = 'cat ' + deps.flatten.join(' ')
|
|
f.write(%x{#{concat}})
|
|
f.close
|
|
|
|
%x(java -jar lib/compiler-closure/compiler.jar \
|
|
--compilation_level SIMPLE_OPTIMIZATIONS \
|
|
--js angular-debug.js \
|
|
--externs externs.js \
|
|
--create_source_map ./angular-minified.map \
|
|
--js_output_file angular-minified.js)
|
|
end
|
|
|
|
desc 'Create angular distribution'
|
|
task :package => :compile do
|
|
date = Time.now.strftime('%y%m%d_%H%M')
|
|
sha = %x(git rev-parse HEAD)[0..7]
|
|
filename = "angular-#{date}-#{sha}.tgz"
|
|
|
|
%x(cp test/angular-mocks.js ./)
|
|
|
|
%x(tar -cf #{filename} \
|
|
angular-debug.js \
|
|
angular-minified.js \
|
|
angular-scenario.js \
|
|
angular-mocks.js \
|
|
css/angular.css \
|
|
css/angular_images/ )
|
|
|
|
%x( rm angular-mocks.js)
|
|
|
|
puts "Package created: #{filename}"
|
|
end
|
|
|
|
namespace :server do
|
|
desc 'Run JsTestDriver Server'
|
|
task :start do
|
|
sh %x(java -jar lib/jstestdriver/JsTestDriver.jar --browser open --port 9876)
|
|
end
|
|
|
|
desc "Run JavaScript tests against the server"
|
|
task :test do
|
|
sh %(java -jar lib/jstestdriver/JsTestDriver.jar --tests all)
|
|
end
|
|
end
|
|
|
|
desc "Run JavaScript tests"
|
|
task :test do
|
|
sh %(java -jar lib/jstestdriver/JsTestDriver.jar --tests all --browser open --port 9876)
|
|
end
|
|
|
|
desc 'Lint'
|
|
task :lint do
|
|
out = %x(lib/jsl/jsl -conf lib/jsl/jsl.default.conf)
|
|
print out
|
|
end
|
|
|
|
desc 'push_angularjs'
|
|
task :push_angularjs do
|
|
Rake::Task['compile'].execute 0
|
|
sh %(cat angularjs.ftp | ftp -N angularjs.netrc angularjs.org)
|
|
end
|