I hereby claim:
- I am gtranchedone on github.
- I am gtranchedone (https://keybase.io/gtranchedone) on keybase.
- I have a public key ASAcsJeDWnxlG38poeOC7M06w9o_fObAWMB5icYKqj-IBgo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| ssh-keygen -t rsa -b 4096 -f jwtRS256.key | |
| # Don't add passphrase | |
| openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub | |
| cat jwtRS256.key | |
| cat jwtRS256.key.pub |
In software engineering, graphical user interface testing is the process of testing a product's graphical user interface to ensure it meets its specifications. This is normally done through the use of a variety of test cases.
-- Wikipedia
UI Testing (also know as End-to-End Testing, or sometimes Integration Testing) helps with two aspects of software development:
| public func respond(to request: Request, with responses: [ContentType : ResponseRepresentable]) throws -> ResponseRepresentable { | |
| let contentType: ContentType | |
| let _ = request.accept.prefers("html") | |
| if let header = request.accept.first { | |
| var requestedContentType = ContentType.from(string: header.mediaType) | |
| if requestedContentType == .any { | |
| if let requestContentType = request.contentType { | |
| requestedContentType = ContentType.from(string: requestContentType) | |
| } | |
| else { |
| import PackageDescription | |
| let package = Package( | |
| name: "VaporApp", | |
| targets: [ | |
| Target(name: "Executable", dependencies: ["App"]) | |
| ], | |
| dependencies: [ | |
| .Package(url: "https://github.com/vapor/vapor.git", majorVersion: 1, minor: 5) | |
| ], |
| import XCTest | |
| @testable import App | |
| class PostsControllerTests: XCTestCase { | |
| func testExample() { | |
| XCTAssertTrue(true) | |
| } | |
| } |
| import XCTest | |
| @testable import AppTests | |
| XCTMain([ | |
| testCase(PostsControllerTests.allTests), | |
| ]) |
| // A view containing stacked title and message labels | |
| // The labels have flexible width that changes accordingly to this view's size changes | |
| class SomeView: UIView { | |
| let titleLabel: UILabel | |
| let messageLabel: UILabel | |
| // ...other subviews | |
| // A view containing stacked title and message labels | |
| // The entire layout is manually calculated every time the view has to be rendered or it's requested to re-layout | |
| class SomeView: UIView { | |
| let titleLabel = UILabel(frame: .zero) | |
| let messageLabel = UILabel(frame: .zero) | |
| // ...other subviews | |
| import Console | |
| import Routing | |
| import HTTP | |
| class FakeRouter: RouteBuilder { | |
| public typealias Host = String | |
| public typealias Method = String | |
| public typealias Output = HTTP.Responder | |
| private let console: Terminal |