// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/**
 * Single line comments can not contain CARRIAGE RETURN (U+000D) inside
 *
 * @path ch07/7.3/S7.3_A3.2_T3.js
 * @description Insert real CARRIAGE RETURN into single line comment
 * @negative
 */

// CHECK#1
//single 
line comment

