groovy git commit: addendum to pr#661 move the examples in question into a test, so they will stay correct

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

groovy git commit: addendum to pr#661 move the examples in question into a test, so they will stay correct

paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X cd996ec19 -> 1319e646d


addendum to pr#661 move the examples in question into a test, so they will stay correct


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/1319e646
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/1319e646
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/1319e646

Branch: refs/heads/GROOVY_2_6_X
Commit: 1319e646d52f666a16c7c5437b3cb2e7530cd8cb
Parents: cd996ec
Author: paulk <[hidden email]>
Authored: Mon Feb 12 11:55:53 2018 +1000
Committer: paulk <[hidden email]>
Committed: Mon Feb 12 11:57:08 2018 +1000

----------------------------------------------------------------------
 src/spec/doc/style-guide.adoc       | 35 +-----------------
 src/spec/test/StyleGuideTest.groovy | 61 ++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/1319e646/src/spec/doc/style-guide.adoc
----------------------------------------------------------------------
diff --git a/src/spec/doc/style-guide.adoc b/src/spec/doc/style-guide.adoc
index 9b0cfd8..828e628 100644
--- a/src/spec/doc/style-guide.adoc
+++ b/src/spec/doc/style-guide.adoc
@@ -486,40 +486,7 @@ Here are some examples of those native constructs:
 
 [source,groovy]
 ----
-def list = [1, 4, 6, 9]
-
-// by default, keys are Strings, no need to quote them
-// you can wrap keys with () like [(variableStateAcronym): stateName] to insert a variable or object as a key.
-def map = [CA: 'California', MI: 'Michigan']
-
-// ranges can be inclusive and exclusive
-def range = 10..20 // inclusive
-assert range.size() == 11
-// use brackets if you need to call a method on a range definition
-assert (10..<20).size() == 10 // exclusive
-
-def pattern = ~/fo*/
-
-// equivalent to add()
-list << 5
-
-// call contains()
-assert 4 in list
-assert 5 in list
-assert 15 in range
-
-// subscript notation
-assert list[1] == 4
-
-// add a new key value pair
-map << [WA: 'Washington']
-// subscript notation
-assert map['CA'] == 'California'
-// property notation
-assert map.WA == 'Washington'
-
-// matches() strings against patterns
-assert 'foo' ==~ pattern
+include::{projectdir}/src/spec/test/StyleGuideTest.groovy[tags=data_structures,indent=0]
 ----
 
 == The Groovy Development Kit

http://git-wip-us.apache.org/repos/asf/groovy/blob/1319e646/src/spec/test/StyleGuideTest.groovy
----------------------------------------------------------------------
diff --git a/src/spec/test/StyleGuideTest.groovy b/src/spec/test/StyleGuideTest.groovy
new file mode 100644
index 0000000..9dd9dd2
--- /dev/null
+++ b/src/spec/test/StyleGuideTest.groovy
@@ -0,0 +1,61 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+import gls.CompilableTestSupport
+
+class StyleGuideTest extends CompilableTestSupport {
+
+    void testDataStructures() {
+        // tag::data_structures[]
+        def list = [1, 4, 6, 9]
+
+        // by default, keys are Strings, no need to quote them
+        // you can wrap keys with () like [(variableStateAcronym): stateName] to insert a variable or object as a key.
+        def map = [CA: 'California', MI: 'Michigan']
+
+        // ranges can be inclusive and exclusive
+        def range = 10..20 // inclusive
+        assert range.size() == 11
+        // use brackets if you need to call a method on a range definition
+        assert (10..<20).size() == 10 // exclusive
+
+        def pattern = ~/fo*/
+
+        // equivalent to add()
+        list << 5
+
+        // call contains()
+        assert 4 in list
+        assert 5 in list
+        assert 15 in range
+
+        // subscript notation
+        assert list[1] == 4
+
+        // add a new key value pair
+        map << [WA: 'Washington']
+        // subscript notation
+        assert map['CA'] == 'California'
+        // property notation
+        assert map.WA == 'Washington'
+
+        // matches() strings against patterns
+        assert 'foo' ==~ pattern
+        // end::data_structures[]
+    }
+}