http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-metadata-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-metadata-tests.js 
b/JSLib/tests/odata-metadata-tests.js
deleted file mode 100644
index 2af066f..0000000
--- a/JSLib/tests/odata-metadata-tests.js
+++ /dev/null
@@ -1,486 +0,0 @@
-/// <reference path="../src/odata-atom.js" />
-/// <reference path="../src/odata-xml.js" />
-/// <reference path="../src/odata-metadata.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="common/djstest.js" />
-
-// odata-metadata-tests.js
-
-(function (window, undefined) {
-    djstest.addTest(function testMetadataHandler() {
-        // Test cases as result / model tuples.
-        var cases = [
-            { i: {}, e: undefined },
-            { i: { headers: { "Content-Type": "application/xml" }, body: 
'<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"; 
/>' },
-                e: { version: "4.0" }
-            }
-        ];
-
-        var i, len;
-        for (i = 0, len = cases.length; i < len; i++) {
-            var response = cases[i].i;
-            var testClient = { request: function (r, success, error) { 
success(response); } };
-            window.odatajs.oData.read("foo", function (data) {
-                djstest.assertAreEqualDeep(data, cases[i].e, "handler result 
matches target");
-            }, function (err) {
-                djstest.fail(err.message);
-            }, window.odatajs.oData.metadataHandler, testClient);
-        }
-
-        djstest.done();
-    });
-
-    // DATAJS INTERNAL START
-    djstest.addTest(function testScriptCase() {
-        // Test cases as input/result pairs.
-        var cases = [
-            { i: null, e: null },
-            { i: "", e: "" },
-            { i: "a", e: "a" },
-            { i: "A", e: "a" },
-            { i: "TestCase", e: "testCase" },
-            { i: "123abc", e: "123abc" },
-            { i: "ITEM", e: "ITEM" }
-        ];
-
-        var i, len;
-        for (i = 0, len = cases.length; i < len; i++) {
-            
djstest.assertAreEqual(window.odatajs.oData.scriptCase(cases[i].i), cases[i].e, 
"processed input matches expected value");
-        }
-
-        djstest.done();
-    });
-
-    djstest.addTest(function testGetChildSchema() {
-        // Test cases as input parent / input element / result tuples.
-        var schema = window.odatajs.oData.schema;
-        var cases = [
-            { ip: schema.elements.EntityType, ie: "Property", e: { isArray: 
true, propertyName: "property"} },
-            { ip: schema.elements.EntityType, ie: "Key", e: { isArray: true, 
propertyName: "key"} },
-            { ip: schema.elements.EntitySet, ie: "SomethingElse", e: null },
-            { ip: schema.elements.Property, ie: "Name", e: null} // this is an 
attribute, not an element, thus it's no found
-        ];
-
-        var i, len;
-        for (i = 0, len = cases.length; i < len; i++) {
-            var result = window.odatajs.oData.getChildSchema(cases[i].ip, 
cases[i].ie);
-            djstest.assertAreEqualDeep(result, cases[i].e, "getChildSchema 
matches target");
-        }
-
-        djstest.done();
-    });
-
-    var testFullCsdl = '' +
-        '<?xml version="1.0" encoding="utf-8"?>\r\n' +
-        '<edmx:Edmx Version="4.0" 
xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx";>\r\n' +
-        '  <edmx:DataServices 
xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"; 
m:MaxDataServiceVersion="4.0" m:DataServiceVersion="4.0">\r\n' +
-        '    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"; 
Namespace="TestCatalog.Model">\r\n' +
-        '      <EntityType Name="Genre">\r\n' +
-        '        <Key><PropertyRef Name="Name" /></Key>\r\n' +
-        '        <Property Name="Name" Type="Edm.String" Nullable="false" 
MaxLength="50" Unicode="false" />\r\n' +
-        '        <NavigationProperty Name="Titles" 
Type="Collection(TestCatalog.Model.Title)" Partner="Series" />\r\n' +
-        '      </EntityType>\r\n' +
-        '      <EntityType Name="Language">\r\n' +
-        '        <Key><PropertyRef Name="Name" /></Key>\r\n' +
-        '        <Property Name="Name" Type="Edm.String" Nullable="false" 
MaxLength="80" Unicode="false" />\r\n' +
-        '        <NavigationProperty Name="Titles" 
Type="Collection(TestCatalog.Model.Title)" Partner="Languages" />\r\n' +
-        '      </EntityType>\r\n' +
-        '      <EntityType Name="Person">\r\n' +
-        '        <Key><PropertyRef Name="Id" /></Key>\r\n' +
-        '        <Property Name="Id" Type="Edm.Int32" Nullable="false" />\r\n' 
+
-        '        <Property Name="Name" Type="Edm.String" Nullable="false" 
MaxLength="80" Unicode="true" />\r\n' +
-        '        <NavigationProperty Name="Awards" 
Type="Collection(TestCatalog.Model.TitleAward)" Partner="Person"/>\r\n' +
-        '        <NavigationProperty Name="TitlesActedIn" 
Type="Collection(TestCatalog.Model.Title)" Partner="Cast"/>\r\n' +
-        '        <NavigationProperty Name="TitlesDirected" 
Type="Collection(TestCatalog.Model.Title)" Partner="Directors"/>\r\n' +
-        '      </EntityType>\r\n' +
-        '      <EntityType Name="TitleAudioFormat">\r\n' +
-        '        <Key><PropertyRef Name="TitleId" /><PropertyRef 
Name="DeliveryFormat" /><PropertyRef Name="Language" /><PropertyRef 
Name="Format" /></Key>\r\n' +
-        '        <Property Name="TitleId" Type="Edm.String" Nullable="false" 
MaxLength="30" FixedLength="false" />\r\n' +
-        '        <Property Name="DeliveryFormat" Type="Edm.String" 
Nullable="false" MaxLength="10" Unicode="false" />\r\n' +
-        '        <Property Name="Language" Type="Edm.String" Nullable="false" 
MaxLength="30" Unicode="false" FixedLength="false" />\r\n' +
-        '        <Property Name="Format" Type="Edm.String" Nullable="false" 
MaxLength="30" Unicode="false" FixedLength="false" />\r\n' +
-        '        <NavigationProperty Name="Title" 
Type="TestCatalog.Model.Title" Partner="AudioFormats" >\r\n' +
-        '            <ReferentialConstraint Property="TitleId" 
ReferencedProperty="Id" />' +
-        '        </NavigationProperty>' +
-        '      </EntityType>\r\n' +
-        '      <EntityType Name="TitleAward">\r\n' +
-        '        <Key><PropertyRef Name="Id" /></Key>\r\n' +
-        '        <Property Name="Id" Type="Edm.Guid" Nullable="false" />\r\n' +
-        '        <Property Name="Type" Type="Edm.String" Nullable="false" 
MaxLength="30" Unicode="false" />\r\n' +
-        '        <Property Name="Category" Type="Edm.String" Nullable="false" 
MaxLength="60" Unicode="false" />\r\n' +
-        '        <Property Name="Year" Type="Edm.Int32" Nullable="true" 
/>\r\n' +
-        '        <Property Name="Won" Type="Edm.Boolean" Nullable="false" 
/>\r\n' +
-        '        <NavigationProperty Name="Title" 
Type="TestCatalog.Model.Title" Partner="Awards"/>\r\n' +
-        '        <NavigationProperty Name="Person" 
Type="TestCatalog.Model.Person" Partner="Awards"/>\r\n' +
-        '      </EntityType>\r\n' +
-        '      <EntityType Name="Title" HasStream="true">\r\n' +
-        '        <Key><PropertyRef Name="Id" /></Key>\r\n' +
-        '        <Property Name="Id" Type="Edm.String" Nullable="false" 
MaxLength="30" />\r\n' +
-        '        <Property Name="Synopsis" Type="Edm.String" Nullable="true" 
MaxLength="Max" Unicode="false" />\r\n' +
-        '        <Property Name="ShortSynopsis" Type="Edm.String" 
Nullable="true" MaxLength="Max" Unicode="false" />\r\n' +
-        '        <Property Name="AverageRating" Type="Edm.Double" 
Nullable="true" />\r\n' +
-        '        <Property Name="ReleaseYear" Type="Edm.Int32" Nullable="true" 
/>\r\n' +
-        '        <Property Name="Url" Type="Edm.String" Nullable="true" 
MaxLength="200" Unicode="false" />\r\n' +
-        '        <Property Name="Runtime" Type="Edm.Int32" Nullable="true" 
/>\r\n' +
-        '        <Property Name="Rating" Type="Edm.String" Nullable="true" 
MaxLength="10" Unicode="false" />\r\n' +
-        '        <Property Name="DateModified" Type="Edm.DateTime" 
Nullable="false" />\r\n' +
-        '        <Property Name="Type" Type="Edm.String" Nullable="false" 
MaxLength="8" Unicode="false" />\r\n' +
-        '        <Property Name="BoxArt" Type="TestCatalog.Model.BoxArt" 
Nullable="false" />\r\n' +
-        '        <Property Name="ShortName" Type="Edm.String" Nullable="false" 
MaxLength="200" Unicode="false" />\r\n' +
-        '        <Property Name="Name" Type="Edm.String" Nullable="false" 
MaxLength="200" Unicode="false" />\r\n' +
-        '        <Property Name="Instant" 
Type="TestCatalog.Model.InstantAvailability" Nullable="false" />\r\n' +
-        '        <Property Name="Dvd" 
Type="TestCatalog.Model.DeliveryFormatAvailability" Nullable="false" />\r\n' +
-        '        <Property Name="BluRay" 
Type="TestCatalog.Model.DeliveryFormatAvailability" Nullable="false" />\r\n' +
-        '        <Property Name="TinyUrl" Type="Edm.String" Nullable="false" 
/>\r\n' +
-        '        <Property Name="WebsiteUrl" Type="Edm.String" Nullable="true" 
/>\r\n' +
-        '        <Property Name="TestApiId" Type="Edm.String" Nullable="false" 
/>\r\n' +
-        '        <NavigationProperty Name="AudioFormats" 
Type="Collection(TestCatalog.Model.TitleAudioFormat)" Partner="Title" 
Nullable="false" />\r\n' +
-        '        <NavigationProperty Name="Awards" 
Type="Collection(TestCatalog.Model.TitleAward)" Partner="Title" 
Nullable="false" />\r\n' +
-        '        <NavigationProperty Name="Disc" 
Type="Collection(TestCatalog.Model.Title)" />\r\n' +
-        '        <NavigationProperty Name="Movie" 
Type="Collection(TestCatalog.Model.Title)" />\r\n' +
-        '        <NavigationProperty Name="Season" 
Type="Collection(TestCatalog.Model.Title)" />\r\n' +
-        '        <NavigationProperty Name="Series" 
Type="Collection(TestCatalog.Model.Title)" />\r\n' +
-        '        <NavigationProperty Name="ScreenFormats" 
Type="Collection(TestCatalog.Model.TitleScreenFormat)" Partner="Title" 
Nullable="false" />\r\n' +
-        '        <NavigationProperty Name="Cast" 
Type="Collection(TestCatalog.Model.Person)" Partner="TitlesActedIn" 
Nullable="false" />\r\n' +
-        '        <NavigationProperty Name="Languages" 
Type="Collection(TestCatalog.Model.Language)" Partner="Titles" Nullable="false" 
/>\r\n' +
-        '        <NavigationProperty Name="Directors" 
Type="Collection(TestCatalog.Model.Person)" Partner="TitlesDirected" 
Nullable="false" />\r\n' +
-        '        <NavigationProperty Name="Genres" 
Type="Collection(TestCatalog.Model.Genre)" Partner="Titles" Nullable="false" 
/>\r\n' +
-        '      </EntityType>\r\n' +
-        '      <ComplexType Name="BoxArt">\r\n' +
-        '        <Property Name="SmallUrl" Type="Edm.String" Nullable="true" 
MaxLength="80" Unicode="false" />\r\n' +
-        '        <Property Name="MediumUrl" Type="Edm.String" Nullable="true" 
MaxLength="80" Unicode="false" />\r\n' +
-        '        <Property Name="LargeUrl" Type="Edm.String" Nullable="true" 
MaxLength="80" Unicode="false" />\r\n' +
-        '        <Property Name="HighDefinitionUrl" Type="Edm.String" 
Nullable="true" MaxLength="80" Unicode="false" />\r\n' +
-        '      </ComplexType>\r\n' +
-        '      <ComplexType Name="InstantAvailability">\r\n' +
-        '        <Property Name="Available" Type="Edm.Boolean" 
Nullable="false" />\r\n' +
-        '        <Property Name="AvailableFrom" Type="Edm.DateTime" 
Nullable="true" />\r\n' +
-        '        <Property Name="AvailableTo" Type="Edm.DateTime" 
Nullable="true" />\r\n' +
-        '        <Property Name="HighDefinitionAvailable" Type="Edm.Boolean" 
Nullable="false" />\r\n' +
-        '        <Property Name="Runtime" Type="Edm.Int32" Nullable="true" 
/>\r\n' +
-        '        <Property Name="Rating" Type="Edm.String" Nullable="true" 
MaxLength="10" Unicode="false" />\r\n' +
-        '      </ComplexType>\r\n' +
-        '      <ComplexType Name="DeliveryFormatAvailability">\r\n' +
-        '        <Property Name="Available" Type="Edm.Boolean" 
Nullable="false" />\r\n' +
-        '        <Property Name="AvailableFrom" Type="Edm.DateTime" 
Nullable="true" />\r\n' +
-        '        <Property Name="AvailableTo" Type="Edm.DateTime" 
Nullable="true" />\r\n' +
-        '        <Property Name="Runtime" Type="Edm.Int32" Nullable="true" 
/>\r\n' +
-        '        <Property Name="Rating" Type="Edm.String" Nullable="true" 
MaxLength="10" Unicode="false" />\r\n' +
-        '      </ComplexType>\r\n' +
-        '      <EntityType Name="TitleScreenFormat">\r\n' +
-        '        <Key><PropertyRef Name="TitleId" /><PropertyRef 
Name="DeliveryFormat" /><PropertyRef Name="Format" /></Key>\r\n' +
-        '        <Property Name="TitleId" Type="Edm.String" Nullable="false" 
MaxLength="30" />\r\n' +
-        '        <Property Name="DeliveryFormat" Type="Edm.String" 
Nullable="false" MaxLength="10" Unicode="false" />\r\n' +
-        '        <Property Name="Format" Type="Edm.String" Nullable="false" 
MaxLength="30" Unicode="false" />\r\n' +
-        '        <NavigationProperty Name="Title" 
Type="TestCatalog.Model.Title" Partner="ScreenFormats" >\r\n' +
-        '            <ReferentialConstraint Property="TitleId" 
ReferencedProperty="Id" />' +
-        '        </NavigationProperty>' +
-        '      </EntityType>\r\n' +
-        '      <Function Name="ProductsByRating">' +
-        '        <ReturnType Type="Collection(TestCatalog.Model.Title)" 
/>\r\n' +
-        '      </Function>\r\n' +
-        '    </Schema>\r\n' +
-        '    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"; 
Namespace="Test.Catalog">\r\n' +
-        '      <EntityContainer Name="TestCatalog" >\r\n' +
-        '        <FunctionImport Name="Movies" EntitySet="Titles" 
Function="estCatalog.Model.GetTitles" />\r\n' +
-        '        <FunctionImport Name="Series" EntitySet="Titles" 
Function="estCatalog.Model.GetTitles" />\r\n' +
-        '        <FunctionImport Name="Seasons" EntitySet="Titles" 
Function="estCatalog.Model.GetTitles" />\r\n' +
-        '        <FunctionImport Name="Discs" EntitySet="Titles" 
Function="estCatalog.Model.GetTitles" />\r\n' +
-        '        <FunctionImport Name="Episodes" EntitySet="Titles" 
Function="estCatalog.Model.GetTitles" />\r\n' +
-        '        <EntitySet Name="Genres" EntityType="TestCatalog.Model.Genre" 
>\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" Path="Titles" 
/>\r\n' +
-        '        </EntitySet>\r\n' +
-        '        <EntitySet Name="Languages" 
EntityType="TestCatalog.Model.Language" >\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" 
Path="Languages" />\r\n' +
-        '        </EntitySet>\r\n' +
-        '        <EntitySet Name="People" 
EntityType="TestCatalog.Model.Person" >\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" Path="Cast" 
/>\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" 
Path="Directors" />\r\n' +
-        '        </EntitySet>' +
-        '        <EntitySet Name="TitleAudioFormats" 
EntityType="TestCatalog.Model.TitleAudioFormat" >\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" 
Path="AudioFormats" />\r\n' +
-        '        </EntitySet>\r\n' +
-        '        <EntitySet Name="TitleAwards" 
EntityType="TestCatalog.Model.TitleAward" >\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" Path="Awards" 
/>\r\n' +
-        '        </EntitySet>\r\n' +
-        '        <EntitySet Name="Titles" EntityType="TestCatalog.Model.Title" 
>\r\n' +
-        '            <NavigationPropertyBinding Target="TitleAudioFormats" 
Path="Title" />\r\n' +
-        '            <NavigationPropertyBinding Target="TitleAwards" 
Path="Title" />\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" Path="Disc" 
/>\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" Path="Movie" 
/>\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" Path="Season" 
/>\r\n' +
-        '            <NavigationPropertyBinding Target="Titles" Path="Series" 
/>\r\n' +
-        '            <NavigationPropertyBinding Target="TitleScreenFormats" 
Path="ScreenFormats" />\r\n' +
-        '            <NavigationPropertyBinding Target="People" 
Path="TitlesActedIn" />\r\n' +
-        '            <NavigationPropertyBinding Target="Languages" 
Path="Titles" />\r\n' +
-        '            <NavigationPropertyBinding Target="People" 
Path="TitlesDirected" />\r\n' +
-        '            <NavigationPropertyBinding Target="Genres" Path="Genres" 
/>\r\n' +
-        '        </EntitySet>\r\n' +
-        '        <EntitySet Name="TitleScreenFormats" 
EntityType="TestCatalog.Model.TitleScreenFormat" >\r\n' +
-        '            <NavigationPropertyBinding Target="TitleScreenFormats" 
Path="Title" />\r\n' +
-        '        </EntitySet>\r\n' +
-        '      </EntityContainer>\r\n' +
-        '    </Schema>\r\n' +
-        '  </edmx:DataServices>\r\n' +
-        '</edmx:Edmx>\r\n' +
-        '';
-
-    var testFullMetadataResult = {
-        "version": "4.0",
-        "dataServices": {
-            "dataServiceVersion": "4.0",
-            "maxDataServiceVersion": "4.0",
-            "schema": [{
-                "namespace": "TestCatalog.Model",
-                "entityType": [{
-                    "name": "Genre",
-                    "key": [{ "propertyRef": [{ "name": "Name"}] }],
-                    "property": [{ "name": "Name", "type": "Edm.String", 
"nullable": "false", "maxLength": "50", "unicode": "false"}],
-                    "navigationProperty": [{ "name": "Titles", "partner": 
"Series", "type": "Collection(TestCatalog.Model.Title)"}]
-                }, {
-                    "name": "Language",
-                    "key": [{ "propertyRef": [{ "name": "Name"}] }],
-                    "property": [{ "name": "Name", "type": "Edm.String", 
"nullable": "false", "maxLength": "80", "unicode": "false"}],
-                    "navigationProperty": [{ "name": "Titles", "partner": 
"Languages", "type": "Collection(TestCatalog.Model.Title)"}]
-                }, {
-                    "name": "Person",
-                    "key": [{ "propertyRef": [{ "name": "Id"}] }],
-                    "property": [
-                        { "name": "Id", "type": "Edm.Int32", "nullable": 
"false" },
-                        { "name": "Name", "type": "Edm.String", "nullable": 
"false", "maxLength": "80", "unicode": "true" }
-                    ],
-                    "navigationProperty": [
-                        { "name": "Awards", "partner": "Person", "type": 
"Collection(TestCatalog.Model.TitleAward)" },
-                        { "name": "TitlesActedIn", "partner": "Cast", "type": 
"Collection(TestCatalog.Model.Title)" },
-                        { "name": "TitlesDirected", "partner": "Directors", 
"type": "Collection(TestCatalog.Model.Title)" }
-                    ]
-                }, {
-                    "name": "TitleAudioFormat",
-                    "key": [{ "propertyRef": [{ "name": "TitleId" }, { "name": 
"DeliveryFormat" }, { "name": "Language" }, { "name": "Format"}] }],
-                    "property": [
-                        { "name": "TitleId", "type": "Edm.String", "nullable": 
"false", "maxLength": "30" },
-                        { "name": "DeliveryFormat", "type": "Edm.String", 
"nullable": "false", "maxLength": "10", "unicode": "false" },
-                        { "name": "Language", "type": "Edm.String", 
"nullable": "false", "maxLength": "30", "unicode": "false" },
-                        { "name": "Format", "type": "Edm.String", "nullable": 
"false", "maxLength": "30", "unicode": "false" }
-                    ],
-                    "navigationProperty": [{ "name": "Title", "partner": 
"AudioFormats", "referentialConstraint": [{"property": "TitleId", 
"referencedProperty": "Id"}], "type": "TestCatalog.Model.Title" }]
-                }, {
-                    "name": "TitleAward",
-                    "key": [{ "propertyRef": [{ "name": "Id"}] }],
-                    "property": [
-                        { "name": "Id", "type": "Edm.Guid", "nullable": 
"false" },
-                        { "name": "Type", "type": "Edm.String", "nullable": 
"false", "maxLength": "30", "unicode": "false" },
-                        { "name": "Category", "type": "Edm.String", 
"nullable": "false", "maxLength": "60", "unicode": "false" },
-                        { "name": "Year", "type": "Edm.Int32", "nullable": 
"true" }, { "name": "Won", "type": "Edm.Boolean", "nullable": "false" }
-                    ],
-                    "navigationProperty": [
-                        { "name": "Title", "partner": "Awards", "type": 
"TestCatalog.Model.Title" },
-                        { "name": "Person", "partner": "Awards", "type": 
"TestCatalog.Model.Person" }
-                    ]
-                }, {
-                    "name": "Title",
-                    "hasStream": "true",
-                    "key": [{ "propertyRef": [{ "name": "Id"}] }],
-                    "property": [
-                        { "name": "Id", "type": "Edm.String", "nullable": 
"false", "maxLength": "30" },
-                        { "name": "Synopsis", "type": "Edm.String", 
"nullable": "true", "maxLength": "Max", "unicode": "false" },
-                        { "name": "ShortSynopsis", "type": "Edm.String", 
"nullable": "true", "maxLength": "Max", "unicode": "false" },
-                        { "name": "AverageRating", "type": "Edm.Double", 
"nullable": "true" }, { "name": "ReleaseYear", "type": "Edm.Int32", "nullable": 
"true" },
-                        { "name": "Url", "type": "Edm.String", "nullable": 
"true", "maxLength": "200", "unicode": "false" },
-                        { "name": "Runtime", "type": "Edm.Int32", "nullable": 
"true" },
-                        { "name": "Rating", "type": "Edm.String", "nullable": 
"true", "maxLength": "10", "unicode": "false" },
-                        { "name": "DateModified", "type": "Edm.DateTime", 
"nullable": "false"},
-                        { "name": "Type", "type": "Edm.String", "nullable": 
"false", "maxLength": "8", "unicode": "false" },
-                        { "name": "BoxArt", "type": 
"TestCatalog.Model.BoxArt", "nullable": "false" },
-                        { "name": "ShortName", "type": "Edm.String", 
"nullable": "false", "maxLength": "200", "unicode": "false" },
-                        { "name": "Name", "type": "Edm.String", "nullable": 
"false", "maxLength": "200", "unicode": "false" },
-                        { "name": "Instant", "type": 
"TestCatalog.Model.InstantAvailability", "nullable": "false" },
-                        { "name": "Dvd", "type": 
"TestCatalog.Model.DeliveryFormatAvailability", "nullable": "false" },
-                        { "name": "BluRay", "type": 
"TestCatalog.Model.DeliveryFormatAvailability", "nullable": "false" },
-                        { "name": "TinyUrl", "type": "Edm.String", "nullable": 
"false" },
-                        { "name": "WebsiteUrl", "type": "Edm.String", 
"nullable": "true" },
-                        { "name": "TestApiId", "type": "Edm.String", 
"nullable": "false" }
-                    ],
-                    "navigationProperty": [
-                        { "name": "AudioFormats", "nullable": "false", 
"partner": "Title", "type": "Collection(TestCatalog.Model.TitleAudioFormat)" },
-                        { "name": "Awards", "nullable": "false", "partner": 
"Title", "type": "Collection(TestCatalog.Model.TitleAward)" },
-                        { "name": "Disc", "type": 
"Collection(TestCatalog.Model.Title)" },
-                        { "name": "Movie", "type": 
"Collection(TestCatalog.Model.Title)" },
-                        { "name": "Season", "type": 
"Collection(TestCatalog.Model.Title)" },
-                        { "name": "Series", "type": 
"Collection(TestCatalog.Model.Title)" },
-                        { "name": "ScreenFormats", "nullable": "false", 
"partner": "Title", "type": "Collection(TestCatalog.Model.TitleScreenFormat)" },
-                        { "name": "Cast", "nullable": "false", "partner": 
"TitlesActedIn", "type": "Collection(TestCatalog.Model.Person)" },
-                        { "name": "Languages", "nullable": "false", "partner": 
"Titles", "type": "Collection(TestCatalog.Model.Language)" },
-                        { "name": "Directors", "nullable": "false", "partner": 
"TitlesDirected", "type": "Collection(TestCatalog.Model.Person)" },
-                        { "name": "Genres", "nullable": "false", "partner": 
"Titles", "type": "Collection(TestCatalog.Model.Genre)" }
-                    ]
-                }, {
-                    "name": "TitleScreenFormat",
-                    "key": [{ "propertyRef": [{ "name": "TitleId" }, { "name": 
"DeliveryFormat" }, { "name": "Format"}]}],
-                    "property": [
-                        { "name": "TitleId", "type": "Edm.String", "nullable": 
"false", "maxLength": "30" },
-                        { "name": "DeliveryFormat", "type": "Edm.String", 
"nullable": "false", "maxLength": "10", "unicode": "false" },
-                        { "name": "Format", "type": "Edm.String", "nullable": 
"false", "maxLength": "30", "unicode": "false" }
-                    ],
-                    "navigationProperty": [{ "name": "Title", "partner": 
"ScreenFormats", "referentialConstraint": [{"property": "TitleId", 
"referencedProperty": "Id"}], "type": "TestCatalog.Model.Title" }]
-                }],
-                "complexType": [{
-                    "name": "BoxArt",
-                    "property": [
-                        { "name": "SmallUrl", "type": "Edm.String", 
"nullable": "true", "maxLength": "80", "unicode": "false" },
-                        { "name": "MediumUrl", "type": "Edm.String", 
"nullable": "true", "maxLength": "80", "unicode": "false" },
-                        { "name": "LargeUrl", "type": "Edm.String", 
"nullable": "true", "maxLength": "80", "unicode": "false" },
-                        { "name": "HighDefinitionUrl", "type": "Edm.String", 
"nullable": "true", "maxLength": "80", "unicode": "false" }
-                    ]
-                }, {
-                    "name": "InstantAvailability",
-                    "property": [
-                        { "name": "Available", "type": "Edm.Boolean", 
"nullable": "false" },
-                        { "name": "AvailableFrom", "type": "Edm.DateTime", 
"nullable": "true" },
-                        { "name": "AvailableTo", "type": "Edm.DateTime", 
"nullable": "true" },
-                        { "name": "HighDefinitionAvailable", "type": 
"Edm.Boolean", "nullable": "false" },
-                        { "name": "Runtime", "type": "Edm.Int32", "nullable": 
"true" },
-                        { "name": "Rating", "type": "Edm.String", "nullable": 
"true", "maxLength": "10", "unicode": "false" }
-                    ]
-                }, {
-                    "name": "DeliveryFormatAvailability",
-                    "property": [
-                        { "name": "Available", "type": "Edm.Boolean", 
"nullable": "false" },
-                        { "name": "AvailableFrom", "type": "Edm.DateTime", 
"nullable": "true" },
-                        { "name": "AvailableTo", "type": "Edm.DateTime", 
"nullable": "true" },
-                        { "name": "Runtime", "type": "Edm.Int32", "nullable": 
"true" },
-                        { "name": "Rating", "type": "Edm.String", "nullable": 
"true", "maxLength": "10", "unicode": "false" }
-                    ]
-                }],
-                "function": [
-                {
-                   "name": "ProductsByRating",
-                   "returnType": {"type": 
"Collection(TestCatalog.Model.Title)" }
-                }]
-            }, {
-                "namespace": "Test.Catalog",
-                "entityContainer": {
-                    "name": "TestCatalog",
-                    "functionImport": [
-                        { "entitySet": "Titles", "function": 
"estCatalog.Model.GetTitles", "name": "Movies"},
-                        { "entitySet": "Titles", "function": 
"estCatalog.Model.GetTitles", "name": "Series"},
-                        { "entitySet": "Titles", "function": 
"estCatalog.Model.GetTitles", "name": "Seasons" },
-                        { "entitySet": "Titles", "function": 
"estCatalog.Model.GetTitles", "name": "Discs" },
-                        { "entitySet": "Titles", "function": 
"estCatalog.Model.GetTitles", "name": "Episodes" }
-                    ], "entitySet": [
-                        { "name": "Genres", "entityType": 
"TestCatalog.Model.Genre", "navigationPropertyBinding": [{"path": "Titles", 
"target": "Titles"}] },
-                        { "name": "Languages", "entityType": 
"TestCatalog.Model.Language", "navigationPropertyBinding": [{ "path": 
"Languages", "target": "Titles"}] },
-                        { "name": "People", "entityType": 
"TestCatalog.Model.Person", "navigationPropertyBinding": [{ "path": "Cast", 
"target": "Titles" }, { "path": "Directors", "target": "Titles"}] },
-                        { "name": "TitleAudioFormats", "entityType": 
"TestCatalog.Model.TitleAudioFormat", "navigationPropertyBinding": [{ "path": 
"AudioFormats", "target": "Titles"}] },
-                        { "name": "TitleAwards", "entityType": 
"TestCatalog.Model.TitleAward", "navigationPropertyBinding": [{ "path": 
"Awards", "target": "Titles"}] },
-                        { "name": "Titles", "entityType": 
"TestCatalog.Model.Title", "navigationPropertyBinding": [{ "path": "Title", 
"target": "TitleAudioFormats" }, { "path": "Title", "target": "TitleAwards" }, 
{ "path": "Disc", "target": "Titles" }, { "path": "Movie", "target": "Titles" 
}, { "path": "Season", "target": "Titles" }, { "path": "Series", "target": 
"Titles" }, { "path": "ScreenFormats", "target": "TitleScreenFormats" }, { 
"path": "TitlesActedIn", "target": "People" }, { "path": "Titles", "target": 
"Languages" }, { "path": "TitlesDirected", "target": "People" }, { "path": 
"Genres", "target": "Genres"}] },
-                        { "name": "TitleScreenFormats", "entityType": 
"TestCatalog.Model.TitleScreenFormat", "navigationPropertyBinding": [{ "path": 
"Title", "target": "TitleScreenFormats"}] }
-                    ]
-                }
-            }]
-        }
-    };
-
-    var testCsdlV4 = '' +
-    '<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"; 
Version="4.0">\r\n' +
-    '  <edmx:DataServices 
xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"; 
m:MaxDataServiceVersion="4.0" m:DataServiceVersion="4.0">\r\n' +
-    '    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"; 
Namespace="TestCatalog.Model"/>\r\n' +
-    '  </edmx:DataServices>\r\n' +
-    '</edmx:Edmx>';
-
-    var testMetadataV4 = {
-        "version": "4.0",
-        "dataServices": {
-            "maxDataServiceVersion": "4.0",
-            "dataServiceVersion": "4.0",
-            "schema": [{
-                "namespace": "TestCatalog.Model"
-            }]
-        }
-    };
-
-    djstest.addTest(function testParseConceptualModelElement() {
-        // Test cases as input XML text / result tuples.
-        var cases = [
-            { i: "<foo />", e: null },
-            { i: '<edmx:Edmx Version="4.0" 
xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"; />', e: { version: "4.0"} 
},
-            { i: '<edmx:Edmx Version="4.0" 
xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx-invalid"; />', e: null },
-            { i: testCsdlV4, e: testMetadataV4 },
-            { i: testFullCsdl, e: testFullMetadataResult }
-        ];
-
-        var i, len;
-        for (i = 0, len = cases.length; i < len; i++) {
-            var doc = window.odatajs.xmlParse(cases[i].i);
-            var schema = 
window.odatajs.oData.parseConceptualModelElement(doc.documentElement);
-            djstest.assertAreEqualDeep(schema, cases[i].e, 
"parseConceptualModelElement result matches target");
-        }
-
-        djstest.done();
-    });
-
-    djstest.addTest(function metadataVocabularyTest() {
-        var testCsdl = '' +
-        '<?xml version="1.0" encoding="utf-8" standalone="yes"?>\r\n' +
-        '<edmx:Edmx Version="4.0" 
xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"; >\r\n' +
-        '  <edmx:DataServices 
xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"; 
m:MaxDataServiceVersion="4.0" m:DataServiceVersion="4.0">\r\n' +
-        '    <Schema Namespace="TestCatalog.Model" 
xmlns="http://docs.oasis-open.org/odata/ns/edm";>\r\n' +
-        '          <Term Name="Rating" Type="Edm.Int32" />\r\n' +
-        '          <Term Name="CanEdit" Type="Edm.String" />\r\n' +
-        '      <EntityType Name="Genre">\r\n' +
-        '        <Key><PropertyRef Name="Name" /></Key>\r\n' +
-        '        <Property Name="Name" Type="Edm.String" Nullable="false" 
MaxLength="50" Unicode="false" />\r\n' +
-        '      </EntityType></Schema></edmx:DataServices></edmx:Edmx>';
-
-
-        var doc = window.odatajs.xmlParse(testCsdl);
-        var schema = 
window.odatajs.oData.parseConceptualModelElement(doc.documentElement);
-
-        djstest.assertAreEqual(schema.dataServices.schema[0].term.length, 2, 
"schema.DataServices.Schema.Term.length === 2");
-        djstest.assertAreEqual(schema.dataServices.schema[0].term[0].name, 
"Rating", "schema.DataServices.Schema.Term[0].name === 'Rating'");
-        djstest.assertAreEqual(schema.dataServices.schema[0].term[1].name, 
"CanEdit", "schema.DataServices.Schema.Term[1].name === 'CanEdit'");
-        djstest.done();
-    });
-
-    djstest.addTest(function metadataAnnotationTest() {
-        var testCsdl = '' +
-        '<?xml version="1.0" encoding="utf-8" standalone="yes"?>\r\n' +
-        '<edmx:Edmx Version="4.0" 
xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"; >\r\n' +
-        '  <edmx:DataServices 
xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"; 
m:MaxDataServiceVersion="4.0" m:DataServiceVersion="4.0">\r\n' +
-        '    <Schema Namespace="TestCatalog.Model" 
xmlns="http://docs.oasis-open.org/odata/ns/edm";>\r\n' +
-        '      <EntityType Name="Genre">\r\n' +
-        '        <Key><PropertyRef Name="Name" /></Key>\r\n' +
-        '        <Property Name="Name" Type="Edm.String" Nullable="false" 
MaxLength="50" Unicode="false" />\r\n' +
-        '      </EntityType>\r\n' +
-        '      <EntityType Name="Language">\r\n' +
-        '        <Key><PropertyRef Name="Name" /></Key>\r\n' +
-        '        <Property Name="Name" Type="Edm.String" Nullable="false" 
MaxLength="80" Unicode="false" />\r\n' +
-        '        <Property Name="Id" Type="Edm.Int32" />\r\n' +
-        '      </EntityType>\r\n' +
-        '      <Annotations Target="TestCatalog.Model.Genre/Name">\r\n' +
-        '        <Annotation String="Genre Name" 
Term="Org.OData.Display.V1.DisplayName"/>\r\n' +
-        '      </Annotations>\r\n' +
-        '      <Annotations Target="TestCatalog.Model.Language/Name">\r\n' +
-        '        <Annotation String="Language Name" 
Term="Org.OData.Display.V1.DisplayName"/>\r\n' +
-        '        <Annotation String="Language Name 2" 
Term="Org.OData.Display.V1.DisplayName 2"/>\r\n' +
-        '      </Annotations>\r\n' +
-        '    </Schema></edmx:DataServices></edmx:Edmx>';
-
-
-        var doc = window.odatajs.xmlParse(testCsdl);
-        var schema = 
window.odatajs.oData.parseConceptualModelElement(doc.documentElement);
-
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations.length, 2, 
"Annotations number");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[0].annotation.length,
 1, "Annotation number");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[0].annotation[0].string,
 "Genre Name", "Annotation name");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[0].annotation[0].term,
 "Org.OData.Display.V1.DisplayName", "Annotation term");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[1].annotation.length,
 2, "Annotation number");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[1].annotation[0].string,
 "Language Name", "Annotation name");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[1].annotation[0].term,
 "Org.OData.Display.V1.DisplayName", "Annotation term");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[1].annotation[1].string,
 "Language Name 2", "Annotation name");
