forked from angular/angular
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: move rtts-assert into
modules
directory
The rtts assertion lib is only needed for js, but it should be treated like any other module (e.g. facade, …)
- Loading branch information
Showing
9 changed files
with
789 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// Asserting APIs: | ||
// - generated by Traceur (based on type annotations) | ||
// - can be also used in tests for instance | ||
assert.type(something, Type); | ||
assert.returnType(returnValue, Type); | ||
assert.argumentTypes(firstArg, Type, secondArg, Type); | ||
|
||
// this can be used anywhere in the code | ||
// (useful inside test, when we don't wanna define an interface) | ||
assert(value).is(...) | ||
|
||
|
||
// Custom type assert: | ||
// - i have a custom type | ||
// - adding an assert methos | ||
assert.define(MyUser, function(value) { | ||
assert(value).is(Type, Type2); // or | ||
assert(value, 'name').is(assert.string); | ||
assert(value, 'contact').is(assert.structure({ | ||
email: assert.string, | ||
cell: assert.string | ||
})); | ||
assert(value, 'contacts').is(assert.arrayOf(assert.structure({email: assert.string}))); | ||
}); | ||
|
||
|
||
|
||
// Define interface (an empty type with assert method) | ||
// - returns an empty class with assert method | ||
var Email = assert.define('IEmail', function(value) { | ||
assert(value).is(String); | ||
|
||
if (value.indexOf('@') !== -1) { | ||
assert.fail('has to contain "@"'); | ||
} | ||
}); | ||
|
||
|
||
// Predefined types | ||
assert.string | ||
assert.number | ||
assert.boolean | ||
assert.arrayOf(...types) | ||
assert.structure(object) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
http://angular.github.io/assert/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
{ | ||
"name": "rtts-assert", | ||
"version": "0.0.1", | ||
"description": "A type assertion library for Traceur.", | ||
"main": "./dist/cjs/assert.js", | ||
"homepage": "https://github.com/angular/assert", | ||
"repository": { | ||
"type": "git", | ||
"url": "git://github.com/angular/assert.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/angular/assert/issues" | ||
}, | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"gulp": "^3.5.6", | ||
"gulp-connect": "~1.0.5", | ||
"gulp-traceur": "~0.4.0", | ||
"karma": "^0.12.1", | ||
"karma-chrome-launcher": "^0.1.2", | ||
"karma-jasmine": "^0.2.2", | ||
"karma-requirejs": "^0.2.1", | ||
"karma-traceur-preprocessor": "^0.2.2", | ||
"pipe": "git://github.com/angular/pipe#remove-transitive-deps" | ||
}, | ||
"scripts": { | ||
"test": "karma start --single-run" | ||
}, | ||
"author": "Vojta Jína <[email protected]>", | ||
"license": "Apache-2.0" | ||
} |
Oops, something went wrong.