xcfit 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/XCFit.podspec +3 -5
  4. data/XCFit/Classes/CliSwift.swift +87 -0
  5. data/XCFit/Classes/CopyDir.swift +26 -0
  6. data/XCFitDemo/FitNesseRoot/RecentChanges/content.txt +1 -1
  7. data/XCFitDemo/FitNesseRoot/files/testResults/FrontPage.ShoudIBuyMilk/20160716220147_1_0_0_0.xml +242 -0
  8. data/XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160716220147_1_0_0_0.xml +49 -0
  9. data/XCFitDemo/LaunchFitnesse +47 -6
  10. data/XCFitDemo/Podfile +2 -2
  11. data/XCFitDemo/Podfile.lock +5 -9
  12. data/XCFitDemo/Pods/Manifest.lock +5 -9
  13. data/XCFitDemo/Pods/OCSlimProject/Pod/Support/SharedSupport/LICENCE.txt +214 -0
  14. data/XCFitDemo/Pods/OCSlimProject/Pod/Support/SharedSupport/LaunchFitnesse +47 -6
  15. data/XCFitDemo/Pods/OCSlimProject/Pod/Support/SharedSupport/fitnesse-standalone.jar +0 -0
  16. data/XCFitDemo/Pods/OCSlimProject/README.md +44 -45
  17. data/XCFitDemo/Pods/Pods.xcodeproj/project.pbxproj +290 -413
  18. data/XCFitDemo/Pods/Target Support Files/OCSlimProject/ResourceBundle-OCSlimProject-Info.plist +1 -1
  19. data/XCFitDemo/Pods/XCFit/LICENSE +19 -0
  20. data/XCFitDemo/Pods/XCFit/README.md +33 -0
  21. data/XCFitDemo/Pods/XCFit/XCFit/Classes/CliSwift.swift +87 -0
  22. data/XCFitDemo/Pods/XCFit/XCFit/Classes/CopyDir.swift +26 -0
  23. data/lib/XCFit/main.rb +41 -3
  24. data/lib/XCFit/version.rb +1 -1
  25. metadata +12 -5
  26. data/XCFit/Classes/ReplaceMe.swift +0 -0
  27. data/XCFitDemo/Pods/Local Podspecs/XCFit.podspec.json +0 -33
  28. data/XCFitDemo/Pods/Target Support Files/XCFit/ResourceBundle-XCFit-Info.plist +0 -24
@@ -13,7 +13,7 @@
13
13
  <key>CFBundlePackageType</key>
14
14
  <string>BNDL</string>
15
15
  <key>CFBundleShortVersionString</key>
16
- <string>1.1.0</string>
16
+ <string>1.2.0</string>
17
17
  <key>CFBundleSignature</key>
18
18
  <string>????</string>
