Skip to content

Instantly share code, notes, and snippets.

View hanneskaeufler's full-sized avatar
🏠
I may be slow to respond.

Hannes Käufler hanneskaeufler

🏠
I may be slow to respond.
View GitHub Profile
HTML:
<div class="watermarked"><img src="bild.jpeg" /></div>
CSS:
.watermarked {
position: relative;
}
.watermarked:after {
content: "Copyright";
display: inline-block;
@hanneskaeufler
hanneskaeufler / test-coverage
Created February 24, 2019 16:36
Script for generating and uploading code coverage
#!/usr/bin/env bash
echo "require \"./spec/**\"" > run_tests.cr && \
crystal build run_tests.cr -D skip-integration && \
kcov --clean --include-path=$(pwd)/src $(pwd)/coverage ./run_tests && \
bash <(curl -s https://codecov.io/bash) -s $(pwd)/coverage
@hanneskaeufler
hanneskaeufler / visitor.cr
Created January 22, 2019 14:55
Find occurrences of bools
class BooleanVisitor < Crystal::Visitor
def visit(node : Crystal::BoolLiteral)
puts "Line: #{node.location.try &.line_number}"
puts "Column: #{node.location.try &.column_number}"
true
end
def visit(node : Crystal::ASTNode)
true
end
@hanneskaeufler
hanneskaeufler / bool_literal_transformer.cr
Created January 22, 2019 14:40
Replace `true` with `false`
require "compiler/crystal/syntax/*"
code = <<-CODE
def hello
true
end
CODE
ast = Crystal::Parser.parse(code)
@hanneskaeufler
hanneskaeufler / get_ast_from_string.cr
Created January 22, 2019 14:25
Getting AST from string
require "compiler/crystal/syntax/*"
code = <<-CODE
def hello
puts "hello"
end
CODE
ast = Crystal::Parser.parse(code)
@hanneskaeufler
hanneskaeufler / improved_suite.cr
Created October 20, 2018 16:01
Improved test-suite
# valid.cr
def valid?
true
end
# valid_spec.cr
require "./valid"
require "spec"
describe "valid?" do
@hanneskaeufler
hanneskaeufler / crytic_output.sh
Created October 20, 2018 15:56
Crytic output
Original suite: ✅
Mutations covered by tests:
❌ BoolLiteralFlip (x1)
The following change didn't fail the test-suite:
@@ -1,3 +1,3 @@
def valid?
- true
+ false
end
@hanneskaeufler
hanneskaeufler / 100_percent_code_coverage.cr
Last active October 20, 2018 15:54
100% code coverage but not really uncovered
# valid.cr
def valid?
true
end
# valid_spec.cr
require "./valid"
require "spec"
describe "valid?" do
@hanneskaeufler
hanneskaeufler / bitbucket-pipelines.yml
Created May 23, 2018 19:05
PitBuddy App Bitbucket Pipelines Configuration
pipelines:
default:
- step:
name: "Run visual regression tests"
image: backstopjs/backstopjs:v3.2.15
script:
- backstop test
- step:
name: "Deploy to website"
image: fgch/alpine-gitftp
@hanneskaeufler
hanneskaeufler / lucky_visual_testing.sh
Created April 8, 2018 10:36
Setup DB for visual testing
# Create and migrate a new database just for visual regression testing
LUCKY_ENV=visual_test lucky db.create && lucky db.migrate
# Add one sample post
open http://localhost:5000/posts/new
# Run the local server with that one sample post
LUCKY_ENV=visual_test lucky dev