middleman 2.0.0.rc92 → 2.0.0.rc93
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.
- data/CHANGELOG +3 -1
- data/Rakefile +1 -40
- data/bin/middleman +8 -0
- data/bin/mm-build +2 -7
- data/bin/mm-init +2 -27
- data/bin/mm-server +2 -46
- data/features/asset_host.feature +2 -2
- data/features/automatic_image_sizes.feature +2 -2
- data/features/builder.feature +16 -16
- data/features/cache_buster.feature +4 -4
- data/features/coffee-script.feature +3 -3
- data/features/data.feature +1 -1
- data/features/directory_index.feature +27 -0
- data/features/dynamic_pages.feature +18 -9
- data/features/front-matter.feature +1 -1
- data/features/helpers_auto_javascript_include_tag.feature +5 -5
- data/features/helpers_auto_stylesheet_link_tag.feature +5 -5
- data/features/helpers_page_classes.feature +3 -3
- data/features/minify_css.feature +2 -2
- data/features/minify_javascript.feature +3 -3
- data/features/padrino_helpers.feature +1 -1
- data/features/page_alias_and_layouts.feature +5 -5
- data/features/relative_assets.feature +6 -6
- data/features/scss-support.feature +2 -2
- data/features/sinatra.feature +1 -1
- data/features/slim.feature +1 -1
- data/features/sprockets.feature +1 -1
- data/features/step_definitions/builder_steps.rb +22 -17
- data/features/step_definitions/generator_steps.rb +1 -1
- data/features/step_definitions/middleman_steps.rb +3 -1
- data/features/step_definitions/page_layout_steps.rb +0 -2
- data/features/support/env.rb +0 -1
- data/features/tiny_src.feature +2 -2
- data/fixtures/indexable-app/config.rb +2 -0
- data/fixtures/indexable-app/source/a_folder/needs_index.html +1 -0
- data/fixtures/indexable-app/source/leave_me_alone.html +1 -0
- data/fixtures/indexable-app/source/needs_index.html +1 -0
- data/fixtures/test-app/config.rb +4 -0
- data/fixtures/test-app/source/a_folder/needs_index.html +1 -0
- data/fixtures/test-app/source/needs_index.html +1 -0
- data/fixtures/test-app/source/should_be_ignored.html +1 -0
- data/fixtures/test-app/source/should_be_ignored2.html +1 -0
- data/fixtures/test-app/source/should_be_ignored3.html +1 -0
- data/lib/middleman.rb +10 -8
- data/lib/middleman/base.rb +25 -2
- data/lib/middleman/builder.rb +23 -10
- data/lib/middleman/cli.rb +84 -0
- data/lib/middleman/core_extensions/routing.rb +22 -2
- data/lib/middleman/features/blog.rb +0 -1
- data/lib/middleman/features/directory_indexes.rb +50 -0
- data/lib/middleman/guard.rb +7 -3
- data/lib/middleman/version.rb +1 -1
- data/middleman.gemspec +9 -9
- metadata +110 -88
- data/bin/mm-migrate +0 -5
data/CHANGELOG
CHANGED
@@ -9,4 +9,6 @@
|
|
9
9
|
- Support YAML front-matter
|
10
10
|
- Added callback to run code after Compass is configured
|
11
11
|
- Added support for a compass.config file which is passed directly to Compass
|
12
|
-
- Blog-aware Feature (and project template)
|
12
|
+
- Blog-aware Feature (and project template)
|
13
|
+
- Thor-based, unified `middleman` binary
|
14
|
+
- :directory_indexes feature
|
data/Rakefile
CHANGED
@@ -12,43 +12,4 @@ end
|
|
12
12
|
require 'rake/testtask'
|
13
13
|
require 'rake/clean'
|
14
14
|
|
15
|
-
task :test => ["cucumber"]
|
16
|
-
|
17
|
-
# rocco depends on rdiscount, which makes me sad.
|
18
|
-
unless defined?(JRUBY_VERSION)
|
19
|
-
# Bring in Rocco tasks
|
20
|
-
require 'rocco/tasks'
|
21
|
-
Rocco::make 'docs/'
|
22
|
-
|
23
|
-
desc 'Build rocco docs'
|
24
|
-
task :docs => :rocco
|
25
|
-
directory 'docs/'
|
26
|
-
|
27
|
-
# Make index.html a copy of rocco.html
|
28
|
-
file 'docs/index.html' => 'docs/middleman.html' do |f|
|
29
|
-
cp 'docs/middleman.html', 'docs/index.html', :preserve => true
|
30
|
-
end
|
31
|
-
task :docs => 'docs/index.html'
|
32
|
-
CLEAN.include 'docs/index.html'
|
33
|
-
|
34
|
-
desc 'Update gh-pages branch'
|
35
|
-
task :pages => ['docs/.git', :docs] do
|
36
|
-
rev = `git rev-parse --short HEAD`.strip
|
37
|
-
Dir.chdir 'docs' do
|
38
|
-
sh "git add *.html"
|
39
|
-
sh "git commit -m 'rebuild pages from #{rev}'" do |ok,res|
|
40
|
-
if ok
|
41
|
-
verbose { puts "gh-pages updated" }
|
42
|
-
sh "git push -q o HEAD:gh-pages"
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# Update the pages/ directory clone
|
49
|
-
file 'docs/.git' => ['docs/', '.git/refs/heads/gh-pages'] do |f|
|
50
|
-
sh "cd docs && git init -q && git remote add o ../.git" if !File.exist?(f.name)
|
51
|
-
sh "cd docs && git fetch -q o && git reset -q --hard o/gh-pages && touch ."
|
52
|
-
end
|
53
|
-
CLOBBER.include 'docs/.git'
|
54
|
-
end
|
15
|
+
task :test => ["cucumber"]
|
data/bin/middleman
ADDED
data/bin/mm-build
CHANGED
data/bin/mm-init
CHANGED
@@ -1,27 +1,2 @@
|
|
1
|
-
#!/
|
2
|
-
|
3
|
-
require "middleman/templates"
|
4
|
-
|
5
|
-
module Middleman
|
6
|
-
class Generator < ::Thor::Group
|
7
|
-
include Thor::Actions
|
8
|
-
|
9
|
-
argument :location, :type => :string, :desc => "New project location"
|
10
|
-
|
11
|
-
available_templates = Middleman::Templates.registered_names.join(", ")
|
12
|
-
class_option :template, :aliases => "-T", :default => "default", :desc => "Optionally use a pre-defined project template: #{available_templates}"
|
13
|
-
|
14
|
-
class_option :css_dir, :default => "stylesheets", :desc => 'The path to the css files'
|
15
|
-
class_option :js_dir, :default => "javascripts", :desc => 'The path to the javascript files'
|
16
|
-
class_option :images_dir, :default => "images", :desc => 'The path to the image files'
|
17
|
-
|
18
|
-
def create_project
|
19
|
-
key = options[:template].to_sym
|
20
|
-
key = :default unless Middleman::Templates.registered_templates.has_key?(key)
|
21
|
-
|
22
|
-
Middleman::Templates.registered_templates[key].start
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
Middleman::Generator.start
|
1
|
+
#!/bin/bash
|
2
|
+
/usr/bin/env middleman init $@
|
data/bin/mm-server
CHANGED
@@ -1,46 +1,2 @@
|
|
1
|
-
#!/
|
2
|
-
|
3
|
-
require "rubygems"
|
4
|
-
require "thor"
|
5
|
-
require "thor/group"
|
6
|
-
|
7
|
-
# Require Middleman
|
8
|
-
require File.join(File.dirname(__FILE__), '..', 'lib', 'middleman')
|
9
|
-
|
10
|
-
module Middleman
|
11
|
-
class GuardServer < ::Thor::Group
|
12
|
-
include Thor::Actions
|
13
|
-
|
14
|
-
class_option :environment, :aliases => "-e", :default => ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development'
|
15
|
-
|
16
|
-
class_option :port, :aliases => "-p", :default => "4567"
|
17
|
-
class_option :"livereload-port", :default => "35729"
|
18
|
-
class_option :"livereload", :default => false, :type => :boolean
|
19
|
-
|
20
|
-
def start_guard
|
21
|
-
if !File.exists?("config.rb")
|
22
|
-
$stderr.puts "== Error: Could not find a Middleman project config, perhaps you are in the wrong folder?"
|
23
|
-
return
|
24
|
-
end
|
25
|
-
|
26
|
-
# If the old directories exists, use it, but issue warning
|
27
|
-
if File.exists?("views") || File.exists?("public")
|
28
|
-
$stderr.puts "== Error: The views and public folders are have been combined. Create a new 'source' folder, add the contents of views and public to it and then remove the empty views and public folders."
|
29
|
-
return
|
30
|
-
end
|
31
|
-
|
32
|
-
ENV['RACK_ENV'] = options[:environment]
|
33
|
-
|
34
|
-
livereload_options = {
|
35
|
-
:port => options[:"livereload-port"]
|
36
|
-
}
|
37
|
-
livereload_options = nil unless options[:"livereload"]
|
38
|
-
|
39
|
-
::Middleman::Guard.start({
|
40
|
-
:port => options[:port],
|
41
|
-
}, livereload_options)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
Middleman::GuardServer.start
|
1
|
+
#!/bin/bash
|
2
|
+
/usr/bin/env middleman server $@
|
data/features/asset_host.feature
CHANGED
@@ -3,12 +3,12 @@ Feature: Alternate between multiple asset hosts
|
|
3
3
|
|
4
4
|
Scenario: Rendering css with the feature enabled
|
5
5
|
Given I am using an asset host
|
6
|
-
And the Server is running
|
6
|
+
And the Server is running at "test-app"
|
7
7
|
When I go to "/stylesheets/asset_host.css"
|
8
8
|
Then I should see "http://assets"
|
9
9
|
|
10
10
|
Scenario: Rendering html with the feature enabled
|
11
11
|
Given I am using an asset host
|
12
|
-
And the Server is running
|
12
|
+
And the Server is running at "test-app"
|
13
13
|
When I go to "/asset_host.html"
|
14
14
|
Then I should see "http://assets"
|
@@ -3,14 +3,14 @@ Feature: Automatically detect and insert image dimensions into tags
|
|
3
3
|
|
4
4
|
Scenario: Rendering an image with the feature disabled
|
5
5
|
Given "automatic_image_sizes" feature is "disabled"
|
6
|
-
And the Server is running
|
6
|
+
And the Server is running at "test-app"
|
7
7
|
When I go to "/auto-image-sizes.html"
|
8
8
|
Then I should not see "width="
|
9
9
|
And I should not see "height="
|
10
10
|
|
11
11
|
Scenario: Rendering an image with the feature enabled
|
12
12
|
Given "automatic_image_sizes" feature is "enabled"
|
13
|
-
And the Server is running
|
13
|
+
And the Server is running at "test-app"
|
14
14
|
When I go to "/auto-image-sizes.html"
|
15
15
|
Then I should see "width="
|
16
16
|
And I should see "height="
|
data/features/builder.feature
CHANGED
@@ -2,22 +2,22 @@ Feature: Builder
|
|
2
2
|
In order to output static html and css for delivery
|
3
3
|
|
4
4
|
Scenario: Checking built folder for content
|
5
|
-
Given a built test
|
6
|
-
Then "index.html" should exist and include "Comment in layout"
|
7
|
-
Then "javascripts/coffee_test.js" should exist and include "Array.prototype.slice"
|
8
|
-
Then "index.html" should exist and include "<h1>Welcome</h1>"
|
9
|
-
Then "static.html" should exist and include "Static, no code!"
|
10
|
-
Then "services/index.html" should exist and include "Services"
|
11
|
-
Then "stylesheets/site.css" should exist and include "html, body, div, span"
|
12
|
-
Then "stylesheets/site_scss.css" should exist and include "html, body, div, span"
|
13
|
-
Then "stylesheets/static.css" should exist and include "body"
|
14
|
-
Then "_partial.html" should not exist
|
15
|
-
Then "spaces in file.html" should exist and include "spaces"
|
16
|
-
Then "images/Read me (example).txt" should exist
|
17
|
-
Then "images/Child folder/regular_file(example).txt" should exist
|
18
|
-
And cleanup built test
|
5
|
+
Given a built app at "test-app"
|
6
|
+
Then "index.html" should exist at "test-app" and include "Comment in layout"
|
7
|
+
Then "javascripts/coffee_test.js" should exist at "test-app" and include "Array.prototype.slice"
|
8
|
+
Then "index.html" should exist at "test-app" and include "<h1>Welcome</h1>"
|
9
|
+
Then "static.html" should exist at "test-app" and include "Static, no code!"
|
10
|
+
Then "services/index.html" should exist at "test-app" and include "Services"
|
11
|
+
Then "stylesheets/site.css" should exist at "test-app" and include "html, body, div, span"
|
12
|
+
Then "stylesheets/site_scss.css" should exist at "test-app" and include "html, body, div, span"
|
13
|
+
Then "stylesheets/static.css" should exist at "test-app" and include "body"
|
14
|
+
Then "_partial.html" should not exist at "test-app"
|
15
|
+
Then "spaces in file.html" should exist at "test-app" and include "spaces"
|
16
|
+
Then "images/Read me (example).txt" should exist at "test-app"
|
17
|
+
Then "images/Child folder/regular_file(example).txt" should exist at "test-app"
|
18
|
+
And cleanup built app at "test-app"
|
19
19
|
|
20
20
|
Scenario: Force relative assets
|
21
21
|
Given a built test app with flags "--relative"
|
22
|
-
Then "stylesheets/relative_assets.css" should exist and include "../"
|
23
|
-
And cleanup built test
|
22
|
+
Then "stylesheets/relative_assets.css" should exist at "test-app" and include "../"
|
23
|
+
And cleanup built app at "test-app"
|
@@ -3,24 +3,24 @@ Feature: Generate mtime-based query string for busting browser caches
|
|
3
3
|
|
4
4
|
Scenario: Rendering css with the feature disabled
|
5
5
|
Given "cache_buster" feature is "disabled"
|
6
|
-
And the Server is running
|
6
|
+
And the Server is running at "test-app"
|
7
7
|
When I go to "/stylesheets/relative_assets.css"
|
8
8
|
Then I should not see "?"
|
9
9
|
|
10
10
|
Scenario: Rendering html with the feature disabled
|
11
11
|
Given "cache_buster" feature is "disabled"
|
12
|
-
And the Server is running
|
12
|
+
And the Server is running at "test-app"
|
13
13
|
When I go to "/cache-buster.html"
|
14
14
|
Then I should not see "?"
|
15
15
|
|
16
16
|
Scenario: Rendering css with the feature enabled
|
17
17
|
Given "cache_buster" feature is "enabled"
|
18
|
-
And the Server is running
|
18
|
+
And the Server is running at "test-app"
|
19
19
|
When I go to "/stylesheets/relative_assets.css"
|
20
20
|
Then I should see "?"
|
21
21
|
|
22
22
|
Scenario: Rendering html with the feature enabled
|
23
23
|
Given "cache_buster" feature is "enabled"
|
24
|
-
And the Server is running
|
24
|
+
And the Server is running at "test-app"
|
25
25
|
When I go to "/cache-buster.html"
|
26
26
|
Then I should not see "?"
|
@@ -2,16 +2,16 @@ Feature: Support coffee-script
|
|
2
2
|
In order to offer an alternative when writing Javascript
|
3
3
|
|
4
4
|
Scenario: Rendering coffee script
|
5
|
-
Given the Server is running
|
5
|
+
Given the Server is running at "test-app"
|
6
6
|
When I go to "/javascripts/coffee_test.js"
|
7
7
|
Then I should see "Array.prototype.slice"
|
8
8
|
|
9
9
|
Scenario: Rendering coffee-script with :coffeescript haml-filter
|
10
|
-
Given the Server is running
|
10
|
+
Given the Server is running at "test-app"
|
11
11
|
When I go to "/inline-coffeescript.html"
|
12
12
|
Then I should see "Array.prototype.slice"
|
13
13
|
|
14
14
|
Scenario: Rendering broken coffee
|
15
|
-
Given the Server is running
|
15
|
+
Given the Server is running at "test-app"
|
16
16
|
When I go to "/javascripts/broken-coffee.js"
|
17
17
|
Then I should see "Reserved word"
|
data/features/data.feature
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
Feature: Directory Index
|
2
|
+
In order output Apache-friendly directories and indexes
|
3
|
+
|
4
|
+
Scenario: Checking built folder for content
|
5
|
+
Given a built app at "indexable-app"
|
6
|
+
Then "needs_index/index.html" should exist at "indexable-app" and include "Indexable"
|
7
|
+
Then "a_folder/needs_index/index.html" should exist at "indexable-app" and include "Indexable"
|
8
|
+
Then "leave_me_alone.html" should exist at "indexable-app" and include "Stay away"
|
9
|
+
Then "needs_index.html" should not exist at "indexable-app"
|
10
|
+
Then "a_folder/needs_index.html" should not exist at "indexable-app"
|
11
|
+
Then "leave_me_alone/index.html" should not exist at "indexable-app"
|
12
|
+
And cleanup built app at "indexable-app"
|
13
|
+
|
14
|
+
Scenario: Preview normal file
|
15
|
+
Given the Server is running at "indexable-app"
|
16
|
+
When I go to "/needs_index/"
|
17
|
+
Then I should see "Indexable"
|
18
|
+
|
19
|
+
Scenario: Preview normal file subdirectory
|
20
|
+
Given the Server is running at "indexable-app"
|
21
|
+
When I go to "/a_folder/needs_index/"
|
22
|
+
Then I should see "Indexable"
|
23
|
+
|
24
|
+
Scenario: Preview ignored file
|
25
|
+
Given the Server is running at "indexable-app"
|
26
|
+
When I go to "/leave_me_alone/"
|
27
|
+
Then I should see "File Not Found"
|
@@ -2,23 +2,32 @@ Feature: Dynamic Pages
|
|
2
2
|
In order to use a single view to generate multiple output files
|
3
3
|
|
4
4
|
Scenario: Checking built folder for content
|
5
|
-
Given a built test
|
6
|
-
Then "fake.html" should exist and include "I am real"
|
7
|
-
Then "fake/one.html" should exist and include "I am real: one"
|
8
|
-
Then "fake/two.html" should exist and include "I am real: two"
|
9
|
-
|
5
|
+
Given a built app at "test-app"
|
6
|
+
Then "fake.html" should exist at "test-app" and include "I am real"
|
7
|
+
Then "fake/one.html" should exist at "test-app" and include "I am real: one"
|
8
|
+
Then "fake/two.html" should exist at "test-app" and include "I am real: two"
|
9
|
+
Then "target_ignore.html" should exist at "test-app" and include "Ignore me"
|
10
|
+
Then "should_be_ignored.html" should not exist at "test-app"
|
11
|
+
Then "should_be_ignored2.html" should not exist at "test-app"
|
12
|
+
Then "should_be_ignored3.html" should not exist at "test-app"
|
13
|
+
And cleanup built app at "test-app"
|
10
14
|
|
11
15
|
Scenario: Preview basic proxy
|
12
|
-
Given the Server is running
|
16
|
+
Given the Server is running at "test-app"
|
13
17
|
When I go to "/fake.html"
|
14
18
|
Then I should see "I am real"
|
15
19
|
|
16
20
|
Scenario: Preview proxy with variable one
|
17
|
-
Given the Server is running
|
21
|
+
Given the Server is running at "test-app"
|
18
22
|
When I go to "/fake/one.html"
|
19
23
|
Then I should see "I am real: one"
|
20
24
|
|
21
25
|
Scenario: Preview proxy with variable two
|
22
|
-
Given the Server is running
|
26
|
+
Given the Server is running at "test-app"
|
23
27
|
When I go to "/fake/two.html"
|
24
|
-
Then I should see "I am real: two"
|
28
|
+
Then I should see "I am real: two"
|
29
|
+
|
30
|
+
Scenario: Preview ignored paths
|
31
|
+
Given the Server is running at "test-app"
|
32
|
+
When I go to "/should_be_ignored.html"
|
33
|
+
Then I should see "File Not Found"
|
@@ -2,26 +2,26 @@ Feature: Built-in auto_javascript_include_tag view helper
|
|
2
2
|
In order to simplify including javascript files
|
3
3
|
|
4
4
|
Scenario: Viewing the root path
|
5
|
-
Given the Server is running
|
5
|
+
Given the Server is running at "test-app"
|
6
6
|
When I go to "/auto-js.html"
|
7
7
|
Then I should see "javascripts/auto-js.js"
|
8
8
|
|
9
9
|
Scenario: Viewing a tier-1 path
|
10
|
-
Given the Server is running
|
10
|
+
Given the Server is running at "test-app"
|
11
11
|
When I go to "/auto-js/auto-js.html"
|
12
12
|
Then I should see "javascripts/auto-js/auto-js.js"
|
13
13
|
|
14
14
|
Scenario: Viewing the index file of a tier-1 path, without filename
|
15
|
-
Given the Server is running
|
15
|
+
Given the Server is running at "test-app"
|
16
16
|
When I go to "/auto-js"
|
17
17
|
Then I should see "javascripts/auto-js/index.js"
|
18
18
|
|
19
19
|
Scenario: Viewing the index file of a tier-1 path, without filename, with a trailing slash
|
20
|
-
Given the Server is running
|
20
|
+
Given the Server is running at "test-app"
|
21
21
|
When I go to "/auto-js/"
|
22
22
|
Then I should see "javascripts/auto-js/index.js"
|
23
23
|
|
24
24
|
Scenario: Viewing a tier-2 path
|
25
|
-
Given the Server is running
|
25
|
+
Given the Server is running at "test-app"
|
26
26
|
When I go to "/auto-js/sub/auto-js.html"
|
27
27
|
Then I should see "javascripts/auto-js/sub/auto-js.js"
|
@@ -2,26 +2,26 @@ Feature: Built-in auto_stylesheet_link_tag view helper
|
|
2
2
|
In order to simplify including css files
|
3
3
|
|
4
4
|
Scenario: Viewing the root path
|
5
|
-
Given the Server is running
|
5
|
+
Given the Server is running at "test-app"
|
6
6
|
When I go to "/auto-css.html"
|
7
7
|
Then I should see "stylesheets/auto-css.css"
|
8
8
|
|
9
9
|
Scenario: Viewing a tier-1 path
|
10
|
-
Given the Server is running
|
10
|
+
Given the Server is running at "test-app"
|
11
11
|
When I go to "/auto-css/auto-css.html"
|
12
12
|
Then I should see "stylesheets/auto-css/auto-css.css"
|
13
13
|
|
14
14
|
Scenario: Viewing the index file of a tier-1 path, without filename
|
15
|
-
Given the Server is running
|
15
|
+
Given the Server is running at "test-app"
|
16
16
|
When I go to "/auto-css"
|
17
17
|
Then I should see "stylesheets/auto-css/index.css"
|
18
18
|
|
19
19
|
Scenario: Viewing the index file of a tier-1 path, without filename, with a trailing slash
|
20
|
-
Given the Server is running
|
20
|
+
Given the Server is running at "test-app"
|
21
21
|
When I go to "/auto-css/"
|
22
22
|
Then I should see "stylesheets/auto-css/index.css"
|
23
23
|
|
24
24
|
Scenario: Viewing a tier-2 path
|
25
|
-
Given the Server is running
|
25
|
+
Given the Server is running at "test-app"
|
26
26
|
When I go to "/auto-css/sub/auto-css.html"
|
27
27
|
Then I should see "stylesheets/auto-css/sub/auto-css.css"
|
@@ -2,16 +2,16 @@ Feature: Built-in page_classes view helper
|
|
2
2
|
In order to generate body classes for views
|
3
3
|
|
4
4
|
Scenario: Viewing the root path
|
5
|
-
Given the Server is running
|
5
|
+
Given the Server is running at "test-app"
|
6
6
|
When I go to "/page-classes.html"
|
7
7
|
Then I should see "page-classes"
|
8
8
|
|
9
9
|
Scenario: Viewing a tier-1 path
|
10
|
-
Given the Server is running
|
10
|
+
Given the Server is running at "test-app"
|
11
11
|
When I go to "/sub1/page-classes.html"
|
12
12
|
Then I should see "sub1 sub1_page-classes"
|
13
13
|
|
14
14
|
Scenario: Viewing a tier-2 path
|
15
|
-
Given the Server is running
|
15
|
+
Given the Server is running at "test-app"
|
16
16
|
When I go to "/sub1/sub2/page-classes.html"
|
17
17
|
Then I should see "sub1 sub1_sub2 sub1_sub2_page-classes"
|