xcfit 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>