19
19
  <key>CFBundleVersion</key>
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2016 Shashikant86 <shashikant.jagtap@aol.co.uk>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,33 @@
1
+ # XCFit
2
+
3
+ Full Docs Coming Soon ....
4
+
5
+ [![CI Status](http://img.shields.io/travis/Shashikant86/XCFit.svg?style=flat)](https://travis-ci.org/Shashikant86/XCFit)
6
+ [![Version](https://img.shields.io/cocoapods/v/XCFit.svg?style=flat)](http://cocoapods.org/pods/XCFit)
7
+ [![License](https://img.shields.io/cocoapods/l/XCFit.svg?style=flat)](http://cocoapods.org/pods/XCFit)
8
+ [![Platform](https://img.shields.io/cocoapods/p/XCFit.svg?style=flat)](http://cocoapods.org/pods/XCFit)
9
+
10
+ ## Example
11
+ Coming Soon !
12
+ To run the example project, clone the repo, and run `pod install` from the Example directory first.
13
+
14
+ ## Requirements
15
+
16
+ ## Installation
17
+
18
+ Comming Soon !
19
+
20
+ XCFit is available through [CocoaPods](http://cocoapods.org) and RubyGems. To install
21
+ it, simply add the following line to your Podfile:
22
+
23
+ ```ruby
24
+ pod "XCFit"
25
+ ```
26
+
27
+ ## Author
28
+
29
+ Shashikant86, shashikant.jagtap@aicloud.com
30
+
31
+ ## License
32
+
33
+ XCFit is available under the MIT license. See the LICENSE file for more info.
@@ -0,0 +1,87 @@
1
+ // import Foundation
2
+
3
+ // func printShell(launchPath launchPath: String, arguments: [String], output: String?) {
4
+ // let args = arguments.reduce("") {
5
+ // $0 + $1 + " "
6
+ // }
7
+ // print("Ran shell script: \(launchPath) \(args)\nOutput:\n" + (output ?? "--No Output--"))
8
+ // }
9
+
10
+ // func shell(launchPath launchPath: String, arguments: [String] = [], debugPrint: Bool = false) -> String? {
11
+
12
+ // let task = NSTask()
13
+ // task.launchPath = launchPath
14
+ // task.arguments = arguments
15
+
16
+ // let pipe = NSPipe()
17
+ // task.standardOutput = pipe
18
+ // task.launch()
19
+
20
+ // let data = pipe.fileHandleForReading.readDataToEndOfFile()
21
+ // let output: String? = NSString(data: data, encoding: NSUTF8StringEncoding) as String?
22
+
23
+ // if debugPrint {
24
+ // printShell(launchPath: launchPath, arguments: arguments, output: output)
25
+ // }
26
+ // return output
27
+ // }
28
+
29
+ // func environmentVariable(named named: String) -> String? {
30
+ // return NSProcessInfo.processInfo().environment[named]
31
+ // }
32
+
33
+ // func say(message: String) {
34
+ // print("😀 " + TerminalColor.Green + message + TerminalColor.Default)
35
+ // }
36
+
37
+ // func warn(message: String) {
38
+ // print("😰 " + TerminalColor.Yellow + message + TerminalColor.Default)
39
+ // }
40
+
41
+ // @noreturn
42
+ // func fail(message: String) {
43
+ // print("😭 " + TerminalColor.Red + message + TerminalColor.Default)
44
+ // exit(1)
45
+ // }
46
+
47
+ // protocol Script {
48
+ // var usage: String { get }
49
+ // var expectedNumberOfArguments: Int { get }
50
+ // func run(arguments arguments: [String])
51
+
52
+ // func run()
53
+ // }
54
+
55
+ // extension Script {
56
+
57
+ // func run() {
58
+ // let args = createArguments()
59
+ // guard expectedNumberOfArguments == args.count else {
60
+ // fail("Expected \(expectedNumberOfArguments) arguments. Got: \(args). \n\nUsage: \(usage)")
61
+ // }
62
+ // run(arguments: args)
63
+ // }
64
+
65
+ // func createArguments() -> [String] {
66
+ // let args = Process.arguments
67
+ // guard args.count > 1 else {
68
+ // return []
69
+ // }
70
+ // return Array(args[1 ..< args.count])
71
+ // }
72
+ // }
73
+
74
+ // enum TerminalColor: String {
75
+ // case Red = "\u{001B}[0;31m"
76
+ // case Yellow = "\u{001B}[0;33m"
77
+ // case Green = "\u{001B}[0;32m"
78
+ // case Default = "\u{001B}[0m"
79
+ // }
80
+
81
+ // func +(lhs: TerminalColor, rhs: String) -> String {
82
+ // return lhs.rawValue + rhs
83
+ // }
84
+
85
+ // func +(lhs: String, rhs: TerminalColor) -> String {
86
+ // return lhs + rhs.rawValue
87
+ // }
@@ -0,0 +1,26 @@
1
+ // import Foundation
2
+
3
+ // struct CopyDir: Script {
4
+
5
+ // var usage: String {
6
+ // return "Usage: swift CopyDir.swift <DIR1> <DIR2>"
7
+ // }
8
+
9
+ // var expectedNumberOfArguments = 2
10
+
11
+ // func run(arguments arguments: [String]) {
12
+ // let dir1 = arguments[0]
13
+ // let dir2 = arguments[1]
14
+ // }
15
+
16
+ // func copyDir(dir1: String, dir2: String) {
17
+ // let sourcePath = "XCFit_Template/"
18
+ // let destinationPath = "~/Library/Developer/Xcode/Templates/"
19
+
20
+
21
+
22
+ // shell(launchPath: "/bin/cp", arguments: ["-rf", sourcePath, destinationPath)
23
+ // }
24
+ // }
25
+
26
+ // CopyDir().run()
@@ -8,6 +8,7 @@ module XCFit
8
8
  $source_dir = File.expand_path '../../..', __FILE__
9
9
  $source_template_dir = File.join($source_dir, 'XCFit_Templates')
10
10
  $source_xcfit_dir = File.join($source_template_dir, 'XCFit')
11
+ $source_cucumberish_template_dir = File.join($source_xcfit_dir, 'Cucumberish\ UI\ Test\ Bundle\ Base.xctemplate')
11
12
  $source_gherkin_dir = File.join($source_template_dir, 'Gherkin')
12
13
  $root_dir = File.expand_path('~')
13
14
  $root_lib_dir = File.join($root_dir, 'Library')
@@ -68,11 +69,48 @@ module XCFit
68
69
  puts " ***************** Enjoy XCFit *****************"
69
70
  end
70
71
 
71
- desc 'setall', 'Generate All Xcode Templates for the Gherkin Feature Files & targets for Cucumberish and Fitnesse'
72
- def setall
72
+ desc 'setall_templates', 'Generate All Xcode Templates for the Gherkin Feature Files & targets for Cucumberish and Fitnesse'
73
+ def setall_templates
73
74
  create_xctargets
74
75
  create_xcgherkin
75
76
  end
76
-
77
+
78
+ desc 'get_cucumberish VERSION', 'Downloads Cucumberish version and Create Features directory. You must execute this from Cucumberish Xcode Target directory'
79
+ def get_cucumberish(version="0.0.7")
80
+ puts "==================XXXXXXXX==========================="
81
+ puts 'Downloading Cucumberish in the current working directory'
82
+ puts 'You Should execute this command from Cucumberish Xcode target directory'
83
+ puts "==================XXXXXXXX==========================="
84
+ system("curl -sL https://github.com/Ahmed-Ali/Cucumberish/archive/v#{version}.tar.gz | tar xz")
85
+ cucumberish_dir = "Cucumberish-#{version}" + "/Cucumberish/"
86
+ system("mv #{cucumberish_dir} .")
87
+ system("rm -rf Cucumberish-#{version}")
88
+ puts "==================XXXXXXXX==========================="
89
+ puts "=======Now creating Feature Directory with Demo Feature ===="
90
+ puts "==================XXXXXXXX==========================="
91
+ system("mkdir -p Features")
92
+ demo_feature_file = $source_cucumberish_template_dir + "/demo.feature"
93
+ system("cp #{demo_feature_file} Features/")
94
+ puts $source_cucumberish_template_dir
95
+ puts "==================XXXXXXXX==========================="
96
+ puts "=======Created Feature Directory with Demo Feature ===="
97
+ puts "==================XXXXXXXX==========================="
98
+ end
99
+
100
+ desc 'get_fitnesse', "Download Fitnesse JAR file from Internet. You must execute this from Xcode Fitnesse Acceptance Test Xcode Target directory"
101
+ def get_fitnesse
102
+ puts "==================XXXXXXXX==========================="
103
+ puts 'Downloading Fitnesse JAR file in the current working directory'
104
+ puts 'You Should execute this command from Fitnesse Acceptance Test Xcode target directory'
105
+ puts "==================XXXXXXXX==========================="
106
+ system('curl -H "Accept: application/zip" http://fitnesse.org/fitnesse-standalone.jar\?responder\=releaseDownload\&release\=20160618 -o fitnesse-standalone.jar')
107
+ if File.exist?("fitnesse-standalone.jar")
108
+ puts "==================XXXXXXXX==========================="
109
+ puts "=======SUccessfuly Downloaded Fitnesse JAR===="
110
+ puts "==================XXXXXXXX==========================="
111
+ else
112
+ puts "=======Error downloading Fitnesse JAR===="
113
+ end
114
+ end
77
115
  end
78
116
  end
@@ -1,3 +1,3 @@
1
1
  module XCFit
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcfit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shashikant86
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-16 00:00:00.000000000 Z
11
+ date: 2016-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -108,7 +108,8 @@ files:
108
108
  - XCFit/Assets/XCFit/iOS Acceptance Tests.xctemplate/TemplateInfo.plist
109
109
  - XCFit/Assets/XCFit/iOS UI Cucumberish Testing Bundle.xctemplate/TemplateInfo.plist
110
110
  - XCFit/Classes/.gitkeep
111
- - XCFit/Classes/ReplaceMe.swift
111
+ - XCFit/Classes/CliSwift.swift
112
+ - XCFit/Classes/CopyDir.swift
112
113
  - XCFitDemo/FitNesseRoot/FitNesse/ComponentsAndLicenses/content.txt
113
114
  - XCFitDemo/FitNesseRoot/FitNesse/ComponentsAndLicenses/properties.xml
114
115
  - XCFitDemo/FitNesseRoot/FitNesse/FullReferenceGuide/content.txt
@@ -1399,6 +1400,7 @@ files:
1399
1400
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage.ShoudIBuyMilk/20160716103912_0_1_0_0.xml
1400
1401
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage.ShoudIBuyMilk/20160716104103_0_1_0_0.xml
1401
1402
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage.ShoudIBuyMilk/20160716104135_1_0_0_0.xml
1403
+ - XCFitDemo/FitNesseRoot/files/testResults/FrontPage.ShoudIBuyMilk/20160716220147_1_0_0_0.xml
1402
1404
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160715235803_0_0_1_0.xml
1403
1405
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160715235936_0_0_1_0.xml
1404
1406
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160715235959_0_0_0_2.xml
@@ -1408,6 +1410,7 @@ files:
1408
1410
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160716103627_0_0_0_2.xml
1409
1411
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160716103912_0_2_0_0.xml
1410
1412
  - XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160716104103_0_1_0_0.xml
1413
+ - XCFitDemo/FitNesseRoot/files/testResults/FrontPage/20160716220147_1_0_0_0.xml
1411
1414
  - XCFitDemo/FitNesseRoot/properties
1412
1415
  - XCFitDemo/LaunchFitnesse
1413
1416
  - XCFitDemo/OCSlimProjectTestRunner.sh
@@ -1415,11 +1418,12 @@ files:
1415
1418
  - XCFitDemo/Podfile.lock
1416
1419
  - XCFitDemo/Pods/Headers/Private/OCSlimProject/OCSlimProject.h
1417
1420
  - XCFitDemo/Pods/Headers/Public/OCSlimProject/OCSlimProject.h
1418
- - XCFitDemo/Pods/Local Podspecs/XCFit.podspec.json
1419
1421
  - XCFitDemo/Pods/Manifest.lock
1420
1422
  - XCFitDemo/Pods/OCSlimProject/LICENSE
1421
1423
  - XCFitDemo/Pods/OCSlimProject/Pod/Classes/OCSlimProject.h
1424
+ - XCFitDemo/Pods/OCSlimProject/Pod/Support/SharedSupport/LICENCE.txt
1422
1425
  - XCFitDemo/Pods/OCSlimProject/Pod/Support/SharedSupport/LaunchFitnesse
1426
+ - XCFitDemo/Pods/OCSlimProject/Pod/Support/SharedSupport/fitnesse-standalone.jar
1423
1427
  - XCFitDemo/Pods/OCSlimProject/Pod/Support/iOS/RunTestsTargetWithSlimPort
1424
1428
  - XCFitDemo/Pods/OCSlimProject/Pod/Support/iOS/ios-sim
1425
1429
  - XCFitDemo/Pods/OCSlimProject/README.md
@@ -1446,7 +1450,6 @@ files:
1446
1450
  - XCFitDemo/Pods/Target Support Files/Pods-XCFitDemoTests/Pods-XCFitDemoTests.modulemap
1447
1451
  - XCFitDemo/Pods/Target Support Files/Pods-XCFitDemoTests/Pods-XCFitDemoTests.release.xcconfig
1448
1452
  - XCFitDemo/Pods/Target Support Files/XCFit/Info.plist
1449
- - XCFitDemo/Pods/Target Support Files/XCFit/ResourceBundle-XCFit-Info.plist
1450
1453
  - XCFitDemo/Pods/Target Support Files/XCFit/XCFit-dummy.m
1451
1454
  - XCFitDemo/Pods/Target Support Files/XCFit/XCFit-prefix.pch
1452
1455
  - XCFitDemo/Pods/Target Support Files/XCFit/XCFit-umbrella.h
@@ -1458,6 +1461,10 @@ files:
1458
1461
  - XCFitDemo/Pods/Target Support Files/cslim/cslim-umbrella.h
1459
1462
  - XCFitDemo/Pods/Target Support Files/cslim/cslim.modulemap
1460
1463
  - XCFitDemo/Pods/Target Support Files/cslim/cslim.xcconfig
1464
+ - XCFitDemo/Pods/XCFit/LICENSE
1465
+ - XCFitDemo/Pods/XCFit/README.md
1466
+ - XCFitDemo/Pods/XCFit/XCFit/Classes/CliSwift.swift
1467
+ - XCFitDemo/Pods/XCFit/XCFit/Classes/CopyDir.swift
1461
1468
  - XCFitDemo/Pods/cslim/LICENSE
1462
1469
  - XCFitDemo/Pods/cslim/README.txt
1463
1470
  - XCFitDemo/Pods/cslim/fixtures/Main.c
File without changes
@@ -1,33 +0,0 @@
1
- {
2
- "name": "XCFit",
3
- "version": "0.1.0",
4
- "summary": "Full Stack BDD for iOS and macOS Apps with Swift, Xcode using XCUITest, Cucumberish, FitNesse and friends.",
5
- "description": "XCFit is a full stack BDD framework for iOS and macOS apps with Swift using Cucumberish and Fitnesse. Native Xcode implementation, No Appium, No Calabash, No Ruby or any other non iOS language.",
6
- "homepage": "https://github.com/Shashikant86/XCFit",
7
- "license": {
8
- "type": "MIT",
9
- "file": "LICENSE"
10
- },
11
- "authors": {
12
- "Shashikant86": "shashikant.jagtap@icloud.com"
13
- },
14
- "source": {
15
- "git": "https://github.com/Shashikant86/XCFit.git",
16
- "tag": "0.1.0"
17
- },
18
- "social_media_url": "https://twitter.com/Shashikant86",
19
- "platforms": {
20
- "ios": "8.0"
21
- },
22
- "source_files": "XCFit/Classes/**/*",
23
- "resource_bundles": {
24
- "XCFit": [
25
- "XCFit/Assets/*.png"
26
- ]
27
- },
28
- "dependencies": {
29
- "OCSlimProject": [
30
-
31
- ]
32
- }
33
- }
@@ -1,24 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>CFBundleDevelopmentRegion</key>
6
- <string>en</string>
7
- <key>CFBundleIdentifier</key>
8
- <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
9
- <key>CFBundleInfoDictionaryVersion</key>
10
- <string>6.0</string>
11
- <key>CFBundleName</key>
12
- <string>${PRODUCT_NAME}</string>
13
- <key>CFBundlePackageType</key>
14
- <string>BNDL</string>
15
- <key>CFBundleShortVersionString</key>
16
- <string>0.1.0</string>
17
- <key>CFBundleSignature</key>
18
- <string>????</string>
19
- <key>CFBundleVersion</key>
20
- <string>1</string>
21
- <key>NSPrincipalClass</key>
22
- <string></string>
23
- </dict>
24
- </plist>