// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import "package:expect/expect.dart"; class Conster { const Conster(this.value); final value; toString() { return value.toString(); } } main() { testEmpty(); testInterpolation(); testMultiline(); } testEmpty() { Expect.equals("", (const Conster("" "" "")).toString()); Expect.equals("", (const Conster("" '' "")).toString()); Expect.equals("", (const Conster("" "" r"")).toString()); Expect.equals("a", (const Conster("a" "")).toString()); Expect.equals("a", (const Conster("a" '')).toString()); Expect.equals("a", (const Conster("a" r'')).toString()); Expect.equals("b", (const Conster('b' "")).toString()); Expect.equals("b", (const Conster('b' '')).toString()); Expect.equals("b", (const Conster('b' r'')).toString()); Expect.equals("c", (const Conster(r'c' "")).toString()); Expect.equals("c", (const Conster(r'c' '')).toString()); Expect.equals("c", (const Conster(r'c' r'')).toString()); Expect.equals("a", (const Conster("" "a")).toString()); Expect.equals("a", (const Conster("" 'a')).toString()); Expect.equals("a", (const Conster("" r'a')).toString()); Expect.equals("b", (const Conster('' "b")).toString()); Expect.equals("b", (const Conster('' 'b')).toString()); Expect.equals("b", (const Conster('' r'b')).toString()); Expect.equals("c", (const Conster(r'' "c")).toString()); Expect.equals("c", (const Conster(r'' 'c')).toString()); Expect.equals("c", (const Conster(r'' r'c')).toString()); } const s = "a"; testInterpolation() { Expect.equals(r"ab", (const Conster("$s" "b")).toString()); Expect.equals(r"ab", (const Conster('$s' "b")).toString()); Expect.equals(r"$sb", (const Conster(r'$s' "b")).toString()); Expect.equals(r"-a-b", (const Conster("-$s-" "b")).toString()); Expect.equals(r"-a-b", (const Conster('-$s-' "b")).toString()); Expect.equals(r"-$s-b", (const Conster(r'-$s-' "b")).toString()); Expect.equals(r"ba", (const Conster('b' "$s")).toString()); Expect.equals(r"ba", (const Conster('b' '$s')).toString()); Expect.equals(r"b$s", (const Conster('b' r'$s')).toString()); Expect.equals(r"b-a-", (const Conster('b' "-$s-")).toString()); Expect.equals(r"b-a-", (const Conster('b' '-$s-')).toString()); Expect.equals(r"b-$s-", (const Conster('b' r'-$s-')).toString()); } testMultiline() { Expect.equals( "abe", (const Conster("a" "b" "e")) .toString()); Expect.equals( "a b e", (const Conster("a " "b " "e")) .toString()); Expect.equals( "a b e", (const Conster("a" " b" " e")) .toString()); Expect.equals( "abe", (const Conster(""" a""" "b" "e")) .toString()); Expect.equals( "a b e", (const Conster(""" a""" " b" " e")) .toString()); Expect.equals( "abe", (const Conster(""" a""" """ b""" """ e""")) .toString()); }