-        
djstest.assertAreEqual(schema.dataServices.schema[0].annotations[1].annotation[1].term,
 "Org.OData.Display.V1.DisplayName 2", "Annotation term");
-        djstest.done();
-    });
-
-    // DATAJS INTERNAL END
-})(this);

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-net-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-net-tests.js b/JSLib/tests/odata-net-tests.js
deleted file mode 100644
index 3e48934..0000000
--- a/JSLib/tests/odata-net-tests.js
+++ /dev/null
@@ -1,286 +0,0 @@
-/// <reference path="../src/odata-net.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="common/djstest.js" />
-/// <reference path="common/mockXMLHttpRequest.js" />
-
-// odata-net-tests.js
-(function (window, undefined) {
-    module("Unit");
-    djstest.addTest(function httpClientSendRequestTest() {
-        var tests = [
-            { url: "http://localhost/test1";, response: { headers: {}, status: 
200, body: "test"} },
-            { url: "http://localhost/test2";, response: { headers: {}, status: 
204, body: "test"} },
-            { url: "http://localhost/test3";, response: { headers: {}, status: 
299, body: "test"} },
-            { url: "http://localhost/test4";, response: { headers: {}, status: 
500, body: "error"} }
-        ];
-
-        djstest.assertsExpected(12);
-
-        var sentCount = 0;
-        MockXMLHttpRequest.onAfterSend = function () {
-            sentCount++;
-        };
-
-        var oldXmlHttpRequest = window.XMLHttpRequest;
-        var oldEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-        try {
-            window.XMLHttpRequest = MockXMLHttpRequest.XMLHttpRequest;
-            var i, len;
-            for (i = 0, len = tests.length; i < len; i++) {
-                MockXMLHttpRequest.addResponse(tests[i].url, 
tests[i].response);
-
-                OData.defaultHttpClient.enableJsonpCallback = false;
-                //Need a closure to capture the current test being executed. 
-                (function (test) {
-                    OData.defaultHttpClient.request(
-                    { requestUri: test.url, headers: {} },
-                    function (response) {
-                        djstest.assert(response.statusCode >= 200 & 
response.statusCode <= 299, "response status is in the success range");
-                        djstest.assertAreEqual(response.body, 
test.response.body, "response body is the expected one");
-                        djstest.assertAreEqualDeep(response.headers, [], 
"response headers are the expected ones");
-                    },
-                    function (error) {
-                        djstest.assert(error.response.statusCode > 299, 
"response status is in the error range");
-                        djstest.assertAreEqual(error.response.body, 
test.response.body, "response body is the expected one");
-                        djstest.assertAreEqualDeep(error.response.headers, [], 
"response headers are the expected ones");
-                    });
-                })(tests[i]);
-            }
-        }
-        finally {
-            //Cleanup and finish the test after all requests have been sent 
and processed. Poll every 50 ms
-            var timer = setInterval(function () {
-                if (sentCount === tests.length) {
-                    clearInterval(timer)
-                    OData.defaultHttpClient.enableJsonpCallback = 
oldEnableJsonpCallback;
-                    window.XMLHttpRequest = oldXmlHttpRequest;
-                    MockXMLHttpRequest.reset();
-                    djstest.done();
-                }
-            }, 50);
-        }
-    });
-
-    djstest.addTest(function httpClientRequestTimeoutTest() {
-        var oldXmlHttpRequest = window.XMLHttpRequest;
-        var testDone = false;
-
-        djstest.assertsExpected(1);
-
-        var oldEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-        try {
-            window.XMLHttpRequest = MockXMLHttpRequest.XMLHttpRequest;
-            OData.defaultHttpClient.enableJsonpCallback = false;
-
-            OData.defaultHttpClient.request(
-               { requestUri: "http://test1";, timeoutMS: 10, headers: { 
MockTimeOut: true} },
-               function (response) {
-                   djstest.fail("success method was hit when not expected");
-                   testDone = true;
-               },
-               function (error) {
-                   djstest.assertAreEqual(error.message, "Request timed out", 
"error method executes and error is the expected one");
-                   testDone = true;
-               });
-        }
-        finally {
-            //Cleanup and finish the test after all requests have been sent 
and processed. Poll every 50 ms
-            var timer = setInterval(function () {
-                if (testDone) {
-                    clearInterval(timer)
-                    OData.defaultHttpClient.enableJsonpCallback = 
oldEnableJsonpCallback;
-                    window.XMLHttpRequest = oldXmlHttpRequest;
-                    MockXMLHttpRequest.reset();
-                    djstest.done();
-                }
-            }, 50);
-        }
-    });
-
-    djstest.addTest(function httpClientRequestAbortTest() {
-
-        var oldXmlHttpRequest = window.XMLHttpRequest;
-
-        djstest.assertsExpected(1);
-
-        var oldEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-        try {
-            window.XMLHttpRequest = MockXMLHttpRequest.XMLHttpRequest;
-            OData.defaultHttpClient.enableJsonpCallback = false;
-
-            var result = OData.defaultHttpClient.request(
-               { requestUri: "http://test1";, headers: { MockNoOp: true} },
-               function (response) {
-                   djstest.fail("success method was hit when not expected");
-               },
-               function (error) {
-                   djstest.assertAreEqual(error.message, "Request aborted", 
"error method executes and error is the expected one");
-               });
-
-            result.abort();
-        }
-        finally {
-            OData.defaultHttpClient.enableJsonpCallback = 
oldEnableJsonpCallback;
-            window.XMLHttpRequest = oldXmlHttpRequest;
-            MockXMLHttpRequest.reset();
-            djstest.done();
-        }
-    });
-
-    djstest.addTest(function httpClientRequestAbortOnCompletedRequestTest() {
-
-        var oldXmlHttpRequest = window.XMLHttpRequest;
-        var testDone = false;
-
-        djstest.assertsExpected(1);
-
-        var oldEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-        try {
-            window.XMLHttpRequest = MockXMLHttpRequest.XMLHttpRequest;
-            OData.defaultHttpClient.enableJsonpCallback = false;
-
-            MockXMLHttpRequest.addResponse("http://test1";, { headers: {}, 
status: 200, body: "test body" });
-
-            MockXMLHttpRequest.onAfterSend = function () {
-                result.abort();
-                testDone = true;
-            };
-
-            result = OData.defaultHttpClient.request(
-               { requestUri: "http://test1";, headers: {} },
-               function (response) {
-                   djstest.pass("success method was hit");
-               },
-               function (error) {
-                   djstest.fail("success method was hit when not expected - [" 
+ error.message + "]");
-               });
-        }
-        finally {
-            // Cleanup after test is done, poll eavery 50ms
-            var timer = setInterval(function () {
-                if (testDone) {
-                    clearInterval(timer);
-                    OData.defaultHttpClient.enableJsonpCallback = 
oldEnableJsonpCallback;
-                    window.XMLHttpRequest = oldXmlHttpRequest;
-                    MockXMLHttpRequest.reset();
-                    djstest.done();
-                }
-            }, 50);
-        }
-    });
-
-    djstest.addTest(function httpClientRequestSendsRequestCorrectlyTest() {
-        var tests = [
-            {
-                request: { requestUri: "http://test1";, headers: {}, body: 
"test" },
-                expected: { headers: {}, url: "http://test1";, method: "GET", 
body: "test", async: true, user: undefined, password: undefined }
-            },
-            {
-                request: { requestUri: "http://test2";, headers: {}, method: 
"POST", body: "test" },
-                expected: { headers: {}, url: "http://test2";, method: "POST", 
body: "test", async: true, user: undefined, password: undefined }
-            },
-            {
-                request: { requestUri: "http://test3";, headers: { header1: 
"value1", header2: "value2" }, body: "test" },
-                expected: { headers: { header1: "value1", header2: "value2" }, 
url: "http://test3";, method: "GET", body: "test", async: true, user: undefined, 
password: undefined }
-            }
-        ];
-
-        var oldXmlHttpRequest = window.XMLHttpRequest;
-        var oldEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-        try {
-            window.XMLHttpRequest = MockXMLHttpRequest.XMLHttpRequest;
-            OData.defaultHttpClient.enableJsonpCallback = false;
-            var i, len;
-            for (i = 0, len = tests.length; i < len; i++) {
-
-                
MockXMLHttpRequest.addRequestVerifier(tests[i].request.requestUri, function 
(request) {
-                    djstest.assertAreEqualDeep(request, tests[i].expected, 
"request matches target");
-                });
-
-                OData.defaultHttpClient.request(
-                    tests[i].request,
-                    function (response) { });
-            }
-        }
-        finally {
-            // Restore original values.
-            OData.defaultHttpClient.enableJsonpCallback = 
oldEnableJsonpCallback;
-            window.XMLHttpRequest = oldXmlHttpRequest;
-        }
-        djstest.done();
-    });
-
-    // DATAJS INTERNAL START
-    djstest.addTest(function canUseJSONPTest() {
-        var tests = [
-            { pass: true, input: {} },
-            { pass: true, input: { method: "GET"} },
-            { pass: false, input: { method: "PUT"} },
-            { pass: false, input: { method: "get"} },
-            { pass: true, input: { accept: "*/*"} },
-            { pass: true, input: { accept: "application/json"} },
-            { pass: true, input: { accept: "text/javascript"} },
-            { pass: true, input: { accept: "application/javascript"} },
-            { pass: true, input: { accept: "application/xml"} },
-            { pass: true, input: { headers: { Accept: "application/xml"}} }
-        ];
-        for (var i = 0; i < tests.length; i++) {
-            var actual = OData.canUseJSONP(tests[i].input);
-            djstest.assert(actual === tests[i].pass, "test " + i + " didn't 
actually match pass (" + tests[i].pass + ")");
-        }
-        djstest.done();
-    });
-
-    djstest.addTest(function isAbsoluteUrlTest() {
-        djstest.assert(OData.isAbsoluteUrl("http://something/";));
-        djstest.assert(OData.isAbsoluteUrl("http://malformed url/"));
-        djstest.assert(OData.isAbsoluteUrl("https://localhost/";));
-        djstest.assert(OData.isAbsoluteUrl("file://another-protocol/"));
-        djstest.assert(!window.odatajs.oData.isAbsoluteUrl("/path"));
-        djstest.assert(!window.odatajs.oData.isAbsoluteUrl("?query-string"));
-        djstest.assert(!window.odatajs.oData.isAbsoluteUrl(""));
-        djstest.assert(!window.odatajs.oData.isAbsoluteUrl("mailto:someone";));
-        djstest.done();
-    });
-
-    djstest.addTest(function isLocalUrlTest() {
-        var thisUrl = window.location.href;
-        var localUrls = [
-            "", ".", "/howdy.htm", "  ", "?queryparam",
-            thisUrl, thisUrl + "/foo", thisUrl + "?something-else"
-        ];
-        var remoteUrls = [
-            "http://www.microsoft.com/";,
-            "https://www.microsoft.com/";,
-            "https://"; + window.location.host,
-            "https://"; + window.location.hostname,
-        // 21 is FTP, so the test shouldn't collide
-            "http://"; + window.location.hostname + ":21"
-        ];
-        var i, len;
-        for (i = 0, len = localUrls.length; i < len; i++) {
-            djstest.assert(OData.isLocalUrl(localUrls[i]), "is local: [" + 
localUrls[i] + "]");
-        }
-        for (i = 0, len = remoteUrls.length; i < len; i++) {
-            djstest.assert(!window.odatajs.oData.isLocalUrl(remoteUrls[i]), 
"is not local: [" + remoteUrls[i] + "]");
-        }
-        djstest.done();
-    });
-
-    // DATAJS INTERNAL END
-
-    djstest.addTest(function userPasswordTest() {
-        odatajs.oData.request({
-            requestUri: 
"./endpoints/FoodStoreDataServiceV4.svc/UserNameAndPassword",
-            user: "the-user",
-            password: "the-password"
-        }, function (data) {
-            djstest.assertAreEqualDeep(data.value, "Basic 
dGhlLXVzZXI6dGhlLXBhc3N3b3Jk", "response matches");
-            djstest.done();
-        }, function (err) {
-            djstest.fail("error: " + err.message);
-            djstest.done();
-        });
-    });
-
-})(this);

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-perf-tests.html
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-perf-tests.html 
b/JSLib/tests/odata-perf-tests.html
deleted file mode 100644
index bdcbfb5..0000000
--- a/JSLib/tests/odata-perf-tests.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<head>
-    <title>OData perf tests</title>
-    <meta http-equiv="cache-control" content="no-cache"/> 
-    <meta http-equiv="pragma" content="no-cache"/> 
-    <meta http-equiv="expires" content="-1"/> 
-
-    <link rel="stylesheet" 
href="http://code.jquery.com/qunit/qunit-1.10.0.css"; type="text/css" />
-    <script type="text/javascript" 
src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/jquery-1.4.4.min.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/qunit/qunit-1.10.0.js";></script>
-    <script type="text/javascript" 
src="common/TestSynchronizerClient.js"></script>
-    <script type="text/javascript">
-        window.TestSynchronizer.init(QUnit);
-    </script>
-
-    <script type="text/javascript" src="../src/datajs.js"></script>
-    <script type="text/javascript" src="../src/utils.js"></script>
-    <script type="text/javascript" src="../src/xml.js"></script>
-
-    <script type="text/javascript" src="../src/odata-utils.js"></script>
-    <script type="text/javascript" src="../src/odata-handler.js"></script>
-    <script type="text/javascript" src="../src/odata-gml.js"></script>
-    <script type="text/javascript" src="../src/odata-xml.js"></script>
-    <script type="text/javascript" src="../src/odata-net.js"></script>
-    <script type="text/javascript" src="../src/odata-json-light.js"></script>
-    <script type="text/javascript" src="../src/odata-json.js"></script>
-    <script type="text/javascript" src="../src/odata-atom.js"></script>
-    <script type="text/javascript" src="../src/odata-metadata.js"></script>
-    <script type="text/javascript" src="../src/odata-batch.js"></script>
-    <script type="text/javascript" src="../src/odata.js"></script>
-
-    <script type="text/javascript" src="common/djstest.js"></script>
-    <script type="text/javascript" src="common/Instrument.js"></script>
-
-    <script type="text/javascript" src="odata-perf-tests.js"></script>  
-</head>
-<body>
- <h1 id="qunit-header">OData perf tests</h1>
- <h2 id="qunit-banner"></h2>
- <h2 id="qunit-userAgent"></h2>
- <ol id="qunit-tests"></ol>
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-perf-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-perf-tests.js b/JSLib/tests/odata-perf-tests.js
deleted file mode 100644
index 9c484e7..0000000
--- a/JSLib/tests/odata-perf-tests.js
+++ /dev/null
@@ -1,229 +0,0 @@
-/// <reference path="common/djstest.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="common/Instrument.js" />
-/// <reference path="common/ODataReadOracle.js" />
-
-(function (window, undefined) {
-    var unexpectedErrorHandler = function (err) {
-        djstest.assert(false, "Unexpected call to error handler with error: " 
+ djstest.toString(err));
-        djstest.done();
-    };
-
-    var timedHttpClient = {
-        duration: 0,
-        provider: OData.defaultHttpClient,
-        request: function (request, success, error) {
-            var startTime = new Date();
-            return timedHttpClient.provider.request(request, function () {
-                timedHttpClient.duration = new Date() - startTime;
-                success.apply(this, arguments);
-            }, error);
-        }
-    };
-
-    var largeCollectionService = "./endpoints/LargeCollectionService.svc/";
-
-    // null "service" indicates the feed is read-only
-    var feeds = [
-        // will add atom format test after enabling atom scenario
-        { service: largeCollectionService, uri: largeCollectionService + 
"Customers", mimeType: "application/json;odata.metadata=minimal" },
-        { service: largeCollectionService, uri: largeCollectionService + 
"Customers", mimeType: "application/json;odata.metadata=full" },
-        { service: largeCollectionService, uri: largeCollectionService + 
"Customers", mimeType: "application/json;odata.metadata=none" },
-        { service: largeCollectionService, uri: largeCollectionService + 
"Suppliers", mimeType: "application/json" },
-        { service: null, uri: "http://odata.netflix.com/Catalog/Titles";, 
mimeType: "application/json" }
-    ];
-
-    module("Performance", {
-        setup: function () {
-            djstest.wait(function (done) {
-                $.post(largeCollectionService + "ResetData", done);
-            });
-        },
-        teardown: function () {
-            OData.defaultHttpClient = timedHttpClient.provider;
-        }
-    });
-
-    OData.defaultHttpClient.enableJsonpCallback = true;
-    $.each(feeds, function (_, feed) {
-        $.each([5, 500], function (_, items) {
-            var params = $.extend({}, feed, { items: items, readUri: feed.uri 
+ "?$top=" + items });
-            djstest.addTest(function readPerfTest(params) {
-                var measureRead = function (metadata) {
-                    var startTime = new Date();
-                    odatajs.oData.read({ requestUri: params.readUri, headers: 
{ Accept: params.mimeType }, enableJsonpCallback: true }, function () {
-                        var duration = new Date() - startTime - 
timedHttpClient.duration;
-                        djstest.pass("Duration: " + duration + " ms (Network: 
" + timedHttpClient.duration + " ms)");
-                        djstest.done();
-                    }, unexpectedErrorHandler, undefined, undefined, metadata);
-                };
-
-                OData.defaultHttpClient = timedHttpClient;
-                djstest.assertsExpected(1);
-                if (params.metadata) {
-                    odatajs.oData.read(params.service + "$metadata", 
measureRead, unexpectedErrorHandler, OData.metadataHandler);
-                } else {
-                    measureRead();
-                }
-            }, "Time to read (once) " + params.readUri + " with " + 
params.mimeType, params);
-
-            djstest.addTest(function readParallelMemoryTest(params) {
-                var total = 10;
-                var count = 0;
-                var measureRead = function (metadata) {
-                    Instrument.getBrowserMemorySize(function (memoryBefore) {
-                        for (var i = 0; i < total; i++) {
-                            odatajs.oData.read({ requestUri: params.readUri, 
headers: { Accept: params.mimeType }, enableJsonpCallback: true }, function (_, 
response) {
-                                count++;
-                                if (count >= total) {
-                                    Instrument.getBrowserMemorySize(function 
(memoryAfter) {
-                                        var memory = memoryAfter - 
memoryBefore;
-                                        djstest.pass("Memory: " + memory + " 
bytes (Network: " + response.headers["Content-Length"] + " bytes)");
-                                        djstest.done();
-                                    });
-                                }
-                            }, unexpectedErrorHandler, undefined, undefined, 
metadata);
-                        }
-                    });
-                };
-
-                djstest.assertsExpected(1);
-                if (params.metadata) {
-                    odatajs.oData.read(params.service + "$metadata", 
measureRead, unexpectedErrorHandler, OData.metadataHandler);
-                } else {
-                    measureRead();
-                }
-            }, "Memory to read (x10 parallel) " + params.readUri + " with " + 
params.mimeType, params, 300000);
-
-            djstest.addTest(function readSerialMemoryTest(params) {
-                var total = 10;
-                var count = 0;
-                var measureRead = function (metadata) {
-                    Instrument.getBrowserMemorySize(function (memoryBefore) {
-                        var makeRequest = function () {
-                            odatajs.oData.read({ requestUri: params.readUri, 
headers: { Accept: params.mimeType }, enableJsonpCallback: true }, function (_, 
response) {
-                                count++;
-                                if (count < total) {
-                                    setTimeout(makeRequest, 0);
-                                } else {
-                                    Instrument.getBrowserMemorySize(function 
(memoryAfter) {
-                                        var memory = memoryAfter - 
memoryBefore;
-                                        djstest.pass("Memory: " + memory + " 
bytes (Network: " + response.headers["Content-Length"] + " bytes)");
-                                        djstest.done();
-                                    });
-                                }
-                            }, unexpectedErrorHandler, undefined, undefined, 
metadata);
-                        };
-
-                        makeRequest();
-                    });
-                };
-
-                djstest.assertsExpected(1);
-                if (params.metadata) {
-                    odatajs.oData.read(params.service + "$metadata", 
measureRead, unexpectedErrorHandler, OData.metadataHandler);
-                } else {
-                    measureRead();
-                }
-            }, "Memory to read (x10 serial) " + params.readUri + " with " + 
params.mimeType, params, 300000);
-        });
-
-        if (feed.service) {
-            var params = $.extend({}, feed, {
-                request: {
-                    requestUri: feed.uri,
-                    method: "POST",
-                    headers: { "Content-Type": feed.mimeType, Accept: 
feed.mimeType },
-                    data: {
-                        ID: -1,
-                        Name: "New Entity"
-                    }
-                }
-            });
-
-            djstest.addTest(function postPerfTest(params) {
-                var measurePost = function (metadata) {
-                    var startTime = new Date();
-                    odatajs.oData.request(params.request, function () {
-                        var duration = new Date() - startTime - 
timedHttpClient.duration;
-                        djstest.pass("Duration: " + duration + " ms (Network: 
" + timedHttpClient.duration + " ms)");
-                        djstest.done();
-                    }, unexpectedErrorHandler, undefined, undefined, metadata);
-                };
-
-                OData.defaultHttpClient = timedHttpClient;
-                djstest.assertsExpected(1);
-
-                if (params.metadata) {
-                    odatajs.oData.read(params.service + "$metadata", 
measurePost, unexpectedErrorHandler, OData.metadataHandler);
-                } else {
-                    measurePost();
-                }
-            }, "Time to POST " + params.uri + " with " + params.mimeType, 
params);
-
-            djstest.addTest(function postParallelMemoryTest(params) {
-                var total = 10;
-                var count = 0;
-                var measurePost = function (metadata) {
-                    Instrument.getBrowserMemorySize(function (memoryBefore) {
-                        for (var i = 0; i < total; i++) {
-                            odatajs.oData.request(params.request, function (_, 
response) {
-                                count++;
-                                if (count >= total) {
-                                    Instrument.getBrowserMemorySize(function 
(memoryAfter) {
-                                        var memory = memoryAfter - 
memoryBefore;
-                                        djstest.pass("Memory: " + memory + " 
bytes (Network: " + response.headers["Content-Length"] + " bytes)");
-                                        djstest.done();
-                                    });
-                                }
-                            }, unexpectedErrorHandler, undefined, undefined, 
metadata);
-                        }
-                    });
-                };
-
-                OData.defaultHttpClient = timedHttpClient;
-                djstest.assertsExpected(1);
-
-                if (params.metadata) {
-                    odatajs.oData.read(params.service + "$metadata", 
measurePost, unexpectedErrorHandler, OData.metadataHandler);
-                } else {
-                    measurePost();
-                }
-            }, "Memory to POST (x10 parallel) " + params.uri + " with " + 
params.mimeType, params);
-
-            djstest.addTest(function postSerialMemoryTest(params) {
-                var total = 10;
-                var count = 0;
-                var measurePost = function (metadata) {
-                    Instrument.getBrowserMemorySize(function (memoryBefore) {
-                        var makeRequest = function () {
-                            odatajs.oData.request(params.request, function (_, 
response) {
-                                count++;
-                                if (count < total) {
-                                    setTimeout(makeRequest, 0);
-                                } else {
-                                    Instrument.getBrowserMemorySize(function 
(memoryAfter) {
-                                        var memory = memoryAfter - 
memoryBefore;
-                                        djstest.pass("Memory: " + memory + " 
bytes (Network: " + response.headers["Content-Length"] + " bytes)");
-                                        djstest.done();
-                                    });
-                                }
-                            }, unexpectedErrorHandler, undefined, undefined, 
metadata);
-                        };
-
-                        makeRequest();
-                    });
-                };
-
-                OData.defaultHttpClient = timedHttpClient;
-                djstest.assertsExpected(1);
-
-                if (params.metadata) {
-                    odatajs.oData.read(params.service + "$metadata", 
measurePost, unexpectedErrorHandler, OData.metadataHandler);
-                } else {
-                    measurePost();
-                }
-            }, "Memory to POST (x10 serial) " + params.uri + " with " + 
params.mimeType, params);
-        }
-    });
-})(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-qunit-tests.htm
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-qunit-tests.htm 
b/JSLib/tests/odata-qunit-tests.htm
deleted file mode 100644
index f8b6a19..0000000
--- a/JSLib/tests/odata-qunit-tests.htm
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<!--
-Copyright (c) Microsoft Open Technologies, Inc.  All rights reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy 
of this software and associated documentation 
-files (the "Software"), to deal  in the Software without restriction, 
including without limitation the rights  to use, copy,
-modify, merge, publish, distribute, sublicense, and/or sell copies of the 
Software, and to permit persons to whom the 
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all 
copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  
IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-WARRANTIES OF MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND 
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
DEALINGS IN THE SOFTWARE.
--->
-  <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="cache-control" content="no-cache" />
-    <meta http-equiv="pragma" content="no-cache" />
-    <meta http-equiv="expires" content="-1" />
-
-    <title>OData unit tests</title>
-    <link rel="stylesheet" 
href="http://code.jquery.com/qunit/qunit-1.10.0.css"; type="text/css" />
-    
-    <script type="text/javascript" 
src="http://code.jquery.com/jquery-1.4.4.min.js"; ></script>
-    
-<!--    <script type="text/javascript" 
src="http://code.jquery.com/jquery-1.4.4.js";>
-    <script type="text/javascript" 
src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.js";></script>-->
-    
-
-    <script type="text/javascript" 
src="http://code.jquery.com/qunit/qunit-1.10.0.js";></script>
-    <script type="text/javascript" 
src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js";></script>
-
-    <script type="text/javascript" src="common/ODataReadOracle.js"></script>
-    <script type="text/javascript" 
src="common/TestSynchronizerClient.js"></script>
-
-    <script type="text/javascript" src="common/rx.js"></script>
-
-    <script type="text/javascript">
-        window.TestSynchronizer.init(QUnit);
-    </script>
-   
-    <script type="text/javascript" src="../src/datajs.js"></script>
-    <script type="text/javascript" src="../src/utils.js"></script>
-    <script type="text/javascript" src="../src/xml.js"></script>
-
-    <script type="text/javascript" src="../src/odata-utils.js"></script>
-    <script type="text/javascript" src="../src/odata-handler.js"></script>
-    <script type="text/javascript" src="../src/odata-gml.js"></script>
-    <script type="text/javascript" src="../src/odata-xml.js"></script>
-    <script type="text/javascript" src="../src/odata-net.js"></script>
-    <script type="text/javascript" src="../src/odata-json-light.js"></script>
-    <script type="text/javascript" src="../src/odata-json.js"></script>
-    <script type="text/javascript" src="../src/odata-atom.js"></script>
-    <script type="text/javascript" src="../src/odata-metadata.js"></script>
-    <script type="text/javascript" src="../src/odata-batch.js"></script>
-    <script type="text/javascript" src="../src/odata.js"></script>
-
-    <script type="text/javascript" src="../src/store-dom.js"></script>
-    <script type="text/javascript" src="../src/store-indexeddb.js"></script>
-    <script type="text/javascript" src="../src/store-memory.js"></script>
-    <script type="text/javascript" src="../src/store.js"></script>
-  
-    <script type="text/javascript" src="../src/deferred.js"></script>
-    <script type="text/javascript" src="../src/cache-source.js"></script>
-    <script type="text/javascript" src="../src/cache.js"></script>
-    
-    <script type="text/javascript" src="common/mockHttpClient.js"></script>
-    <script type="text/javascript" src="common/mockXMLHttpRequest.js"></script>
-    <script type="text/javascript" src="common/djstest.js"></script>
-    <script type="text/javascript" src="common/CacheOracle.js"></script>
-
-<!--bingl: disable the failure test case. Will fix them in the next change 
set-->
-<!--    <script type="text/javascript" src="odata-tests.js"></script>-->
-<!--    <script type="text/javascript" src="odata-atom-tests.js"></script>-->
-    <script type="text/javascript" src="odata-json-tests.js"></script>
-<!--    <script type="text/javascript" 
src="odata-json-light-tests.js"></script>-->
-    <script type="text/javascript" src="odata-metadata-tests.js"></script>
-    <script type="text/javascript" src="odata-xml-tests.js"></script>
-    <script type="text/javascript" src="odata-handler-tests.js"></script>
-    <script type="text/javascript" src="odata-net-tests.js"></script>
-    <script type="text/javascript" src="odata-batch-tests.js"></script>
-
-    <script type="text/javascript" src="cache-tests.js"></script>
-    <script type="text/javascript" src="store-tests.js"></script>
-    <script type="text/javascript" src="store-indexeddb-tests.js"></script>
-  </head>
-  <body>
-    <h1 id="qunit-header">OData Unit Tests</h1>
-    <h2 id="qunit-banner"></h2>
-    <h2 id="qunit-userAgent"></h2>
-    <ol id="qunit-tests">
-    </ol>
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-read-crossdomain-functional-tests.html
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-read-crossdomain-functional-tests.html 
b/JSLib/tests/odata-read-crossdomain-functional-tests.html
deleted file mode 100644
index f3e18a6..0000000
--- a/JSLib/tests/odata-read-crossdomain-functional-tests.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<head>
-    <title>OData tests against local service</title>
-    <meta http-equiv="cache-control" content="no-cache"/> 
-    <meta http-equiv="pragma" content="no-cache"/> 
-    <meta http-equiv="expires" content="-1"/> 
-
-    <link rel="stylesheet" 
href="http://code.jquery.com/qunit/qunit-1.10.0.css"; type="text/css" />
-    <script type="text/javascript" 
src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/jquery-1.4.4.min.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/qunit/qunit-1.10.0.js";></script>
-    <script type="text/javascript" src="common/ODataReadOracle.js"></script>
-    <script type="text/javascript" 
src="common/TestSynchronizerClient.js"></script>
-        <script type="text/javascript">
-            window.TestSynchronizer.init(QUnit);
-    </script>
-
-    <script type="text/javascript" src="../src/datajs.js"></script>
-    <script type="text/javascript" src="../src/utils.js"></script>
-    <script type="text/javascript" src="../src/xml.js"></script>
-
-    <script type="text/javascript" src="../src/odata-utils.js"></script>
-    <script type="text/javascript" src="../src/odata-handler.js"></script>
-    <script type="text/javascript" src="../src/odata-gml.js"></script>
-    <script type="text/javascript" src="../src/odata-xml.js"></script>
-    <script type="text/javascript" src="../src/odata-net.js"></script>
-    <script type="text/javascript" src="../src/odata-json-light.js"></script>
-    <script type="text/javascript" src="../src/odata-json.js"></script>
-    <script type="text/javascript" src="../src/odata-atom.js"></script>
-    <script type="text/javascript" src="../src/odata-metadata.js"></script>
-    <script type="text/javascript" src="../src/odata-batch.js"></script>
-    <script type="text/javascript" src="../src/odata.js"></script>
-    
-    <script type="text/javascript" src="../src/store-dom.js"></script>
-    <script type="text/javascript" src="../src/store-indexeddb.js"></script>
-    <script type="text/javascript" src="../src/store-memory.js"></script>
-    <script type="text/javascript" src="../src/store.js"></script>
-  
-    <script type="text/javascript" src="../src/deferred.js"></script>
-    <script type="text/javascript" src="../src/cache-source.js"></script>
-    <script type="text/javascript" src="../src/cache.js"></script>
-
-    <script type="text/javascript" src="common/djstest.js"></script>
-    <script type="text/javascript" 
src="odata-read-crossdomain-functional-tests.js"></script>  
-</head>
-<body>
- <h1 id="qunit-header">OData.Read tests against cross domain endpoints</h1>
- <h2 id="qunit-banner"></h2>
- <h2 id="qunit-userAgent"></h2>
- <ol id="qunit-tests"></ol>
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-read-crossdomain-functional-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-read-crossdomain-functional-tests.js 
b/JSLib/tests/odata-read-crossdomain-functional-tests.js
deleted file mode 100644
index cb3eddd..0000000
--- a/JSLib/tests/odata-read-crossdomain-functional-tests.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/// <reference path="common/djstest.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="../src/odata-net.js" />
-/// <reference path="common/ODataReadOracle.js" />
-
-(function (window, undefined) {
-
-    var unexpectedErrorHandler = function (err) {
-        djstest.assert(false, "Unexpected call to error handler with error: " 
+ djstest.toString(err));
-        djstest.done();
-    };
-
-    var fixConstructors = function (obj) {
-        /// <summary>Fix the constructors of the supplied object 
graph.</summary>
-        /// <remarks>
-        /// When using IE9 or a non-IE browser, the JSONP support in the 
library creates objects in a separate IFRAME,
-        /// causing the constructor property to be different to that of 
objects created by the oracle. This function
-        /// stringifies and then re-parses the object, which fixes the 
constructors.
-        /// </remarks>
-        if (!window.ActiveXObject || window.DOMParser) {
-            return window.JSON.parse(window.JSON.stringify(obj));
-        } else {
-            return obj;
-        }
-    };
-
-    var handlerAcceptStrings = [
-        "*/*",
-    /*"application/atom+xml",*/
-        "application/json",
-        undefined
-    ];
-
-    var formatJsonStrings = [
-        "application/json",
-        "application/json;odata.metadata=none",
-        "application/json;odata.metadata=minimal",
-        "application/json;odata.metadata=full",
-        undefined
-    ];
-    var azureOdataService = 
"http://odatasampleservices.azurewebsites.net/V4/OData/OData.svc/";;
-    var azureOdataFeed = azureOdataService + "Categories";
-    var crossDomainTimeout = 45000;
-
-    module("CrossDomain", {
-        setup: function () {
-            this.oldEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-            OData.defaultHttpClient.enableJsonpCallback = true;
-        },
-        teardown: function () {
-            OData.defaultHttpClient.enableJsonpCallback = 
this.oldEnableJsonpCallback;
-        }
-    });
-
-    for (var i = 0; i < handlerAcceptStrings.length; i++) {
-        for (var j = 0; j < formatJsonStrings.length; j++) {
-            djstest.addTest(function readCrossDomainFullFeedTest(params) {
-                djstest.assertsExpected(1);
-                var request = { requestUri: azureOdataFeed, headers: { Accept: 
params.handlerAccept}, enableJsonpCallback: true };
-                if (params.formatJsonString != undefined) {
-                    request.formatQueryString = "$format=" + 
params.formatJsonString;
-                }
-
-                djstest.log("Reading data over the wire.");
-                odatajs.oData.read(request, function (data, response) {
-                    djstest.log("Verifying data over the wire from Oracle.");
-                    window.ODataReadOracle.readFeed(azureOdataFeed, function 
(expectedData) {
-                        data = fixConstructors(data);
-                        djstest.assertWithoutMetadata(data, expectedData, 
"Response data not same as expected");
-                        djstest.done();
-                    }, params.formatJsonString);
-                }, unexpectedErrorHandler);
-            }, "Testing valid read of cross domain feed collection with " + 
handlerAcceptStrings[i] + "," + formatJsonStrings[j], { handlerAccept: 
handlerAcceptStrings[i], formatJsonString: formatJsonStrings[j] }, 
crossDomainTimeout);
-        }
-
-        djstest.addTest(function readCrossDomainEntryTest(handlerAccept) {
-            var endPoint = azureOdataFeed + "(1)";
-            djstest.assertsExpected(1);
-            djstest.log("Reading data over the wire.");
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} }, function (data, response) {
-                djstest.log("Verifying data over the wire from Oracle.");
-                window.ODataReadOracle.readEntry(endPoint, function 
(expectedData) {
-                    data = fixConstructors(data);
-                    djstest.assertWithoutMetadata(data, expectedData, 
"Response data not same as expected");
-                    djstest.done();
-                }, "application/json");
-            }, unexpectedErrorHandler);
-        }, "Testing valid read of cross domain entry with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i], crossDomainTimeout);
-    }
-
-    var prefetchSizes = [-1, 0, 15];
-    var cacheSizes = [-1, 0, 15];
-    var skipValues = [
-        0,
-        14, // < pageSize
-        15, // = pageSize
-        16 // > pageSize but < pageSize + prefetchSize
-    ];
-
-    var createTestName = function (params) {
-        return "Testing ReadRange of " + params.feed + " skip " + params.skip 
+ " take " + params.take + " with pageSize " +
-            params.pageSize + ", prefetch " + params.prefetchSize + " and 
cacheSize " + params.cacheSize;
-    };
-
-    var dataCacheReadRangeSingleTest = function (params) {
-        var options = { name: "cache", source: params.feed, pageSize: 
params.pageSize, prefetchSize: params.prefetchSize, cacheSize: params.cacheSize 
};
-        OData.defaultHttpClient.enableJsonpCallback = true;
-        var cache = odatajs.createDataCache(options);
-        cache.readRange(params.skip, params.take).then(function (data) {
-            validateExpectedRange(cache, data, params.feed, params.skip, 
params.take);
-        }, unexpectedErrorHandler);
-    };
-
-    var validateExpectedRange = function (cache, data, feed, skipValue, 
takeValue) {
-        var expectedRangeUrl = feed + "?$skip=" + skipValue + "&$top=" + 
takeValue;
-        window.ODataReadOracle.readFeed(expectedRangeUrl, function 
(expectedData) {
-            if (expectedData.results) {
-                expectedData = expectedData.results;
-            }
-            data = fixConstructors(data);
-            djstest.assertAreEqualDeep(data, expectedData, "Response data not 
same as expected");
-            djstest.destroyCacheAndDone(cache);
-        });
-    };
-
-    $.each(prefetchSizes, function (_, prefetchSizeValue) {
-        $.each(cacheSizes, function (_, cacheSizeValue) {
-            var parameters = { feed: 
"http://odatasampleservices.azurewebsites.net/V4/OData/OData.svc/Categories";, 
skip: 0, take: 5, pageSize: 15, prefetchSize: prefetchSizeValue, cacheSize: 
cacheSizeValue };
-            djstest.addTest(dataCacheReadRangeSingleTest, 
createTestName(parameters), parameters);
-        });
-    });
-
-    $.each(skipValues, function (_, skipValue) {
-        var parameters = { feed: 
"http://odatasampleservices.azurewebsites.net/V4/OData/OData.svc/Categories";, 
skip: skipValue, take: 14, pageSize: 5, prefetchSize: 5, cacheSize: 5 };
-        djstest.addTest(dataCacheReadRangeSingleTest, 
createTestName(parameters), parameters, crossDomainTimeout);
-    });
-})(this);

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-read-functional-tests.html
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-read-functional-tests.html 
b/JSLib/tests/odata-read-functional-tests.html
deleted file mode 100644
index 0a60a3a..0000000
--- a/JSLib/tests/odata-read-functional-tests.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<head>
-    <title>OData tests against local service</title>
-    <meta http-equiv="cache-control" content="no-cache"/> 
-    <meta http-equiv="pragma" content="no-cache"/> 
-    <meta http-equiv="expires" content="-1"/> 
-
-    <link rel="stylesheet" 
href="http://code.jquery.com/qunit/qunit-1.10.0.css"; type="text/css" />
-    <script type="text/javascript" 
src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/jquery-1.4.4.min.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/qunit/qunit-1.10.0.js";></script>
-    <script type="text/javascript" src="common/ODataReadOracle.js"></script>
-    <script type="text/javascript" 
src="common/TestSynchronizerClient.js"></script>
-        <script type="text/javascript">
-            window.TestSynchronizer.init(QUnit);
-        </script>
-
-    <script type="text/javascript" src="../src/datajs.js"></script>
-    <script type="text/javascript" src="../src/utils.js"></script>
-    <script type="text/javascript" src="../src/xml.js"></script>
-
-    <script type="text/javascript" src="../src/odata-utils.js"></script>
-    <script type="text/javascript" src="../src/odata-handler.js"></script>
-    <script type="text/javascript" src="../src/odata-gml.js"></script>
-    <script type="text/javascript" src="../src/odata-xml.js"></script>
-    <script type="text/javascript" src="../src/odata-net.js"></script>
-    <script type="text/javascript" src="../src/odata-json-light.js"></script>
-    <script type="text/javascript" src="../src/odata-json.js"></script>
-    <script type="text/javascript" src="../src/odata-atom.js"></script>
-    <script type="text/javascript" src="../src/odata-metadata.js"></script>
-    <script type="text/javascript" src="../src/odata-batch.js"></script>
-    <script type="text/javascript" src="../src/odata.js"></script>
-
-    <script type="text/javascript" src="common/djstest.js"></script>
-
-    <script type="text/javascript" 
src="odata-read-functional-tests.js"></script>  
-</head>
-<body>
- <h1 id="qunit-header">OData.Read tests against local in-memory service</h1>
- <h2 id="qunit-banner"></h2>
- <h2 id="qunit-userAgent"></h2>
- <ol id="qunit-tests"></ol>
-</body>
-</html>

Reply via email to