You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ka...@apache.org on 2014/05/02 20:30:25 UTC
[50/70] Remove all cordova-lib files
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/windows8/www/css/index.css
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/windows8/www/css/index.css b/cordova-lib/spec-plugman/projects/windows8/www/css/index.css
deleted file mode 100644
index 51daa79..0000000
--- a/cordova-lib/spec-plugman/projects/windows8/www/css/index.css
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-* {
- -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
-}
-
-body {
- -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */
- -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */
- -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */
- background-color:#E4E4E4;
- background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
- background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
- background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
- background-image:-webkit-gradient(
- linear,
- left top,
- left bottom,
- color-stop(0, #A7A7A7),
- color-stop(0.51, #E4E4E4)
- );
- background-attachment:fixed;
- font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
- font-size:12px;
- height:100%;
- margin:0px;
- padding:0px;
- text-transform:uppercase;
- width:100%;
-}
-
-/* Portrait layout (default) */
-.app {
- background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */
- position:absolute; /* position in the center of the screen */
- left:50%;
- top:50%;
- height:50px; /* text area height */
- width:225px; /* text area width */
- text-align:center;
- padding:180px 0px 0px 0px; /* image height is 200px (bottom 20px are overlapped with text) */
- margin:-115px 0px 0px -112px; /* offset vertical: half of image height and text area height */
- /* offset horizontal: half of text area width */
-}
-
-/* Landscape layout (with min-width) */
-@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
- .app {
- background-position:left center;
- padding:75px 0px 75px 170px; /* padding-top + padding-bottom + text area = image height */
- margin:-90px 0px 0px -198px; /* offset vertical: half of image height */
- /* offset horizontal: half of image width and text area width */
- }
-}
-
-h1 {
- font-size:24px;
- font-weight:normal;
- margin:0px;
- overflow:visible;
- padding:0px;
- text-align:center;
-}
-
-.event {
- border-radius:4px;
- -webkit-border-radius:4px;
- color:#FFFFFF;
- font-size:12px;
- margin:0px 30px;
- padding:2px 0px;
-}
-
-.event.listening {
- background-color:#333333;
- display:block;
-}
-
-.event.received {
- background-color:#4B946A;
- display:none;
-}
-
-@keyframes fade {
- from { opacity: 1.0; }
- 50% { opacity: 0.4; }
- to { opacity: 1.0; }
-}
-
-@-webkit-keyframes fade {
- from { opacity: 1.0; }
- 50% { opacity: 0.4; }
- to { opacity: 1.0; }
-}
-
-.blink {
- animation:fade 3000ms infinite;
- -webkit-animation:fade 3000ms infinite;
-}
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/windows8/www/img/logo.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/windows8/www/img/logo.png b/cordova-lib/spec-plugman/projects/windows8/www/img/logo.png
deleted file mode 100644
index 86a48a8..0000000
Binary files a/cordova-lib/spec-plugman/projects/windows8/www/img/logo.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/windows8/www/img/smalllogo.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/windows8/www/img/smalllogo.png b/cordova-lib/spec-plugman/projects/windows8/www/img/smalllogo.png
deleted file mode 100644
index 0e648ef..0000000
Binary files a/cordova-lib/spec-plugman/projects/windows8/www/img/smalllogo.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/windows8/www/img/splashscreen.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/windows8/www/img/splashscreen.png b/cordova-lib/spec-plugman/projects/windows8/www/img/splashscreen.png
deleted file mode 100644
index d1e6c98..0000000
Binary files a/cordova-lib/spec-plugman/projects/windows8/www/img/splashscreen.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/windows8/www/img/storelogo.png
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/windows8/www/img/storelogo.png b/cordova-lib/spec-plugman/projects/windows8/www/img/storelogo.png
deleted file mode 100644
index dd00478..0000000
Binary files a/cordova-lib/spec-plugman/projects/windows8/www/img/storelogo.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/windows8/www/index.html
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/windows8/www/index.html b/cordova-lib/spec-plugman/projects/windows8/www/index.html
deleted file mode 100644
index ca8ab84..0000000
--- a/cordova-lib/spec-plugman/projects/windows8/www/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta name="format-detection" content="telephone=no" />
- <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
- <link rel="stylesheet" type="text/css" href="css/index.css" />
- <title>Hello World</title>
- </head>
- <body>
- <div class="app">
- <h1>Apache Cordova</h1>
- <div id="deviceready" class="blink">
- <p class="event listening">Connecting to Device</p>
- <p class="event received">Device is Ready</p>
- </div>
- </div>
- <script type="text/javascript" src="cordova-2.6.0.js"></script>
- <script type="text/javascript" src="js/index.js"></script>
- <script type="text/javascript">
- app.initialize();
- </script>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/windows8/www/js/index.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/windows8/www/js/index.js b/cordova-lib/spec-plugman/projects/windows8/www/js/index.js
deleted file mode 100644
index 87b5660..0000000
--- a/cordova-lib/spec-plugman/projects/windows8/www/js/index.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-var app = {
- // Application Constructor
- initialize: function() {
- this.bindEvents();
- },
- // Bind Event Listeners
- //
- // Bind any events that are required on startup. Common events are:
- // 'load', 'deviceready', 'offline', and 'online'.
- bindEvents: function() {
- document.addEventListener('deviceready', this.onDeviceReady, false);
- },
- // deviceready Event Handler
- //
- // The scope of 'this' is the event. In order to call the 'receivedEvent'
- // function, we must explicitly call 'app.receivedEvent(...);'
- onDeviceReady: function() {
- app.receivedEvent('deviceready');
- },
- // Update DOM on a Received Event
- receivedEvent: function(id) {
- var parentElement = document.getElementById(id);
- var listeningElement = parentElement.querySelector('.listening');
- var receivedElement = parentElement.querySelector('.received');
-
- listeningElement.setAttribute('style', 'display:none;');
- receivedElement.setAttribute('style', 'display:block;');
-
- console.log('Received Event: ' + id);
- }
-};
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/wp7/CordovaAppProj.csproj
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/wp7/CordovaAppProj.csproj b/cordova-lib/spec-plugman/projects/wp7/CordovaAppProj.csproj
deleted file mode 100644
index 4b122a2..0000000
--- a/cordova-lib/spec-plugman/projects/wp7/CordovaAppProj.csproj
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>10.0.20506</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}</ProjectGuid>
- <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>$safeprojectname$</RootNamespace>
- <AssemblyName>$safeprojectname$</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
- <TargetFrameworkProfile>WindowsPhone71</TargetFrameworkProfile>
- <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
- <SilverlightApplication>true</SilverlightApplication>
- <SupportedCultures>
- </SupportedCultures>
- <XapOutputs>true</XapOutputs>
- <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
- <XapFilename>$safeprojectname$.xap</XapFilename>
- <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
- <SilverlightAppEntry>$safeprojectname$.App</SilverlightAppEntry>
- <ValidateXaml>true</ValidateXaml>
- <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>Bin\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>Bin\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Microsoft.Devices.Sensors" />
- <Reference Include="Microsoft.Phone" />
- <Reference Include="Microsoft.Phone.Interop" />
- <Reference Include="Microsoft.Xna.Framework" />
- <Reference Include="System.Device" />
- <Reference Include="System.Runtime.Serialization" />
- <Reference Include="System.Servicemodel.Web" />
- <Reference Include="System.Windows" />
- <Reference Include="system" />
- <Reference Include="System.Core" />
- <Reference Include="System.Net" />
- <Reference Include="System.Xml" />
- <Reference Include="System.Xml.Linq" />
- </ItemGroup>
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" />
- <ProjectExtensions />
- <PropertyGroup>
- <PreBuildEvent>CScript "$(ProjectDir)/BuildManifestProcessor.js" "$(ProjectPath)"</PreBuildEvent>
- </PropertyGroup>
- <PropertyGroup>
- <PostBuildEvent>
- </PostBuildEvent>
- </PropertyGroup>
- <ItemGroup />
-</Project>
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/wp7/Properties/WMAppManifest.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/wp7/Properties/WMAppManifest.xml b/cordova-lib/spec-plugman/projects/wp7/Properties/WMAppManifest.xml
deleted file mode 100644
index b218fcb..0000000
--- a/cordova-lib/spec-plugman/projects/wp7/Properties/WMAppManifest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
- <App xmlns="" ProductID="{5FC10D78-8779-4EDB-9B61-1D04F0A755D4}" Title="An App"
- RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal"
- Author="An App author"
- BitsPerPixel="32"
- Description="Apache Cordova for Windows Phone 7"
- Publisher="An App">
-
- <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
- <Capabilities>
- <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
- </Capabilities>
-
- <Tasks>
- <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
- </Tasks>
- <Tokens>
- <PrimaryToken TokenID="An AppToken" TaskName="_default">
- <TemplateType5>
- <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
- <Count>0</Count>
- <Title>An App</Title>
- </TemplateType5>
- </PrimaryToken>
- </Tokens>
- </App>
-</Deployment>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/wp8/CordovaAppProj.csproj
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/wp8/CordovaAppProj.csproj b/cordova-lib/spec-plugman/projects/wp8/CordovaAppProj.csproj
deleted file mode 100644
index bc229e5..0000000
--- a/cordova-lib/spec-plugman/projects/wp8/CordovaAppProj.csproj
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>10.0.20506</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{3677C1B7-D68B-4CF9-BF8A-E869D437A6DF}</ProjectGuid>
- <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>my.test.project</RootNamespace>
- <AssemblyName>my.test.project</AssemblyName>
- <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
- <SilverlightVersion>
- </SilverlightVersion>
- <TargetFrameworkProfile>
- </TargetFrameworkProfile>
- <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
- <SilverlightApplication>true</SilverlightApplication>
- <SupportedCultures>en-US</SupportedCultures>
- <XapOutputs>true</XapOutputs>
- <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
- <XapFilename>CordovaAppProj_$(Configuration)_$(Platform).xap</XapFilename>
- <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
- <SilverlightAppEntry>my.test.project.App</SilverlightAppEntry>
- <ValidateXaml>true</ValidateXaml>
- <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
- <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
- <BackgroundAgentType />
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>Bin\Debug</OutputPath>
- <DefineConstants>TRACE;DEBUG;SILVERLIGHT;WINDOWS_PHONE;WP8</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>Bin\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE;WP8</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>Bin\x86\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <DebugType>full</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
- <Optimize>false</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
- <OutputPath>Bin\x86\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <Optimize>true</Optimize>
- <NoStdLib>true</NoStdLib>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>Bin\ARM\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <DebugType>full</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- <Optimize>false</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
- <OutputPath>Bin\ARM\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <Optimize>true</Optimize>
- <NoStdLib>true</NoStdLib>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="App.xaml.cs">
- <DependentUpon>App.xaml</DependentUpon>
- </Compile>
- <Compile Include="MainPage.xaml.cs">
- <DependentUpon>MainPage.xaml</DependentUpon>
- </Compile>
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Page Include="src\UI\PageTest.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Plugins\org.apache.cordova.core.InAppBrowser\InAppBrowser.cs" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\UI\PageTest.xaml.cs">
- <DependentUpon>PageTest.xaml</DependentUpon>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <Reference Include="LibraryTest">
- <HintPath>lib\LibraryTest.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\FileTest.cs" />
- </ItemGroup>
- <ItemGroup>
- <Content Include="src\Content.img" />
- </ItemGroup>
-</Project>
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/wp8/Properties/WMAppManifest.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/wp8/Properties/WMAppManifest.xml b/cordova-lib/spec-plugman/projects/wp8/Properties/WMAppManifest.xml
deleted file mode 100644
index 5b37a95..0000000
--- a/cordova-lib/spec-plugman/projects/wp8/Properties/WMAppManifest.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
- <DefaultLanguage xmlns="" code="en-US" />
- <Languages xmlns="">
- <Language code="en-US" />
- </Languages>
- <App xmlns="" ProductID="{F3A8197B-6B16-456D-B5F4-DD4F04AC0BEC}" Title="An App" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="An App author" BitsPerPixel="32" Description="Apache Cordova for Windows Phone" Publisher="An App" PublisherID="{db093ed5-53b1-45f7-af72-751e8f36ab80}">
- <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
- <Capabilities>
- <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
- </Capabilities>
- <Tasks>
- <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
- </Tasks>
- <Tokens>
- <PrimaryToken TokenID="An AppToken" TaskName="_default">
- <TemplateFlip>
- <SmallImageURI IsResource="false" IsRelative="true">Background.png</SmallImageURI>
- <Count>0</Count>
- <BackgroundImageURI IsResource="false" IsRelative="true">Background.png</BackgroundImageURI>
- <Title>An App</Title>
- <BackContent></BackContent>
- <BackBackgroundImageURI></BackBackgroundImageURI>
- <BackTitle></BackTitle>
- <LargeBackgroundImageURI></LargeBackgroundImageURI>
- <LargeBackContent></LargeBackContent>
- <LargeBackBackgroundImageURI></LargeBackBackgroundImageURI>
- <DeviceLockImageURI></DeviceLockImageURI>
- <HasLarge>false</HasLarge>
- </TemplateFlip>
- </PrimaryToken>
- </Tokens>
- <ScreenResolutions>
- <ScreenResolution Name="ID_RESOLUTION_WVGA" />
- <ScreenResolution Name="ID_RESOLUTION_WXGA" />
- <ScreenResolution Name="ID_RESOLUTION_HD720P" />
- </ScreenResolutions>
- </App>
-</Deployment>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/projects/www-only/.gitkeep
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/projects/www-only/.gitkeep b/cordova-lib/spec-plugman/projects/www-only/.gitkeep
deleted file mode 100644
index e69de29..0000000
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/publish.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/publish.spec.js b/cordova-lib/spec-plugman/publish.spec.js
deleted file mode 100644
index 3498bd6..0000000
--- a/cordova-lib/spec-plugman/publish.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var publish = require('../src/publish'),
- Q = require('q'),
- registry = require('../src/registry/registry');
-
-describe('publish', function() {
- it('should publish a plugin', function() {
- var sPublish = spyOn(registry, 'publish').andReturn(Q(['/path/to/my/plugin']));
- publish(new Array('/path/to/myplugin'));
- expect(sPublish).toHaveBeenCalledWith(['/path/to/myplugin']);
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/registry/registry.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/registry/registry.spec.js b/cordova-lib/spec-plugman/registry/registry.spec.js
deleted file mode 100644
index 7615ee6..0000000
--- a/cordova-lib/spec-plugman/registry/registry.spec.js
+++ /dev/null
@@ -1,134 +0,0 @@
-var registry = require('../../src/registry/registry'),
- manifest = require('../../src/registry/manifest'),
- fs = require('fs'),
- path = require('path'),
- Q = require('q'),
- shell = require('shelljs'),
- os = require('os'),
- npm = require('npm');
-
-describe('registry', function() {
- var done;
- beforeEach(function() {
- done = false;
- });
- function registryPromise(shouldSucceed, f) {
- waitsFor(function() { return done; }, 'promise never resolved', 500);
- return f.then(function() {
- done = true;
- expect(shouldSucceed).toBe(true);
- }, function(err) {
- done = err;
- expect(shouldSucceed).toBe(false);
- });
- }
-
- describe('manifest', function() {
- var pluginDir, packageJson, tmp_plugin, tmp_plugin_xml, tmp_package_json;
- beforeEach(function() {
- pluginDir = __dirname + '/../plugins/EnginePlugin';
- tmp_plugin = path.join(os.tmpdir(), 'plugin');
- tmp_plugin_xml = path.join(tmp_plugin, 'plugin.xml');
- tmp_package_json = path.join(tmp_plugin, 'package.json');
- shell.cp('-R', pluginDir+"/*", tmp_plugin);
- });
- afterEach(function() {
- shell.rm('-rf', tmp_plugin);
- });
- it('should generate a package.json from a plugin.xml', function() {
- registryPromise(true, manifest.generatePackageJsonFromPluginXml(tmp_plugin).then(function() {
- expect(fs.existsSync(tmp_package_json));
- var packageJson = JSON.parse(fs.readFileSync(tmp_package_json));
- expect(packageJson.name).toEqual('com.cordova.engine');
- expect(packageJson.version).toEqual('1.0.0');
- expect(packageJson.engines).toEqual(
- [ { name : 'cordova', version : '>=2.3.0' }, { name : 'cordova-plugman', version : '>=0.10.0' }, { name : 'mega-fun-plugin', version : '>=1.0.0' }, { name : 'mega-boring-plugin', version : '>=3.0.0' } ]);
- }));
- });
- it('should raise an error if name does not follow com.domain.* format', function() {
- var xmlData = fs.readFileSync(tmp_plugin_xml).toString().replace('id="com.cordova.engine"', 'id="engine"');
- fs.writeFileSync(tmp_plugin_xml, xmlData);
- registryPromise(false, manifest.generatePackageJsonFromPluginXml(tmp_plugin));
- });
- it('should generate a package.json if name uses org.apache.cordova.* for a whitelisted plugin', function() {
- var xmlData = fs.readFileSync(tmp_plugin_xml).toString().replace('id="com.cordova.engine"', 'id="org.apache.cordova.camera"');
- fs.writeFileSync(tmp_plugin_xml, xmlData);
- registryPromise(true, manifest.generatePackageJsonFromPluginXml(tmp_plugin).then(function() {
- expect(!fs.existsSync(tmp_package_json));
- }));
- });
- it('should raise an error if name uses org.apache.cordova.* for a non-whitelisted plugin', function() {
- var xmlData = fs.readFileSync(tmp_plugin_xml).toString().replace('id="com.cordova.engine"', 'id="org.apache.cordova.myinvalidplugin"');
- fs.writeFileSync(tmp_plugin_xml, xmlData);
- registryPromise(false, manifest.generatePackageJsonFromPluginXml(tmp_plugin));
- });
- });
- describe('actions', function() {
- var fakeLoad, fakeNPMCommands;
-
- beforeEach(function() {
- done = false;
- var fakeSettings = {
- cache: '/some/cache/dir',
- logstream: 'somelogstream@2313213',
- userconfig: '/some/config/dir'
- };
-
- var fakeNPM = function() {
- if (arguments.length > 0) {
- var cb = arguments[arguments.length-1];
- if (cb && typeof cb === 'function') cb(null, true);
- }
- };
-
- registry.settings = fakeSettings;
- fakeLoad = spyOn(npm, 'load').andCallFake(function(settings, cb) { cb(null, true); });
-
- fakeNPMCommands = {};
- ['config', 'adduser', 'cache', 'publish', 'unpublish', 'search'].forEach(function(cmd) {
- fakeNPMCommands[cmd] = jasmine.createSpy(cmd).andCallFake(fakeNPM);
- });
-
- npm.commands = fakeNPMCommands;
- });
- it('should run config', function() {
- var params = ['set', 'registry', 'http://registry.cordova.io'];
- registryPromise(true, registry.config(params).then(function() {
- expect(fakeLoad).toHaveBeenCalledWith(registry.settings, jasmine.any(Function));
- expect(fakeNPMCommands.config).toHaveBeenCalledWith(params, jasmine.any(Function));
- }));
- });
- it('should run adduser', function() {
- registryPromise(true, registry.adduser(null).then(function() {
- expect(fakeLoad).toHaveBeenCalledWith(registry.settings, jasmine.any(Function));
- expect(fakeNPMCommands.adduser).toHaveBeenCalledWith(null, jasmine.any(Function));
- }));
- });
- it('should run publish', function() {
- var params = [__dirname + '/../plugins/DummyPlugin'];
- var spyGenerate = spyOn(manifest, 'generatePackageJsonFromPluginXml').andReturn(Q());
- var spyUnlink = spyOn(fs, 'unlink');
- registryPromise(true, registry.publish(params).then(function() {
- expect(fakeLoad).toHaveBeenCalledWith(registry.settings, jasmine.any(Function));
- expect(spyGenerate).toHaveBeenCalledWith(params[0]);
- expect(fakeNPMCommands.publish).toHaveBeenCalledWith(params, jasmine.any(Function));
- expect(spyUnlink).toHaveBeenCalledWith(path.resolve(params[0], 'package.json'));
- }));
- });
- it('should run unpublish', function() {
- var params = ['dummyplugin@0.6.0'];
- registryPromise(true, registry.unpublish(params).then(function() {
- expect(fakeLoad).toHaveBeenCalledWith(registry.settings, jasmine.any(Function));
- expect(fakeNPMCommands.unpublish).toHaveBeenCalledWith(params, jasmine.any(Function));
- expect(fakeNPMCommands.cache).toHaveBeenCalledWith(['clean'], jasmine.any(Function));
- }));
- });
- it('should run search', function() {
- var params = ['dummyplugin', 'plugin'];
- registryPromise(true, registry.search(params).then(function() {
- expect(fakeLoad).toHaveBeenCalledWith(registry.settings, jasmine.any(Function));
- expect(fakeNPMCommands.search).toHaveBeenCalledWith(params, true, jasmine.any(Function));
- }));
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/search.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/search.spec.js b/cordova-lib/spec-plugman/search.spec.js
deleted file mode 100644
index 4955d2d..0000000
--- a/cordova-lib/spec-plugman/search.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var search = require('../src/search'),
- Q = require('q'),
- registry = require('../src/registry/registry');
-
-describe('search', function() {
- it('should search a plugin', function() {
- var sSearch = spyOn(registry, 'search').andReturn(Q());
- search(new Array('myplugin', 'keyword'));
- expect(sSearch).toHaveBeenCalledWith(['myplugin', 'keyword']);
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/uninstall.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/uninstall.spec.js b/cordova-lib/spec-plugman/uninstall.spec.js
deleted file mode 100644
index a8c2b97..0000000
--- a/cordova-lib/spec-plugman/uninstall.spec.js
+++ /dev/null
@@ -1,289 +0,0 @@
-var uninstall = require('../src/uninstall'),
- install = require('../src/install'),
- actions = require('../src/util/action-stack'),
- config_changes = require('../src/util/config-changes'),
- events = require('../src/events'),
- plugman = require('../plugman'),
- common = require('./common'),
- fs = require('fs'),
- path = require('path'),
- shell = require('shelljs'),
- Q = require('q'),
- spec = __dirname,
- done = false,
- srcProject = path.join(spec, 'projects', 'android_uninstall'),
- project = path.join(spec, 'projects', 'android_uninstall.test'),
- project2 = path.join(spec, 'projects', 'android_uninstall.test2'),
-
- plugins_dir = path.join(spec, 'plugins'),
- plugins_install_dir = path.join(project, 'cordova', 'plugins'),
- plugins_install_dir2 = path.join(project2, 'cordova', 'plugins'),
-
- plugins = {
- 'DummyPlugin' : path.join(plugins_dir, 'DummyPlugin'),
- 'A' : path.join(plugins_dir, 'dependencies', 'A'),
- 'C' : path.join(plugins_dir, 'dependencies', 'C')
- },
- promise,
- dummy_id = 'com.phonegap.plugins.dummyplugin';
-
-function uninstallPromise(f) {
- return f.then(function() { done = true; }, function(err) { done = err; });
-}
-
-describe('start', function() {
-
- it('start', function() {
- shell.rm('-rf', project);
- shell.rm('-rf', project2);
- shell.cp('-R', path.join(srcProject, '*'), project);
- shell.cp('-R', path.join(srcProject, '*'), project2);
-
- done = false;
- promise = Q()
- .then(
- function(){ return install('android', project, plugins['DummyPlugin']) }
- ).then(
- function(){ return install('android', project, plugins['A']) }
- ).then(
- function(){ return install('android', project2, plugins['C']) }
- ).then(
- function(){ return install('android', project2, plugins['A']) }
- ).then(
- function(){ done = true; }
- );
- waitsFor(function() { return done; }, 'promise never resolved', 500);
- });
-});
-
-describe('uninstallPlatform', function() {
- var proc, prepare, actions_push, add_to_queue, c_a, rm;
- var fsWrite;
-
- var plat_common = require('../src/platforms/common');
-
- beforeEach(function() {
- proc = spyOn(actions.prototype, 'process').andReturn(Q());
- actions_push = spyOn(actions.prototype, 'push');
- c_a = spyOn(actions.prototype, 'createAction');
- prepare = spyOn(plugman, 'prepare');
- fsWrite = spyOn(fs, 'writeFileSync').andReturn(true);
- rm = spyOn(shell, 'rm').andReturn(true);
- spyOn(shell, 'cp').andReturn(true);
- add_to_queue = spyOn(config_changes, 'add_uninstalled_plugin_to_prepare_queue');
- done = false;
- });
- describe('success', function() {
- it('should call prepare after a successful uninstall', function() {
- runs(function() {
- uninstallPromise(uninstall.uninstallPlatform('android', project, dummy_id));
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(prepare).toHaveBeenCalled();
- });
- });
- it('should call the config-changes module\'s add_uninstalled_plugin_to_prepare_queue method after processing an install', function() {
- runs(function() {
- uninstallPromise(uninstall.uninstallPlatform('android', project, dummy_id));
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(add_to_queue).toHaveBeenCalledWith(plugins_install_dir, dummy_id, 'android', true);
- });
- });
- it('should queue up actions as appropriate for that plugin and call process on the action stack', function() {
- runs(function() {
- uninstallPromise(uninstall.uninstallPlatform('android', project, dummy_id));
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(actions_push.calls.length).toEqual(5);
- expect(proc).toHaveBeenCalled();
- });
- });
-
- describe('with dependencies', function() {
- var emit;
- beforeEach(function() {
- emit = spyOn(events, 'emit');
- });
- it('should uninstall "dangling" dependencies', function() {
- runs(function() {
- uninstallPromise(uninstall.uninstallPlatform('android', project, 'A'));
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(emit).toHaveBeenCalledWith('log', 'Uninstalling 2 dependent plugins.');
- });
- });
- });
- });
-
- describe('failure', function() {
- it('should throw if platform is unrecognized', function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlatform('atari', project, 'SomePlugin') );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('atari not supported.');
- });
- });
- it('should throw if plugin is missing', function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlatform('android', project, 'SomePluginThatDoesntExist') );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('Plugin "SomePluginThatDoesntExist" not found. Already uninstalled?');
- });
- });
- });
-});
-
-describe('uninstallPlugin', function() {
- var rm, fsWrite, rmstack = [], emit;
-
- beforeEach(function() {
- fsWrite = spyOn(fs, 'writeFileSync').andReturn(true);
- rm = spyOn(shell, 'rm').andCallFake(function(f,p) { rmstack.push(p); return true});
- rmstack = [];
- emit = spyOn(events, 'emit');
- done = false;
- });
- describe('with dependencies', function() {
-
- it('should delete all dependent plugins', function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlugin('A', plugins_install_dir) );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- var del = common.spy.getDeleted(emit);
-
- expect(del).toEqual([
- 'Deleted "C"',
- 'Deleted "D"',
- 'Deleted "A"'
- ]);
- });
- });
-
- it("should fail if plugin is a required dependency", function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlugin('C', plugins_install_dir) );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(done.message).toBe('"C" is required by (A) and cannot be removed (hint: use -f or --force)');
- });
- });
-
- it("allow forcefully removing a plugin", function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlugin('C', plugins_install_dir, {force: true}) );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(done).toBe(true);
- var del = common.spy.getDeleted(emit);
- expect(del).toEqual(['Deleted "C"']);
- });
- });
-
- it("never remove top level plugins if they are a dependency", function() {
- runs(function() {
- uninstallPromise( uninstall.uninstallPlugin('A', plugins_install_dir2) );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- var del = common.spy.getDeleted(emit);
-
- expect(del).toEqual([
- 'Deleted "D"',
- 'Deleted "A"'
- ]);
- });
- });
- });
-});
-
-describe('uninstall', function() {
- var fsWrite, rm, add_to_queue;
-
- beforeEach(function() {
- fsWrite = spyOn(fs, 'writeFileSync').andReturn(true);
- rm = spyOn(shell, 'rm').andReturn(true);
- add_to_queue = spyOn(config_changes, 'add_uninstalled_plugin_to_prepare_queue');
- done = false;
- });
- describe('success', function() {
- it('should call the config-changes module\'s add_uninstalled_plugin_to_prepare_queue method after processing an install', function() {
- runs(function() {
- uninstallPromise( uninstall('android', project, plugins['DummyPlugin']) );
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(add_to_queue).toHaveBeenCalledWith(plugins_install_dir, dummy_id, 'android', true);
- });
- });
- });
-
- describe('failure', function() {
- it('should throw if platform is unrecognized', function() {
- runs(function() {
- uninstallPromise(uninstall('atari', project, 'SomePlugin'));
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('atari not supported.');
- });
- });
- it('should throw if plugin is missing', function() {
- runs(function() {
- uninstallPromise(uninstall('android', project, 'SomePluginThatDoesntExist'));
- });
- waitsFor(function() { return done; }, 'promise never resolved', 200);
- runs(function() {
- expect(''+done).toContain('Plugin "SomePluginThatDoesntExist" not found. Already uninstalled?');
- });
- });
- });
-});
-
-describe('end', function() {
-
- it('end', function() {
- done = false;
-
- promise.then(
- function(){
- return uninstall('android', project, plugins['DummyPlugin'])
- }
- ).then(
- function(){
- // Fails... A depends on
- return uninstall('android', project, plugins['C'])
- }
- ).fail(
- function(err) {
- expect(err.message).toBe("The plugin 'C' is required by (A), skipping uninstallation.");
- }
- ).then(
- function(){
- // dependencies on C,D ... should this only work with --recursive? prompt user..?
- return uninstall('android', project, plugins['A'])
- }
- ).fin(function(err){
- if(err)
- plugman.emit('error', err);
-
- shell.rm('-rf', project);
- shell.rm('-rf', project2);
- done = true;
- });
-
- waitsFor(function() { return done; }, 'promise never resolved', 500);
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/unpublish.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/unpublish.spec.js b/cordova-lib/spec-plugman/unpublish.spec.js
deleted file mode 100644
index 944f640..0000000
--- a/cordova-lib/spec-plugman/unpublish.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var unpublish = require('../src/unpublish'),
- Q = require('q'),
- registry = require('../src/registry/registry');
-
-describe('unpublish', function() {
- it('should unpublish a plugin', function() {
- var sUnpublish = spyOn(registry, 'unpublish').andReturn(Q());
- unpublish(new Array('myplugin@0.0.1'));
- expect(sUnpublish).toHaveBeenCalledWith(['myplugin@0.0.1']);
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/util/action-stack.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/util/action-stack.spec.js b/cordova-lib/spec-plugman/util/action-stack.spec.js
deleted file mode 100644
index 3aa732f..0000000
--- a/cordova-lib/spec-plugman/util/action-stack.spec.js
+++ /dev/null
@@ -1,58 +0,0 @@
-var action_stack = require('../../src/util/action-stack'),
- ios = require('../../src/platforms/ios');
-
-describe('action-stack', function() {
- var stack;
- beforeEach(function() {
- stack = new action_stack();
- });
- describe('processing of actions', function() {
- it('should process actions one at a time until all are done', function() {
- var first_spy = jasmine.createSpy();
- var first_args = [1];
- var second_spy = jasmine.createSpy();
- var second_args = [2];
- var third_spy = jasmine.createSpy();
- var third_args = [3];
- stack.push(stack.createAction(first_spy, first_args, function(){}, []));
- stack.push(stack.createAction(second_spy, second_args, function(){}, []));
- stack.push(stack.createAction(third_spy, third_args, function(){}, []));
- stack.process('android', 'blah');
- expect(first_spy).toHaveBeenCalledWith(first_args[0]);
- expect(second_spy).toHaveBeenCalledWith(second_args[0]);
- expect(third_spy).toHaveBeenCalledWith(third_args[0]);
- });
- it('should revert processed actions if an exception occurs', function() {
- spyOn(console, 'log');
- var first_spy = jasmine.createSpy();
- var first_args = [1];
- var first_reverter = jasmine.createSpy();
- var first_reverter_args = [true];
- var process_err = new Error('process_err');
- var second_spy = jasmine.createSpy().andCallFake(function() {
- throw process_err;
- });
- var second_args = [2];
- var third_spy = jasmine.createSpy();
- var third_args = [3];
- stack.push(stack.createAction(first_spy, first_args, first_reverter, first_reverter_args));
- stack.push(stack.createAction(second_spy, second_args, function(){}, []));
- stack.push(stack.createAction(third_spy, third_args, function(){}, []));
- // process should throw
- var error;
- runs(function() {
- stack.process('android', 'blah').fail(function(err) { error = err; });
- });
- waitsFor(function(){ return error; }, 'process promise never resolved', 500);
- runs(function() {
- expect(error).toEqual(process_err);
- // first two actions should have been called, but not the third
- expect(first_spy).toHaveBeenCalledWith(first_args[0]);
- expect(second_spy).toHaveBeenCalledWith(second_args[0]);
- expect(third_spy).not.toHaveBeenCalledWith(third_args[0]);
- // first reverter should have been called after second action exploded
- expect(first_reverter).toHaveBeenCalledWith(first_reverter_args[0]);
- });
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/util/config-changes.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/util/config-changes.spec.js b/cordova-lib/spec-plugman/util/config-changes.spec.js
deleted file mode 100644
index 9d93d72..0000000
--- a/cordova-lib/spec-plugman/util/config-changes.spec.js
+++ /dev/null
@@ -1,449 +0,0 @@
-/* jshint node:true, sub:true, indent:4 */
-/* global jasmine, describe, beforeEach, afterEach, it, spyOn, expect */
-
-var configChanges = require('../../src/util/config-changes'),
- xml_helpers = require('../../src/util/xml-helpers'),
- ios_parser = require('../../src/platforms/ios'),
- fs = require('fs'),
- os = require('osenv'),
- plugman = require('../../plugman'),
- events = require('../../src/events'),
- et = require('elementtree'),
- path = require('path'),
- plist = require('plist-with-patches'),
- shell = require('shelljs'),
- xcode = require('xcode'),
- temp = path.join(os.tmpdir(), 'plugman'),
- dummyplugin = path.join(__dirname, '..', 'plugins', 'DummyPlugin'),
- cbplugin = path.join(__dirname, '..', 'plugins', 'ChildBrowser'),
- childrenplugin = path.join(__dirname, '..', 'plugins', 'multiple-children'),
- shareddepsplugin = path.join(__dirname, '..', 'plugins', 'shared-deps-multi-child'),
- configplugin = path.join(__dirname, '..', 'plugins', 'ConfigTestPlugin'),
- varplugin = path.join(__dirname, '..', 'plugins', 'VariablePlugin'),
- android_two_project = path.join(__dirname, '..', 'projects', 'android_two', '*'),
- android_two_no_perms_project = path.join(__dirname, '..', 'projects', 'android_two_no_perms', '*'),
- ios_plist_project = path.join(__dirname, '..', 'projects', 'ios-plist', '*'),
- ios_config_xml = path.join(__dirname, '..', 'projects', 'ios-config-xml', '*'),
- plugins_dir = path.join(temp, 'cordova', 'plugins');
-
-// TODO: dont do fs so much
-
-var dummy_xml = new et.ElementTree(et.XML(fs.readFileSync(path.join(dummyplugin, 'plugin.xml'), 'utf-8')));
-
-function innerXML(xmltext) {
- return xmltext.replace(/^<[\w\s\-=\/"\.]+>/, '').replace(/<\/[\w\s\-=\/"\.]+>$/,'');
-}
-
-describe('config-changes module', function() {
- beforeEach(function() {
- shell.mkdir('-p', temp);
- shell.mkdir('-p', plugins_dir);
- });
- afterEach(function() {
- shell.rm('-rf', temp);
- ios_parser.purgeProjectFileCache(temp);
- });
-
- describe('queue methods', function() {
- describe('add_installed_plugin_to_prepare_queue', function() {
- it('should call get_platform_json method', function() {
- var spy = spyOn(configChanges, 'get_platform_json').andReturn({
- prepare_queue:{
- installed:[],
- uninstalled:[]
- }
- });
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'PooPlugin', 'android', {});
- expect(spy).toHaveBeenCalledWith(plugins_dir, 'android');
- });
- it('should append specified plugin to platform.json', function() {
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'PooPlugin', 'android', {});
- var json = configChanges.get_platform_json(plugins_dir, 'android');
- expect(json.prepare_queue.installed[0].plugin).toEqual('PooPlugin');
- expect(json.prepare_queue.installed[0].vars).toEqual({});
- });
- it('should append specified plugin with any variables to platform.json', function() {
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'PooPlugin', 'android', {'dude':'man'});
- var json = configChanges.get_platform_json(plugins_dir, 'android');
- expect(json.prepare_queue.installed[0].plugin).toEqual('PooPlugin');
- expect(json.prepare_queue.installed[0].vars).toEqual({'dude':'man'});
- });
- it('should call save_platform_json with updated config', function() {
- var spy = spyOn(configChanges, 'save_platform_json');
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'PooPlugin', 'android', {});
- var config = spy.mostRecentCall.args[0];
- expect(config.prepare_queue.installed[0].plugin).toEqual('PooPlugin');
- });
- });
-
- describe('add_uninstalled_plugin_to_prepare_queue', function() {
- beforeEach(function() {
- shell.cp('-rf', dummyplugin, plugins_dir);
- });
-
- it('should call get_platform_json method', function() {
- var spy = spyOn(configChanges, 'get_platform_json').andReturn({
- prepare_queue:{
- installed:[],
- uninstalled:[]
- }
- });
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android');
- expect(spy).toHaveBeenCalledWith(plugins_dir, 'android');
- });
- it('should append specified plugin to platform.json', function() {
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android');
- var json = configChanges.get_platform_json(plugins_dir, 'android');
- expect(json.prepare_queue.uninstalled[0].plugin).toEqual('DummyPlugin');
- expect(json.prepare_queue.uninstalled[0].id).toEqual('com.phonegap.plugins.dummyplugin');
- });
- it('should call save_platform_json with updated config', function() {
- var spy = spyOn(configChanges, 'save_platform_json');
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android', {});
- var config = spy.mostRecentCall.args[0];
- expect(config.prepare_queue.uninstalled[0].plugin).toEqual('DummyPlugin');
- expect(config.prepare_queue.uninstalled[0].id).toEqual('com.phonegap.plugins.dummyplugin');
- });
- });
- });
-
- describe('get_platform_json method', function() {
- it('should return an empty config json object if file doesn\'t exist', function() {
- var filepath = path.join(plugins_dir, 'android.json');
- var cfg = configChanges.get_platform_json(plugins_dir, 'android');
- expect(cfg).toBeDefined();
- expect(cfg.prepare_queue).toBeDefined();
- expect(cfg.config_munge).toBeDefined();
- expect(cfg.installed_plugins).toBeDefined();
- });
- it('should return the json file if it exists', function() {
- var filepath = path.join(plugins_dir, 'android.json');
- var json = {
- prepare_queue: {installed: [], uninstalled: []},
- config_munge: {files: {"some_file": {parents: {"some_parent": [{"xml": "some_change", "count": 1}]}}}},
- installed_plugins: {}};
- fs.writeFileSync(filepath, JSON.stringify(json), 'utf-8');
- var cfg = configChanges.get_platform_json(plugins_dir, 'android');
- expect(JSON.stringify(json)).toEqual(JSON.stringify(cfg));
- });
- });
-
- describe('save_platform_json method', function() {
- it('should write out specified json', function() {
- var filepath = path.join(plugins_dir, 'android.json');
- var cfg = {poop:true};
- configChanges.save_platform_json(cfg, plugins_dir, 'android');
- expect(fs.existsSync(filepath)).toBe(true);
- expect(JSON.parse(fs.readFileSync(filepath, 'utf-8'))).toEqual(cfg);
- });
- });
-
- describe('generate_plugin_config_munge method', function() {
- describe('for android projects', function() {
- beforeEach(function() {
- shell.cp('-rf', android_two_project, temp);
- });
- it('should return a flat config hierarchy for simple, one-off config changes', function() {
- var xml;
- var munger = new configChanges.PlatformMunger('android', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(dummyplugin, {});
- expect(munge.files['AndroidManifest.xml']).toBeDefined();
- expect(munge.files['AndroidManifest.xml'].parents['/manifest/application']).toBeDefined();
- xml = (new et.ElementTree(dummy_xml.find('./platform[@name="android"]/config-file[@target="AndroidManifest.xml"]'))).write({xml_declaration:false});
- xml = innerXML(xml);
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest/application', xml).count).toEqual(1);
- expect(munge.files['res/xml/plugins.xml']).toBeDefined();
- expect(munge.files['res/xml/plugins.xml'].parents['/plugins']).toBeDefined();
- xml = (new et.ElementTree(dummy_xml.find('./platform[@name="android"]/config-file[@target="res/xml/plugins.xml"]'))).write({xml_declaration:false});
- xml = innerXML(xml);
- expect(configChanges.get_munge_change(munge, 'res/xml/plugins.xml', '/plugins', xml).count).toEqual(1);
- expect(munge.files['res/xml/config.xml']).toBeDefined();
- expect(munge.files['res/xml/config.xml'].parents['/cordova/plugins']).toBeDefined();
- xml = (new et.ElementTree(dummy_xml.find('./platform[@name="android"]/config-file[@target="res/xml/config.xml"]'))).write({xml_declaration:false});
- xml = innerXML(xml);
- expect(configChanges.get_munge_change(munge, 'res/xml/config.xml', '/cordova/plugins', xml).count).toEqual(1);
- });
- it('should split out multiple children of config-file elements into individual leaves', function() {
- var munger = new configChanges.PlatformMunger('android', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(childrenplugin, {});
- expect(munge.files['AndroidManifest.xml']).toBeDefined();
- expect(munge.files['AndroidManifest.xml'].parents['/manifest']).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="android.permission.READ_PHONE_STATE" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="android.permission.INTERNET" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="android.permission.GET_ACCOUNTS" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="android.permission.WAKE_LOCK" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<permission android:name="com.alunny.childapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="com.alunny.childapp.permission.C2D_MESSAGE" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />')).toBeDefined();
- });
- it('should not use xml comments as config munge leaves', function() {
- var munger = new configChanges.PlatformMunger('android', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(childrenplugin, {});
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<!--library-->')).not.toBeDefined();
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<!-- GCM connects to Google Services. -->')).not.toBeDefined();
- });
- it('should increment config hierarchy leaves if different config-file elements target the same file + selector + xml', function() {
- var munger = new configChanges.PlatformMunger('android', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(configplugin, {});
- expect(configChanges.get_munge_change(munge, 'res/xml/config.xml', '/widget', '<poop />').count).toEqual(2);
- });
- it('should take into account interpolation variables', function() {
- var munger = new configChanges.PlatformMunger('android', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(childrenplugin, {PACKAGE_NAME:'ca.filmaj.plugins'});
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', '<uses-permission android:name="ca.filmaj.plugins.permission.C2D_MESSAGE" />')).toBeDefined();
- });
- it('should create munges for platform-agnostic config.xml changes', function() {
- var munger = new configChanges.PlatformMunger('android', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(dummyplugin, {});
- expect(configChanges.get_munge_change(munge, 'config.xml', '/*', '<access origin="build.phonegap.com" />')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'config.xml', '/*', '<access origin="s3.amazonaws.com" />')).toBeDefined();
- });
- it('should automatically add on app java identifier as PACKAGE_NAME variable for android config munges', function() {
- shell.cp('-rf', android_two_project, temp);
- var munger = new configChanges.PlatformMunger('android', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(varplugin, {});
- var expected_xml = '<package>com.alunny.childapp</package>';
- expect(configChanges.get_munge_change(munge, 'AndroidManifest.xml', '/manifest', expected_xml)).toBeDefined();
- });
- });
-
- describe('for ios projects', function() {
- beforeEach(function() {
- shell.cp('-rf', ios_config_xml, temp);
- });
- it('should automatically add on ios bundle identifier as PACKAGE_NAME variable for ios config munges', function() {
- var munger = new configChanges.PlatformMunger('ios', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(varplugin, {});
- var expected_xml = '<cfbundleid>com.example.friendstring</cfbundleid>';
- expect(configChanges.get_munge_change(munge, 'config.xml', '/widget', expected_xml)).toBeDefined();
- });
- it('should special case framework elements for ios', function() {
- var munger = new configChanges.PlatformMunger('ios', temp, 'unused');
- var munge = munger.generate_plugin_config_munge(cbplugin, {});
- expect(munge.files['framework']).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'framework', 'libsqlite3.dylib', 'false')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'framework', 'social.framework', 'true')).toBeDefined();
- expect(configChanges.get_munge_change(munge, 'framework', 'music.framework', 'false')).toBeDefined();
- expect(munge.files['framework'].parents['Custom.framework']).not.toBeDefined();
- });
- });
- });
-
- describe('processing of plugins (via process method)', function() {
- beforeEach(function() {
- shell.cp('-rf', dummyplugin, plugins_dir);
- });
- it('should generate config munges for queued plugins', function() {
- shell.cp('-rf', android_two_project, temp);
- var cfg = configChanges.get_platform_json(plugins_dir, 'android');
- cfg.prepare_queue.installed = [{'plugin':'DummyPlugin', 'vars':{}}];
- configChanges.save_platform_json(cfg, plugins_dir, 'android');
- var munger = new configChanges.PlatformMunger('android', temp, plugins_dir);
- var spy = spyOn(munger, 'generate_plugin_config_munge').andReturn({});
- munger.process();
- expect(spy).toHaveBeenCalledWith(path.join(plugins_dir, 'DummyPlugin'), {});
- });
- it('should get a reference to existing config munge by calling get_platform_json', function() {
- shell.cp('-rf', android_two_project, temp);
- var spy = spyOn(configChanges, 'get_platform_json').andReturn({
- prepare_queue:{
- installed:[],
- uninstalled:[]
- },
- config_munge:{}
- });
- configChanges.process(plugins_dir, temp, 'android');
- expect(spy).toHaveBeenCalledWith(plugins_dir, 'android');
- });
- describe(': installation', function() {
- describe('of xml config files', function() {
- beforeEach(function() {
- shell.cp('-rf', android_two_project, temp);
- });
- it('should call graftXML for every new config munge it introduces (every leaf in config munge that does not exist)', function() {
- var cfg = configChanges.get_platform_json(plugins_dir, 'android');
- cfg.prepare_queue.installed = [{'plugin':'DummyPlugin', 'vars':{}}];
- configChanges.save_platform_json(cfg, plugins_dir, 'android');
-
- var spy = spyOn(xml_helpers, 'graftXML').andReturn(true);
-
- var manifest_doc = new et.ElementTree(et.XML(fs.readFileSync(path.join(temp, 'AndroidManifest.xml'), 'utf-8')));
- var munge = dummy_xml.find('./platform[@name="android"]/config-file[@target="AndroidManifest.xml"]');
- configChanges.process(plugins_dir, temp, 'android');
- expect(spy.calls.length).toEqual(4);
- expect(spy.argsForCall[0][2]).toEqual('/*');
- expect(spy.argsForCall[1][2]).toEqual('/*');
- expect(spy.argsForCall[2][2]).toEqual('/manifest/application');
- expect(spy.argsForCall[3][2]).toEqual('/cordova/plugins');
- });
- it('should not call graftXML for a config munge that already exists from another plugin', function() {
- shell.cp('-rf', configplugin, plugins_dir);
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'ConfigTestPlugin', 'android', {});
-
- var spy = spyOn(xml_helpers, 'graftXML').andReturn(true);
- configChanges.process(plugins_dir, temp, 'android');
- expect(spy.calls.length).toEqual(1);
- });
- it('should not call graftXML for a config munge targeting a config file that does not exist', function() {
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android', {});
-
- var spy = spyOn(fs, 'readFileSync').andCallThrough();
-
- configChanges.process(plugins_dir, temp, 'android');
- expect(spy).not.toHaveBeenCalledWith(path.join(temp, 'res', 'xml', 'plugins.xml'), 'utf-8');
- });
- });
- describe('of plist config files', function() {
- var xcode_add, xcode_rm;
- it('should write empty string nodes with no whitespace', function() {
- shell.cp('-rf', ios_config_xml, temp);
- shell.cp('-rf', varplugin, plugins_dir);
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'ios', {});
- configChanges.process(plugins_dir, temp, 'ios');
- expect(fs.readFileSync(path.join(temp, 'SampleApp', 'SampleApp-Info.plist'), 'utf-8')).toMatch(/<key>APluginNode<\/key>\n <string><\/string>/m);
- });
- });
- describe('of pbxproject framework files', function() {
- var xcode_add, xcode_rm;
- beforeEach(function() {
- shell.cp('-rf', ios_config_xml, temp);
- shell.cp('-rf', cbplugin, plugins_dir);
- xcode_add = spyOn(xcode.project.prototype, 'addFramework').andCallThrough();
- });
- it('should call into xcode.addFramework if plugin has <framework> file defined and is ios',function() {
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'ChildBrowser', 'ios', {});
- configChanges.process(plugins_dir, temp, 'ios');
- expect(xcode_add).toHaveBeenCalledWith('libsqlite3.dylib', {weak:false});
- expect(xcode_add).toHaveBeenCalledWith('social.framework', {weak:true});
- expect(xcode_add).toHaveBeenCalledWith('music.framework', {weak:false});
- expect(xcode_add).not.toHaveBeenCalledWith('Custom.framework');
- });
- });
- it('should resolve wildcard config-file targets to the project, if applicable', function() {
- shell.cp('-rf', ios_config_xml, temp);
- shell.cp('-rf', cbplugin, plugins_dir);
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'ChildBrowser', 'ios', {});
- var spy = spyOn(fs, 'readFileSync').andCallThrough();
-
- configChanges.process(plugins_dir, temp, 'ios');
- expect(spy).toHaveBeenCalledWith(path.join(temp, 'SampleApp', 'SampleApp-Info.plist').replace(/\\/g, '/'), 'utf8');
- });
- it('should move successfully installed plugins from queue to installed plugins section, and include/retain vars if applicable', function() {
- shell.cp('-rf', android_two_project, temp);
- shell.cp('-rf', varplugin, plugins_dir);
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android', {"API_KEY":"hi"}, true);
-
- configChanges.process(plugins_dir, temp, 'android');
-
- var cfg = configChanges.get_platform_json(plugins_dir, 'android');
- expect(cfg.prepare_queue.installed.length).toEqual(0);
- expect(cfg.installed_plugins['com.adobe.vars']).toBeDefined();
- expect(cfg.installed_plugins['com.adobe.vars']['API_KEY']).toEqual('hi');
- });
- it('should save changes to global config munge after completing an install', function() {
- shell.cp('-rf', android_two_project, temp);
- shell.cp('-rf', varplugin, plugins_dir);
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android', {"API_KEY":"hi"});
-
- var spy = spyOn(configChanges, 'save_platform_json');
- configChanges.process(plugins_dir, temp, 'android');
- expect(spy).toHaveBeenCalled();
- });
- });
-
- describe(': uninstallation', function() {
- it('should call pruneXML for every config munge it completely removes from the app (every leaf that is decremented to 0)', function() {
- shell.cp('-rf', android_two_project, temp);
- // Run through an "install"
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android', {});
- configChanges.process(plugins_dir, temp, 'android');
-
- // Now set up an uninstall and make sure prunexml is called properly
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android');
- var spy = spyOn(xml_helpers, 'pruneXML').andReturn(true);
- configChanges.process(plugins_dir, temp, 'android');
- expect(spy.calls.length).toEqual(4);
- expect(spy.argsForCall[0][2]).toEqual('/*');
- expect(spy.argsForCall[1][2]).toEqual('/*');
- expect(spy.argsForCall[2][2]).toEqual('/manifest/application');
- expect(spy.argsForCall[3][2]).toEqual('/cordova/plugins');
- });
- it('should generate a config munge that interpolates variables into config changes, if applicable', function() {
- shell.cp('-rf', android_two_project, temp);
- shell.cp('-rf', varplugin, plugins_dir);
- // Run through an "install"
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android', {"API_KEY":"canucks"});
- var munger = new configChanges.PlatformMunger('android', temp, plugins_dir);
- munger.process();
-
- // Now set up an uninstall and make sure prunexml is called properly
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android');
- var spy = spyOn(munger, 'generate_plugin_config_munge').andReturn({});
- munger.process();
- var munge_params = spy.mostRecentCall.args;
- expect(munge_params[0]).toEqual(path.join(plugins_dir, 'VariablePlugin'));
- expect(munge_params[1]['API_KEY']).toEqual('canucks');
- });
- it('should not call pruneXML for a config munge that another plugin depends on', function() {
- shell.cp('-rf', android_two_no_perms_project, temp);
- shell.cp('-rf', childrenplugin, plugins_dir);
- shell.cp('-rf', shareddepsplugin, plugins_dir);
-
- // Run through and "install" two plugins (they share a permission for INTERNET)
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'multiple-children', 'android', {});
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'shared-deps-multi-child', 'android', {});
- configChanges.process(plugins_dir, temp, 'android');
-
- // Now set up an uninstall for multi-child plugin
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'multiple-children', 'android');
- configChanges.process(plugins_dir, temp, 'android');
- var am_xml = new et.ElementTree(et.XML(fs.readFileSync(path.join(temp, 'AndroidManifest.xml'), 'utf-8')));
- var permission = am_xml.find('./uses-permission');
- expect(permission).toBeDefined();
- expect(permission.attrib['android:name']).toEqual('android.permission.INTERNET');
- });
- it('should not call pruneXML for a config munge targeting a config file that does not exist', function() {
- shell.cp('-rf', android_two_project, temp);
- // install a plugin
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android', {});
- configChanges.process(plugins_dir, temp, 'android');
- // set up an uninstall for the same plugin
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'DummyPlugin', 'android', {});
-
- var spy = spyOn(fs, 'readFileSync').andCallThrough();
- configChanges.process(plugins_dir, temp, 'android');
-
- expect(spy).not.toHaveBeenCalledWith(path.join(temp, 'res', 'xml', 'plugins.xml'), 'utf-8');
- });
- it('should remove uninstalled plugins from installed plugins list', function() {
- shell.cp('-rf', android_two_project, temp);
- shell.cp('-rf', varplugin, plugins_dir);
- // install the var plugin
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android', {"API_KEY":"eat my shorts"});
- configChanges.process(plugins_dir, temp, 'android');
- // queue up an uninstall for the same plugin
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android');
- configChanges.process(plugins_dir, temp, 'android');
-
- var cfg = configChanges.get_platform_json(plugins_dir, 'android');
- expect(cfg.prepare_queue.uninstalled.length).toEqual(0);
- expect(cfg.installed_plugins['com.adobe.vars']).not.toBeDefined();
- });
- it('should save changes to global config munge after completing an uninstall', function() {
- shell.cp('-rf', android_two_project, temp);
- shell.cp('-rf', varplugin, plugins_dir);
- // install a plugin
- configChanges.add_installed_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android', {"API_KEY":"eat my shorts"});
- configChanges.process(plugins_dir, temp, 'android');
- // set up an uninstall for the plugin
- configChanges.add_uninstalled_plugin_to_prepare_queue(plugins_dir, 'VariablePlugin', 'android');
-
- var spy = spyOn(configChanges, 'save_platform_json');
- configChanges.process(plugins_dir, temp, 'android');
- expect(spy).toHaveBeenCalled();
- });
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/util/csproj.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/util/csproj.spec.js b/cordova-lib/spec-plugman/util/csproj.spec.js
deleted file mode 100644
index c506c38..0000000
--- a/cordova-lib/spec-plugman/util/csproj.spec.js
+++ /dev/null
@@ -1,97 +0,0 @@
-var csproj = require('../../src/util/csproj'),
- path = require('path'),
- os = require('osenv'),
- et = require('elementtree'),
- fs = require('fs'),
- xml_helpers = require('../../src/util/xml-helpers');
-
-var wp7_project = path.join(__dirname, '..', 'projects', 'wp7'),
- wp8_project = path.join(__dirname, '..', 'projects', 'wp8'),
- temp = path.join(os.tmpdir(), 'plugman'),
- example1_csproj = path.join(wp7_project, 'CordovaAppProj.csproj'),
- example2_csproj = path.join(wp8_project, 'CordovaAppProj.csproj'),
- wpcsproj = path.join(__dirname, '..', 'plugins', 'WPcsproj');
-
-describe('csproj', function() {
- it('should throw if passed in an invalid xml file path ref', function() {
- expect(function() {
- new csproj('blahblah');
- }).toThrow();
- });
- it('should successfully parse a valid csproj file into an xml document', function() {
- var doc;
- expect(function() {
- doc = new csproj(example1_csproj);
- }).not.toThrow();
- expect(doc.xml.getroot()).toBeDefined();
- });
-
- describe('write method', function() {
-
- });
-
- describe('source file', function() {
-
- var test_csproj;
- var page_test = path.join('src', 'UI', 'PageTest.xaml');
- var page_test_cs = path.join('src', 'UI', 'PageTest.xaml.cs');
- var lib_test = path.join('lib', 'LibraryTest.dll');
- var file_test = path.join('src', 'FileTest.cs');
- var content_test = path.join('src', 'Content.img');
-
- describe('add method', function() {
- var test_csproj = new csproj(example1_csproj);
- it('should properly add .xaml files', function() {
- test_csproj.addSourceFile(page_test);
- expect(test_csproj.xml.getroot().find('.//Page[@Include="src\\UI\\PageTest.xaml"]')).toBeTruthy();
- expect(test_csproj.xml.getroot().find('.//Page[@Include="src\\UI\\PageTest.xaml"]/Generator').text).toEqual('MSBuild:Compile');
- expect(test_csproj.xml.getroot().find('.//Page[@Include="src\\UI\\PageTest.xaml"]/SubType').text).toEqual('Designer');
- });
- it('should properly add .xaml.cs files', function() {
- test_csproj.addSourceFile(page_test_cs);
- expect(test_csproj.xml.getroot().find('.//Compile[@Include="src\\UI\\PageTest.xaml.cs"]')).toBeTruthy();
- expect(test_csproj.xml.getroot().find('.//Compile[@Include="src\\UI\\PageTest.xaml.cs"]/DependentUpon').text).toEqual('PageTest.xaml');
- });
- it('should properly add .cs files', function() {
- test_csproj.addSourceFile(file_test);
- expect(test_csproj.xml.getroot().find('.//Compile[@Include="src\\FileTest.cs"]')).toBeTruthy();
- });
- it('should properly add content files', function() {
- test_csproj.addSourceFile(content_test);
- expect(test_csproj.xml.getroot().find('.//Content[@Include="src\\Content.img"]')).toBeTruthy();
- });
- });
-
- describe('remove method', function() {
- var test_csproj = new csproj(example2_csproj);
- it('should properly remove .xaml pages', function() {
- test_csproj.removeSourceFile(page_test);
- expect(test_csproj.xml.getroot().find('.//Page[@Include="src\\UI\\PageTest.xaml"]')).toBeFalsy();
- });
- it('should properly remove .xaml.cs files', function() {
- test_csproj.removeSourceFile(page_test_cs);
- expect(test_csproj.xml.getroot().find('.//Compile[@Include="src\\UI\\PageTest.xaml.cs"]')).toBeFalsy();
- });
- it('should properly remove .cs files', function() {
- test_csproj.removeSourceFile(file_test);
- expect(test_csproj.xml.getroot().find('.//Compile[@Include="src\\FileTest.cs"]')).toBeFalsy();
- });
- it('should properly remove content files', function() {
- test_csproj.removeSourceFile(content_test);
- expect(test_csproj.xml.getroot().find('.//Content[@Include="src\\Content.img"]')).toBeFalsy();
- });
- it('should remove all empty ItemGroup\'s', function() {
- test_csproj.removeSourceFile(page_test);
- test_csproj.removeSourceFile(page_test_cs);
- test_csproj.removeSourceFile(lib_test);
- test_csproj.removeSourceFile(file_test);
- var item_groups = test_csproj.xml.findall('ItemGroup');
- for (var i = 0, l = item_groups.length; i < l; i++) {
- var group = item_groups[i];
- expect(group._children.length).toBeGreaterThan(0);
- }
- })
-
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/eefdf68e/cordova-lib/spec-plugman/util/dependencies.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/util/dependencies.spec.js b/cordova-lib/spec-plugman/util/dependencies.spec.js
deleted file mode 100644
index bbc7111..0000000
--- a/cordova-lib/spec-plugman/util/dependencies.spec.js
+++ /dev/null
@@ -1,41 +0,0 @@
-var dependencies = require('../../src/util/dependencies'),
- xml_helpers = require('../../src/util/xml-helpers'),
- path = require('path'),
- config = require('../../src/util/config-changes');
-
-describe('dependency module', function() {
- describe('generate_dependency_info method', function() {
- it('should return a list of top-level plugins based on what is inside a platform.json file', function() {
- var tlps = {
- "hello":"",
- "isitme":"",
- "yourelookingfor":""
- };
- spyOn(xml_helpers, 'parseElementtreeSync').andReturn({findall:function(){}});
- var spy = spyOn(config, 'get_platform_json').andReturn({
- installed_plugins:tlps,
- dependent_plugins:[]
- });
- var obj = dependencies.generate_dependency_info('some dir');
- expect(obj.top_level_plugins).toEqual(Object.keys(tlps));
- });
- it('should return a dependency graph for the plugins', function() {
- var tlps = {
- "A":"",
- "B":""
- };
- var deps = {
- "C":"",
- "D":"",
- "E":""
- };
- var spy = spyOn(config, 'get_platform_json').andReturn({
- installed_plugins:tlps,
- dependent_plugins:[]
- });
- var obj = dependencies.generate_dependency_info(path.join(__dirname, '..', 'plugins', 'dependencies'), 'android');
- expect(obj.graph.getChain('A')).toEqual(['C','D']);
- expect(obj.graph.getChain('B')).toEqual(['D', 'E']);
- });
- });
-});